Пример #1
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();
        }
Пример #2
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);
        }