You have to use the overload of the proc call method which accepts an adapter
Otherwise it will create a new one and will of course use the default timeout. So set the timeout and then pass it to the overload:
using (DataAccessAdapter adapter = new DataAccessAdapter()) {
adapter.CommandTimeOut = 120;
InvoiceEntity Invoice = new InvoiceEntity();
Invoice.IsNew = true;
Invoice.Locked = 0;
VSIMSMasterPage daMasterPage = (VSIMSMasterPage)this.Master;
Invoice.YearId = YearID;
Invoice.orgId = daMasterPage.CurUserOrg.OrgId;
Invoice.InvoiceMonth = month;
Invoice.InvoiceType = InvoiceType.District.ToString();
Invoice.Status = InvoiceStatus.New.ToString();
Invoice.CreatedBy = Page.User.Identity.Name;
Invoice.ModifiedBy = null;
adapter.SaveEntity(Invoice, true);
ActionProcedures.InvoiceDataCollection(Invoice.InvoiceId**, adapter**);
}
You can set the timeout whenever you like, it's not necessary to set it before the connection is opened, as this timeout is for commands, which are created on the fly. Setting it right after the using statement of course also uses this timeout for the SaveEntity call.