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