示例#1
0
        internal async Task SaveDocumentItem(AsycudaDocumentItem asycudaDocumentItem)
        {
            await
            AsycudaDocumentItemRepository.Instance.SaveAsycudaDocumentItem(new AsycudaDocumentItem(asycudaDocumentItem.ChangeTracker.GetChanges().FirstOrDefault()))
            .ConfigureAwait(false);

            MessageBox.Show("Complete");
        }
示例#2
0
 public async Task SaveAsycudaDocumentItem(AsycudaDocumentItem i)
 {
     if (i == null)
     {
         return;
     }
     using (var ctx = new AsycudaDocumentItemService())
     {
         await ctx.UpdateAsycudaDocumentItem(i).ConfigureAwait(false);
     }
 }
        public async Task ReLinkPi2Item()
        {
            StatusModel.Timer("Getting Previous Items");
            List <xcuda_PreviousItem> piLst = null;

            using (var ctx = new xcuda_PreviousItemService())
            {
                piLst = (await ctx.Getxcuda_PreviousItem(new List <string>()
                {
                    "xcuda_Item.AsycudaDocument",
                    "xcuda_Item.EX"
                }).ConfigureAwait(false)).ToList();
            }
            StatusModel.StartStatusUpdate("Re Linking PI to Items", piLst.Count());


            // foreach (var pi in piLst
            piLst.AsParallel(new ParallelLinqOptions()
            {
                MaxDegreeOfParallelism = Environment.ProcessorCount * 2
            })
            .ForAll(pi =>
                    //  .Where(x => x.Prev_reg_nbr == "39560" && x.Previous_item_number == "25"

            {
                var bl = String.Format("{0} {1} C {2} art. {3}", pi.Prev_reg_cuo,
                                       pi.Prev_reg_dat,
                                       pi.Prev_reg_nbr, pi.Previous_item_number);
                // find original row
                if (pi.PreviousItem_Id != 0)
                {
                    var pLineNo = Convert.ToInt32(pi.Previous_item_number);
                    // get document

                    xcuda_ASYCUDA pdoc = null;

                    pdoc = BaseDataModel._documentCache.Data.Where(
                        x => x.xcuda_Identification.xcuda_Registration.Number == pi.Prev_reg_nbr)
                           .AsEnumerable()
                           .FirstOrDefault(
                        x =>
                        DateTime.Parse(x.xcuda_Identification.xcuda_Registration.Date).Year.ToString() ==
                        pi.Prev_reg_dat);

                    if (pdoc == null)
                    {
                        //MessageBox.Show(
                        //    string.Format("You need to import Previous Document '{0}' before importing this Ex9 '{1}'",
                        //        pi.Prev_reg_nbr, pi.xcuda_Item.AsycudaDocument.CNumber));
                        return; // continue;
                    }
                    AsycudaDocumentItem Originalitm = null;

                    Originalitm = BaseDataModel._documentItemCache.Data.FirstOrDefault(
                        x =>
                        pi.xcuda_Item != null && pi.xcuda_Item.ItemCost != null && pi.xcuda_Item.ItemNumber != null &&
                        (x.ItemNumber != null && x.ItemNumber.Contains(
                             pi.xcuda_Item.ItemNumber) &&
                         x.LineNumber == pLineNo &&
                         x.AsycudaDocumentId == pdoc.ASYCUDA_Id));



                    if (Originalitm != null)
                    {
                        if (pi.xcuda_Items.Any(x => x.Item_Id == Originalitm.Item_Id) == false &&
                            Originalitm.PreviousItems.Any(x => x.PreviousItem_Id == pi.PreviousItem_Id) == false)
                        {
                            var epi = new EntryPreviousItems()
                            {
                                PreviousItem_Id = pi.PreviousItem_Id,
                                Item_Id         = Originalitm.Item_Id,
                                TrackingState   = TrackingState.Added
                            };
                            // await DocumentItemDS.ViewModels.BaseDataModel.Instance.SaveEntryPreviousItems(epi).ConfigureAwait(false);
                            DocumentItemDS.DataModels.BaseDataModel.Instance.SaveEntryPreviousItems(epi).Wait();
                        }
                    }
                    else
                    {
                        //MessageBox.Show(
                        //    string.Format("Item Not found {0} line: {1} PrevCNumber: {2} CNumber: {3}",
                        //        pi.xcuda_Item.EX.Precision_4, pLineNo, pdoc.xcuda_Identification.xcuda_Registration.Number,
                        //        pi.xcuda_Item.AsycudaDocument.CNumber));
                    }
                }
                else
                {
                    throw new ApplicationException(string.Format("Item Not found {0}, LineNo:-{1}",
                                                                 bl, pi.Current_item_number));
                }
                StatusModel.StatusUpdate();
            }
                    );
        }
 public async Task <AsycudaDocumentItem> CreateAsycudaDocumentItem(AsycudaDocumentItem entity)
 {
     return(await Channel.CreateAsycudaDocumentItem(entity).ConfigureAwait(false));
 }
示例#5
0
 public async Task SaveAsycudaDocumentItem(AsycudaDocumentItem asycudaDocumentItem)
 {
     await Channel.SaveAsycudaDocumentItem(asycudaDocumentItem).ConfigureAwait(false);
 }
 public async Task SaveAsycudaDocumentItem(AsycudaDocumentItem asycudaDocumentItem)
 {
     await
     WaterNut.DataSpace.BaseDataModel.Instance.SaveAsycudaDocumentItem(asycudaDocumentItem)
     .ConfigureAwait(false);
 }