コード例 #1
0
 public async Task SaveInventoryItem(InventoryItem i)
 {
     if (i == null)
     {
         return;
     }
     using (var ctx = new InventoryItemService())
     {
         await ctx.UpdateInventoryItem(i).ConfigureAwait(false);
     }
 }
コード例 #2
0
        private async Task ImportInventory(List <CSVDataSummary> eslst)
        {
            var itmlst = from i in eslst
                         group i by i.ItemNumber.ToUpper()
                         into g
                         select new { ItemNumber = g.Key, g.FirstOrDefault().ItemDescription, g.FirstOrDefault().TariffCode };

            using (var ctx = new InventoryItemService()
            {
                StartTracking = true
            })
            {
                foreach (var item in itmlst)
                {
                    var i =
                        await ctx.GetInventoryItemByKey(item.ItemNumber, null, true).ConfigureAwait(false);


                    if (i == null)
                    {
                        i = new InventoryItem(true)
                        {
                            Description   = item.ItemDescription,
                            ItemNumber    = item.ItemNumber,
                            TrackingState = TrackingState.Added
                        };
                        if (!string.IsNullOrEmpty(item.TariffCode))
                        {
                            i.TariffCode = item.TariffCode;
                        }
                        await ctx.CreateInventoryItem(i).ConfigureAwait(false);
                    }
                    else
                    {
                        i.StartTracking();
                        i.Description = item.ItemDescription;
                        if (!string.IsNullOrEmpty(item.TariffCode))
                        {
                            i.TariffCode = item.TariffCode;
                        }
                        await ctx.UpdateInventoryItem(i).ConfigureAwait(false);
                    }
                }
            }
        }
コード例 #3
0
        public async Task AssignTariffToItms(IEnumerable <string> lst, string tariffCode)
        {
            if (tariffCode == null)
            {
                throw new ApplicationException("Please Select TariffCode then Continue");
            }

            using (var ctx = new InventoryItemService())
            {
                foreach (string item in lst)
                {
                    var itm = await ctx.GetInventoryItemByKey(item).ConfigureAwait(false);

                    itm.TariffCode = tariffCode;
                    await ctx.UpdateInventoryItem(itm).ConfigureAwait(false);
                }
            }
        }
コード例 #4
0
        public static async Task AssignTariffToItms(IList list, TariffCode tariffCode)
        {
            if (tariffCode == null)
            {
                throw new ApplicationException("Please Select TariffCode then Continue");
            }
            using (var ctx = new InventoryItemService())
            {
                foreach (VirtualListItem <InventoryQS.Business.Entities.InventoryItemsEx> item in list)
                {
                    InventoryItem itm = await ctx.GetInventoryItemByKey(item.Data.ItemNumber);

                    item.Data.TariffCode = tariffCode.TariffCodeName;
                    itm.TariffCode       = tariffCode.TariffCodeName;
                    await ctx.UpdateInventoryItem(itm).ConfigureAwait(false);
                }
            }
        }
コード例 #5
0
ファイル: SaveTXT.cs プロジェクト: Alphaquest2005/WaterNut
 private async Task ImportInventory(IEnumerable <EntryData> elst)
 {
     try
     {
         var exceptions = new ConcurrentQueue <Exception>();
         itmList.AsParallel(new ParallelLinqOptions()
         {
             MaxDegreeOfParallelism = Environment.ProcessorCount
         }).ForAll(itm =>
         {
             try
             {
                 if (BaseDataModel.Instance.GetInventoryItem(x => x.ItemNumber == itm.ItemNumber) == null)
                 {
                     itm.TrackingState = TrackingState.Added;
                     using (var ctx = new InventoryItemService())
                     {
                         ctx.UpdateInventoryItem(itm).Wait();
                     }
                 }
                 else
                 {
                     itm.TrackingState = TrackingState.Modified;
                     using (var ctx = new InventoryItemService())
                     {
                         ctx.UpdateInventoryItem(itm).Wait();
                     }
                 }
             }
             catch (Exception ex)
             {
                 exceptions.Enqueue(ex);
             }
         });
         if (exceptions.Count > 0)
         {
             throw new AggregateException(exceptions);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #6
0
        private async Task ImportInventory(IEnumerable <EntryData> elst)
        {
            var lst =
                elst.SelectMany(
                    x =>
                    x.EntryDataDetails.Select(
                        y =>
                        new InventoryItem(true)
            {
                ItemNumber    = y.ItemNumber,
                Description   = y.ItemDescription,
                TrackingState = TrackingState.Added
            }));
            var exceptions = new ConcurrentQueue <Exception>();

            lst.AsParallel(new ParallelLinqOptions()
            {
                MaxDegreeOfParallelism = Environment.ProcessorCount
            }).ForAll(itm =>
            {
                try
                {
                    if (BaseDataModel.Instance.GetInventoryItem(x => x.ItemNumber == itm.ItemNumber) == null)
                    {
                        using (var ctx = new InventoryItemService())
                        {
                            ctx.UpdateInventoryItem(itm).Wait();
                        }
                    }
                }
                catch (Exception ex)
                {
                    exceptions.Enqueue(ex);
                }
            });
            if (exceptions.Count > 0)
            {
                throw new AggregateException(exceptions);
            }
        }
コード例 #7
0
        private async Task ImportInventory(List <SubItemData> eslst)
        {
            var itmlst = from i in eslst
                         group i by i.ItemNumber.ToUpper()
                         into g
                         select new { ItemNumber = g.Key, g.FirstOrDefault().ItemDescription };

            StatusModel.StartStatusUpdate("Updating Inventory", itmlst.Count());
            using (var ctx = new InventoryItemService())
            {
                var i = 0;
                foreach (var item in itmlst)
                {
                    i += 1;
                    StatusModel.StatusUpdate("Updating Inventory", i);
                    var inv =
                        (await ctx.GetInventoryItemsByExpressionLst(new List <string>()
                    {
                        string.Format("ItemNumber.ToUpper() == \"{0}\"", item.ItemNumber.ToUpper())
                    }).ConfigureAwait(false)).FirstOrDefault();
                    //FirstOrDefault(
                    //        x => x.ItemNumber.ToUpper() == item.ItemNumber.ToUpper());

                    if (inv == null)
                    {
                        inv = new InventoryItem()
                        {
                            Description   = item.ItemDescription,
                            ItemNumber    = item.ItemNumber,
                            TrackingState = TrackingState.Added
                        };
                        await ctx.UpdateInventoryItem(inv).ConfigureAwait(false);
                    }
                }
                StatusModel.StopStatusUpdate();
            }
        }