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"); } }
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); } }
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); }
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); }