private static OPCH_Purchase SyncUpload(OPCH_Purchase purchase) { var result = WebApiClient.AddPurchase(purchase).Result; purchase.UpdateModelPropertiesFrom(result.Model); purchase.StateL = LocalStatus.Procesado; result.UpdateEntityVersion(); PurchaseHelper.SaveTransaction(purchase); return(purchase); }
private static void GetPurchaseFromServer(LOG_CHANGES changeset) { var purchase = WebApiClient.GetPurchase(changeset.ListVal).Result; var db = ContextFactory.GetDBContext(); var id = Convert.ToInt32(changeset.ListVal); var localId = db.OPCH_Purchase.Include(c => c.PCH1_PurchaseDetail) .FirstOrDefault(c => c.IdPurchase == changeset.IdL.Value); var localDE = db.OPCH_Purchase.Include(c => c.PCH1_PurchaseDetail) .FirstOrDefault(c => c.DocEntry == id); if (changeset.IdL.HasValue) // C1 { if (localId == null) // C3 { db.OPCH_Purchase.Add(purchase); PurchaseHelper.SaveTransaction(purchase); } else { if (localId.StateL == LocalStatus.Procesado) // C4 { if (localDE == null || localDE.DocEntry != localId.DocEntry) // C5 { db.OPCH_Purchase.Add(purchase); PurchaseHelper.SaveTransaction(purchase); } else { localId.UpdateModelPropertiesFrom(purchase); } } else { localId.UpdateModelPropertiesFrom(purchase); PurchaseHelper.SaveTransaction(purchase); } } } else // C2 -- El Idl no contenia un valor { if (localDE == null) { db.OPCH_Purchase.Add(purchase); PurchaseHelper.SaveTransaction(purchase); } } // db.LOG_CHANGES.Add(changeset); changeset.AddChangeset(); }