public void RunUnitOfWork(string jobKey) { var orders = SourceRepository.GetOrders().ToList(); if (orders.Any()) { _logger.Debug("Processing " + orders.Count + " orders."); _orderHistoryRepository.Save(orders.SelectMany(o => o.CreateHistories("Order picked.", "Pick Job"))); foreach (var order in orders) { var map = new OmsManhattanOrderMap { Company = order.Company, Created = DateTime.Now, OmsOrderNumber = order.OrderNumber, WmOrderNumber = order.ControlNumber }; _omsManhattanOrderMapRepository.InsertOmsManhattanOrderMapRepository(map); } DestinationRepository.SaveOrders(orders); SourceRepository.SetAsProcessed(orders); } else { _logger.Debug("No orders to run"); } }
public void RunUnitOfWork(string jobKey) { var shipments = _shipmentRepository.FindManhattanShipmentHeaders(new ManhattanShipmentSearchCriteria { ShipTo = ManhattanShipmentSearchCriteria.BrickAndClickShipTo, UnprocessedForAuroraShipmentGeneralLedger = false, UnprocessedForAuroraShipment = true }); if (shipments.Count > 0) { _orderHistoryRepository.Save(shipments.SelectMany(s => s.LineItems.Select(i => new OrderHistory(s.Header.OrderNumber, s.Header.BatchControlNumber, i.PackageBarcode, "Shipment sent to Aurora.", "Aurora Shipment Job")))); _auroraShipmentRepository.ProcessAuroraShipmentBnc(shipments); foreach (var manhattanShipment in shipments) { _auroraShipmentRepository.InsertManhattanShipmentBncProcessing(new ManhattanShipmentBncProcessing { BatchControlNumber = manhattanShipment.OriginalBatchControlNumber, PickticketControlNumber = manhattanShipment.Header.PickticketControlNumber }); } } else { _log.Info("No shipments to process"); } }
public void RunUnitOfWork(string jobKey) { var unprocessedReturns = _pixReturnRepository.GetUnprocessedReturns().ToList(); if (unprocessedReturns.Any()) { _log.Info("Processing " + unprocessedReturns.Count() + " PIX returns"); } else { _log.Info("No PIX returns to process."); return; } var conditionCodes = _manhattanConditionCodeRepository.GetConditionCodes().ToList(); _orderHistoryRepository.Save(unprocessedReturns.Select(r => new OrderHistory(r.OrderNumber, null, null, "Pix return", "Pix Return Job"))); foreach (var unprocessedReturn in unprocessedReturns) { try { using (var transactionScope = Scope.CreateTransactionScope()) { var condition = unprocessedReturn.ReturnToStock() ? "INVENTORY" : "DEFECT"; var reason = GetConditionCode(conditionCodes, unprocessedReturn); // translate the manhattan file to a business object var returnOnWeb = new ReturnOnWeb { Company = GetCompany(unprocessedReturn.OrderNumber), Condition = condition, Reason = reason, Style = unprocessedReturn.Style, OrderNumber = unprocessedReturn.OrderNumber, Width = unprocessedReturn.Width, Size = unprocessedReturn.Size.FromManhattanShoeSize(), Timestamp = DateTime.Now, StockKeepingUnit = unprocessedReturn.StockKeepingUnit, Status = "NEW", UserName = unprocessedReturn.User }; // map business object to row return and write to NBXWEB _databaseRowReturnRepository.InsertRowReturn(new DatabaseRowReturn(returnOnWeb)); // insert processed row _perpetualInventoryTransferRepository.InsertManhattanPerpetualInventoryTransferProcessing(unprocessedReturn.ManhattanPerpetualInventoryTransferId()); transactionScope.Complete(); } } catch (Exception exception) { _log.Exception("Error processing Manhattan PIX with id of " + unprocessedReturn.ManhattanPerpetualInventoryTransferId(), exception); } } }
protected override void ProcessFiles(ICollection <TransferControlFile> transferControlFiles) { TransferControlFile headerFile = null; TransferControlFile detailFile = null; TransferControlFile specialInstructionsFile = null; foreach (var file in transferControlFiles) { var filename = Path.GetFileName(file.FileLocation); if (filename == null) { throw new InvalidDataException("File location does not have a filename"); } switch (filename.Substring(0, 2).ToUpperInvariant()) { case ManhattanDataFileType.PickHeader: headerFile = file; break; case ManhattanDataFileType.PickDetail: detailFile = file; break; case ManhattanDataFileType.PickSpecialInstructions: specialInstructionsFile = file; break; } } if (headerFile == null || detailFile == null || specialInstructionsFile == null) { throw new InvalidDataException("File list does not contain a header, detail, and instruction file."); } var headers = _manhattanOrderRepository.GetManhattanPickTicketHeaders(headerFile.FileLocation); var details = _manhattanOrderRepository.GetManhattanPickTicketDetails(detailFile.FileLocation); var instructions = _manhattanOrderRepository.GetManhattanPickTicketInstructions(specialInstructionsFile.FileLocation); var orders = _manhattanOrderRepository.GetOrders(headers, details); _orderHistoryRepository.Save(orders.SelectMany(o => o.CreateHistories("Item picked from Aurora", "Aurora Pick Ticket Job"))); _auroraPickTicketRepository.InsertAuroraPickTicketHeader(headers); _auroraPickTicketRepository.InsertAuroraPickTicketDetail(details); _auroraPickTicketRepository.InsertAuroraPickTicketInstruction(instructions); _destinationRepository.SaveOrders(orders); }
public void RunUnitOfWork(string jobKey) { var orders = SourceRepository.GetOrders().ToList(); if (orders.Any()) { _logger.Debug("Processing " + orders.Count + " orders."); foreach (var order in orders) { var map = new OmsManhattanOrderMap { Company = order.Company, Created = DateTime.Now, OmsOrderNumber = order.ControlNumber, WmOrderNumber = order.OrderNumber }; _omsManhattanOrderMapRepository.InsertOmsManhattanOrderMapRepository(map); _orderHistoryRepository.Save(order.CreateHistories("Processing pickticket confirmation.", "Aurora Pick Confirmation Job")); SetAuroraPickTicketInformation(order); } DestinationRepository.SaveOrders(orders); var processed = orders.Select(s => new PickTicketConfirmationOrderProcessing { ControlNumber = s.ControlNumber, OrderNumber = s.OrderNumber, ProcessedDate = DateTime.Now }).ToList(); _pickTicketProcessingRepository.InsertPickTicketProcessing(processed); } else { _logger.Debug("No orders to run"); } }