public BarcodeInfo[] GetAllBarcodes() { using (var db = new Amazon.DAL.Inventory.InventoryUnitOfWork()) { return(db.Context.ViewBarcodes .Select(b => new BarcodeInfo() { Barcode = b.Barcode }).ToArray()); } }
public void StoreOrderInfo(OrderInfo order) { var dbFactory = new DbFactory(); var log = LogFactory.Default; var time = new TimeService(dbFactory); var quantityManager = new QuantityManager(log, time); using (var invDb = new Amazon.DAL.Inventory.InventoryUnitOfWork()) { if (order.Type == InventoryOrderType.InventoryOrder) { var orderDto = new InventoryDTO() { Description = order.Name, FileName = order.FileName, InventoryDate = DateHelper.ConvertUtcToApp(order.OrderDate) }; var itemsDto = order.Barcodes.Select(b => new ScanItemDTO() { Barcode = b.Barcode, Quantity = b.Quantity }).ToList(); invDb.ItemInventoryMappings.AddNewInventory(orderDto, itemsDto); } if (order.Type == InventoryOrderType.ShopOrder || order.Type == InventoryOrderType.FBAOrder) { var orderDto = new ScanOrderDTO() { Description = order.Name, FileName = order.FileName, OrderDate = DateHelper.ConvertUtcToApp(order.OrderDate), IsFBA = order.Type == InventoryOrderType.FBAOrder }; var itemsDto = order.Barcodes.Select(b => new ScanItemDTO() { Barcode = b.Barcode, Quantity = b.Quantity }).ToList(); invDb.ItemOrderMappings.AddNewOrder(orderDto, itemsDto); try { using (var db = dbFactory.GetRWDb()) { foreach (var item in itemsDto) { var barcodeDto = db.StyleItemBarcodes.GetAllAsDto().FirstOrDefault(b => b.Barcode == item.Barcode); if (barcodeDto != null) { quantityManager.LogStyleItemQuantity(db, barcodeDto.StyleItemId, item.Quantity, null, order.Type == InventoryOrderType.ShopOrder ? QuantityChangeSourceType.SentToStore : QuantityChangeSourceType.SentToFBA, orderDto.Id.ToString(), item.Id, StringHelper.Substring(orderDto.Description, 50), time.GetAppNowTime(), null); } } } } catch (Exception ex) { log.Error("When write style item log", ex); } } } }