public void SaveNewChanges(bool isAsync = false)
        {
            if (!isAsync)
            {
                if (!ConfirmDialog("Desea Guardar Los Cambios", "Guardar"))
                {
                    UndoChanges();
                    return;
                }
            }

            var needUpdate = GoodsReceiptHelper.SaveNewDetailsCommand(SelectedGoodsReceipt, SelectedGroup, SelectedMovement);

            if (needUpdate)
            {
                GoodsReceiptsDetails.ToList().ForEach(d => SelectedGoodsReceipt.IGN1_GoodsReceiptDetail.Add(d));
            }

            if (!isAsync)
            {
                ViewModelManager.CloseModal();
                ForceRefresh = true;
                RaisePropertyChanged("GoodsReceipts");
            }
        }
Ejemplo n.º 2
0
        private static void GetGoodReceipts(LOG_CHANGES changeset)
        {
            var receipt = WebApiClient.GetGoodReceipt(changeset.ListVal).Result;

            if (receipt == null)
            {
                return;
            }
            receipt.StateL = LocalStatus.Procesado;

            var db = ContextFactory.GetDBContext();

            var id = Convert.ToInt32(changeset.ListVal);

            var localId = db.OIGN_GoodsReceipt.Include(c => c.IGN1_GoodsReceiptDetail)
                          .FirstOrDefault(c => c.IdGoodReceiptL == changeset.IdL.Value);

            var localDE = db.OIGN_GoodsReceipt.Include(c => c.IGN1_GoodsReceiptDetail)
                          .FirstOrDefault(c => c.DocEntry == id);

            if (changeset.IdL.HasValue) // C1
            {
                if (localId == null)    // C3
                {
                    db.OIGN_GoodsReceipt.Add(receipt);
                    GoodsReceiptHelper.SaveTransaction(receipt);
                }
                else
                {
                    if (localId.StateL == LocalStatus.Procesado)                     // C4
                    {
                        if (localDE == null || localDE.DocEntry != localId.DocEntry) // C5
                        {
                            db.OIGN_GoodsReceipt.Add(receipt);
                            GoodsReceiptHelper.SaveTransaction(receipt);
                        }
                        else
                        {
                            localId.UpdateModelPropertiesFrom(receipt);
                        }
                    }
                    else
                    {
                        localId.UpdateModelPropertiesFrom(receipt);
                        GoodsReceiptHelper.SaveTransaction(receipt);
                    }
                }
            }
            else //  C2 -- El Idl no contenia un valor
            {
                if (localDE == null)
                {
                    db.OIGN_GoodsReceipt.Add(receipt);
                    GoodsReceiptHelper.SaveTransaction(receipt);
                }
            }

            //db.LOG_CHANGES.Add(changeset);
            changeset.AddChangeset();
        }
 public override void ExecuteDelete()
 {
     if (SelectedGoodsReceipt != null && ConfirmDelete())
     {
         GoodsReceiptHelper.DeleteGoodsReceipt(SelectedGoodsReceipt);
         SaveChanges();
         GoodsReceipts.Remove(SelectedGoodsReceipt);
     }
 }
Ejemplo n.º 4
0
        private static OIGN_GoodsReceipt SyncUpload(OIGN_GoodsReceipt receipt)
        {
            var result = WebApiClient.AddGoodReceipt(receipt).Result;

            receipt.UpdateModelPropertiesFrom(result.Model);
            receipt.StateL = LocalStatus.Procesado;
            result.UpdateEntityVersion();
            GoodsReceiptHelper.SaveTransaction(receipt);
            return(receipt);
        }
Ejemplo n.º 5
0
 public static OIGN_GoodsReceipt Synchronize(OIGN_GoodsReceipt model)
 {
     CheckForUpdates();// Actualizar cambios antes de subir y verificar si el objeto no fue ya procesado
     model = GoodsReceiptHelper.Get(model.IdGoodReceiptL);
     if (model.StateL != LocalStatus.Procesado)
     {
         return(model.Upload(SyncUpload));
     }
     else
     {
         return(model);
     }
 }
        private void Process()
        {
            IsBusy = true;

            if (SelectedGoodsReceipt == null || !ConfirmDialog("Confirma que desea procesar", "Confimar"))
            {
                UndoChanges();
                return;
            }
            ViewModelManager.CloseModal();
            ShowProcessLoader(this);
            AsyncHelper.DoAsync(() =>
            {
                GoodsReceiptHelper.SaveNewDetailsCommand(SelectedGoodsReceipt, SelectedGroup, SelectedMovement);
                SaveChanges();
                Synchronization.Synchronize(SelectedGoodsReceipt);
                ForceRefresh = true;
                RaisePropertyChanged("GoodsReceipts");
                IsBusy = false;
            }, ViewModelManager.CloseProcessLoader);
        }