public static int SavePLITSApprovedOrderToDatabase(int Status, int userID, int? plitsOrderID, int facilityID, int paymentType, int modeID, string remarks, string letterNumber, string contactPerson, BLL.OrderDetail _PLITSOrderDetail) { int hcmisorderid; MyGeneration.dOOdads.TransactionMgr mgr = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr(); try { mgr.BeginTransaction(); BLL.Order or = new BLL.Order(); or.AddNew(); or.RefNo = Order.GetNextOrderReference(); or.OrderTypeID = OrderType.CONSTANTS.PLITS; or.HCTSReferenceID = plitsOrderID.Value; or.OrderStatusID = Status; or.RequisitionTypeID = RequisitionType.CONSTANTS.DEMAND; or.Remark = remarks; or.EurDate = or.Date = DateTimeHelper.ServerDateTime; //Both fields are assigned dates. var institution = new Institution(); institution.LoadBySN(facilityID); or.RequestedBy = institution.ID; or.FilledBy = userID; or.LetterNo = letterNumber; or.PaymentTypeID = paymentType; or.ContactPerson = contactPerson; or.FromStore = modeID; or.FiscalYearID = FiscalYear.Current.ID; or.Save(); or.LogRequisitionStatus(or.ID,null,Status, CurrentContext.UserId); //Log OrderStatus change _PLITSOrderDetail.Rewind(); while (!_PLITSOrderDetail.EOF) { _PLITSOrderDetail.OrderID = or.ID; _PLITSOrderDetail.MoveNext(); } _PLITSOrderDetail.Save(); hcmisorderid = or.ID; //this.LogActivity("Save-Requisition", ord.ID); mgr.CommitTransaction(); } catch (Exception exp) { mgr.RollbackTransaction(); return 0; throw (exp); } //ResetOrder(); return hcmisorderid; }