Esempio n. 1
0
        public static void SaveTransaction(ORPC_SupplierCreditNotes obj)
        {
            lock (Extensions.Locker)
            {
                var db = ContextFactory.GetDBContext();

                var transfers = obj.RPC1_SupplierCreditNoteDetail.Select(t => new OINM_Transaction(obj, t)).ToList();

                transfers.ForEach(t => db.OINM_Transaction.Add(t));

                ContextFactory.SaveChanges();

                //Actualizar existencias

                //var articles = (from detail in obj.RPC1_SupplierCreditNoteDetail
                //                join article in db.OITW_BranchArticles on detail.ItemCode equals article.ItemCode
                //                where article.WhsCode == detail.WhsCode
                //                select article).ToList();

                //articles.ForEach(a =>
                //{
                //    var detail = obj.RPC1_SupplierCreditNoteDetail.FirstOrDefault(d => d.ItemCode == a.ItemCode);
                //    a.OnHand = a.OnHand - detail.Quantity;
                //    a.OnHand1 = a.OnHand1 - detail.Quantity;
                //});

                //ContextFactory.SaveChanges();

                StoredCallbackProcessor.UpdateStock();
            }
        }
Esempio n. 2
0
        private static ORPC_SupplierCreditNotes SyncUpload(ORPC_SupplierCreditNotes note)
        {
            var result = WebApiClient.AddCreditNote(note).Result;

            note.UpdateModelPropertiesFrom(result.Model);
            note.StateL = LocalStatus.Procesado;
            result.UpdateEntityVersion();
            SupplierCreditNoteHelper.SaveTransaction(note);
            return(note);
        }
Esempio n. 3
0
 public static void Add(ORPC_SupplierCreditNotes creditNote)
 {
     lock (Extensions.Locker)
     {
         var db = ContextFactory.GetDBContext();
         using (var scope = new TransactionScope())
         {
             db.ORPC_SupplierCreditNotes.Add(creditNote);
             db.SaveChanges();
             scope.Complete();
         }
     }
 }
Esempio n. 4
0
 public static ORPC_SupplierCreditNotes Synchronize(ORPC_SupplierCreditNotes model)
 {
     CheckForUpdates();// Actualizar cambios antes de subir y verificar si el objeto no fue ya procesado
     model = SupplierCreditNoteHelper.Get(model.IdSupplierCreditNote);
     if (model.StateL != LocalStatus.Procesado)
     {
         return(model.Upload(SyncUpload));
     }
     else
     {
         return(model);
     }
 }
Esempio n. 5
0
        //public static void Update()
        //{
        //    lock (Extensions.Locker)
        //    {

        //        var db = ContextFactory.GetDBContext();
        //        using (var scope = new TransactionScope())
        //        {
        //            db.SaveChanges();
        //            scope.Complete();
        //        }
        //    }
        //}

        public static void Delete(ORPC_SupplierCreditNotes creditNote)
        {
            lock (Extensions.Locker)
            {
                var db = ContextFactory.GetDBContext();
                using (var scope = new TransactionScope())
                {
                    creditNote.RPC1_SupplierCreditNoteDetail.ToList().ForEach(t => db.RPC1_SupplierCreditNoteDetail.Remove(t));
                    db.ORPC_SupplierCreditNotes.Remove(creditNote);
                    db.SaveChanges();
                    scope.Complete();
                }
            }
        }
Esempio n. 6
0
 public static Task <Synchro <ORPC_SupplierCreditNotes> > AddCreditNote(ORPC_SupplierCreditNotes creditNote)
 {
     return(PostAsync <ORPC_SupplierCreditNotes, Synchro <ORPC_SupplierCreditNotes> >("api/SupplierCreditNotes", creditNote));
 }