public async Task SaveInventoryItem(InventoryItem i) { if (i == null) { return; } using (var ctx = new InventoryItemService()) { await ctx.UpdateInventoryItem(i).ConfigureAwait(false); } }
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); } } }
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; } }
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); } }
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(); } }