示例#1
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 };

            using (var ctx = new InventoryItemService())
            {
                foreach (var item in itmlst)
                {
                    var i =
                        BaseDataModel.Instance.InventoryCache.GetSingle(
                            x => x.ItemNumber.ToUpper() == item.ItemNumber.ToUpper());

                    if (i == null)
                    {
                        i = new InventoryItem()
                        {
                            Description = item.ItemDescription,
                            ItemNumber  = item.ItemNumber
                        };
                        await ctx.CreateInventoryItem(i).ConfigureAwait(false);

                        BaseDataModel.Instance.InventoryCache.AddItem(i);
                    }
                }
            }
        }
示例#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);
                    }
                }
            }
        }