public async Task <IEnumerable <InventoryItem> > SearchInventoryItem(List <string> lst, List <string> includeLst = null) { using (var ctx = new InventoryItemService()) { return(await ctx.GetInventoryItemsByExpressionLst(lst, includeLst).ConfigureAwait(false)); } }
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(); } }