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