Пример #1
0
 public void BackDatePO(Model.PurchaseOrder po)
 {
     using (var context = new SCMSEntities())
     {
         using (TransactionScope scope = new TransactionScope())
         {
             try
             {
                 //Get Current OR from DB
                 var currentPO = context.PurchaseOrders.FirstOrDefault(o => o.Id == po.Id);
                 //Initialize BackDate object
                 var backDate = new DocumentBackDating();
                 backDate.Id              = Guid.NewGuid();
                 backDate.BackDatedBy     = po.BackDatedBy;
                 backDate.BackDatedOn     = DateTime.Now;
                 backDate.NewDate         = po.PODate;
                 backDate.PurchaseOrderId = po.Id;
                 backDate.PreviousDate    = currentPO.PODate;
                 backDate.Reason          = po.BackDatingReason;
                 //Insert BackDate details into db
                 context.DocumentBackDatings.Add(backDate);
                 //Update date on OR in db
                 currentPO.PODate = po.PODate;
                 context.SaveChanges();
                 scope.Complete();
             }
             catch (Exception ex)
             {
                 scope.Dispose();
                 throw ex;
             }
         }
     }
 }
Пример #2
0
 public void BackDateOR(Model.OrderRequest or)
 {
     using (var context = new SCMSEntities())
     {
         using (TransactionScope scope = new TransactionScope())
         {
             try
             {
                 //Get Current OR from DB
                 var currentOR = context.OrderRequests.FirstOrDefault(o => o.Id == or.Id);
                 //Initialize BackDate object
                 var backDate = new DocumentBackDating();
                 backDate.Id             = Guid.NewGuid();
                 backDate.BackDatedBy    = or.BackDatedBy;
                 backDate.BackDatedOn    = DateTime.Now;
                 backDate.NewDate        = or.OrderDate.Value;
                 backDate.OrderRequestId = or.Id;
                 backDate.PreviousDate   = currentOR.OrderDate.Value;
                 backDate.Reason         = or.BackDatingReason;
                 //Insert BackDate details into db
                 context.DocumentBackDatings.Add(backDate);
                 //Update date on OR in db
                 currentOR.OrderDate = or.OrderDate;
                 context.SaveChanges();
                 scope.Complete();
                 ClearORSessionData();
             }
             catch (Exception ex)
             {
                 scope.Dispose();
                 throw ex;
             }
         }
     }
 }