コード例 #1
0
        private static void GetGoodIssues(LOG_CHANGES changeset)
        {
            var gi = WebApiClient.GetGoodIssue(changeset.ListVal).Result;

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

            var db = ContextFactory.GetDBContext();

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

            var localId = db.OIGE_GoodsIssues.Include(c => c.IGE1_GoodsIssueDetail)
                          .FirstOrDefault(c => c.IdGoodIssueL == changeset.IdL.Value);

            var localDE = db.OIGE_GoodsIssues.Include(c => c.IGE1_GoodsIssueDetail)
                          .FirstOrDefault(c => c.DocEntry == id);

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

            //db.LOG_CHANGES.Add(changeset);
            changeset.AddChangeset();
        }
コード例 #2
0
 public override void ExecuteDelete()
 {
     if (SelectedGoodsIssues != null && ConfirmDelete())
     {
         GoodIssuesHelper.DeleteGoodsReceipt(SelectedGoodsIssues);
         SaveChanges();
         GoodsIssueses.Remove(SelectedGoodsIssues);
     }
 }
コード例 #3
0
        private static OIGE_GoodsIssues SyncUpload(OIGE_GoodsIssues good)
        {
            var result = WebApiClient.AddGoodIssue(good).Result;

            good.UpdateModelPropertiesFrom(result.Model);
            good.StateL = LocalStatus.Procesado;
            result.UpdateEntityVersion();
            GoodIssuesHelper.SaveTransaction(good);
            return(good);
        }
コード例 #4
0
 public static OIGE_GoodsIssues Synchronize(OIGE_GoodsIssues model)
 {
     CheckForUpdates();// Actualizar cambios antes de subir y verificar si el objeto no fue ya procesado
     model = GoodIssuesHelper.Get(model.IdGoodIssueL);
     if (model.StateL != LocalStatus.Procesado)
     {
         return(model.Upload(SyncUpload));
     }
     else
     {
         return(model);
     }
 }
コード例 #5
0
        private bool SaveDetailsChanges(bool forceRefreshItemsource = true)
        {
            if (!ConfirmDialog("Desea Guardar Los Cambios", "Guardar"))
            {
                UndoChanges();
                return(false);
            }

            var isnotValid = GoodsIssuesDetails.ToList().Any(d =>
            {
                if (d.Quantity > d.OnHand)
                {
                    ErrorMessage =
                        string.Format(
                            "El Articulo : {0} Codigo {1} ,Quedara en Negativo",
                            d.Dscription, d.ItemCode);
                    ShowErrorMessageBox(ErrorMessage);
                    return(true);
                }
                else
                {
                    ErrorMessage = string.Empty;
                    return(false);
                }
            });

            if (isnotValid)
            {
                return(false);
            }
            if (SelectedGoodsIssues != null && SelectedGroup != null && SelectedMovement != null)
            {
                var needUpdate = GoodIssuesHelper.SaveDetails(SelectedGoodsIssues, SelectedGroup, SelectedMovement);

                if (needUpdate)
                {
                    GoodsIssuesDetails.ToList().ForEach(d => SelectedGoodsIssues.IGE1_GoodsIssueDetail.Add(d));
                }
            }

            ViewModelManager.CloseModal();
            if (forceRefreshItemsource)
            {
                ForceRefresh = true;
                RaisePropertyChanged("GoodsIssueses");
            }
            return(true);
        }