public void SaveProducts(IEnumerable <Product> products) { var allProducts = products.ToList(); if (!allProducts.Any()) { return; } var warehouseNumber = _configuration.GetKey <string>(ConfigurationKey.WarehouseNumber); var companyNumber = _configuration.GetKey <string>(ConfigurationKey.CompanyNumber); var controlNumber = _configuration.GetBatchControlNumber(); var batchControlNumber = warehouseNumber + controlNumber.ToString("D8"); var productList = allProducts.Select(product => new ManhattanProduct(product, batchControlNumber, companyNumber, warehouseNumber)).ToList(); var productPath = _configuration.GetPath(ManhattanDataFileType.ProductUpdatingProductPath, controlNumber); _productRepository.Save(productList, productPath); _transferControlManager.SaveTransferControl(batchControlNumber, new List <string> { productPath }, _jobRepository.GetJob(JobKey.ProductUpdating).JobId); }
private void WriteFile(DataFileRepository <TransferControlMaster> transferControlWriter, IEnumerable <TransferControlMaster> masters) { var masterControlFileName = _configuration.GetInboundMasterControlFilename(); var inboundFileDirectory = _configuration.GetInboundFileDirectory(); transferControlWriter.Save(masters.OrderByDescending(o => o.Filename), Path.Combine(inboundFileDirectory, masterControlFileName)); }
public void ProcessAuroraShipmentBnc(IList <ManhattanShipment> manhattanShipment) { var controlNumber = _configuration.GetBatchControlNumber(); var warehouseNumber = _configuration.GetKey <string>(ConfigurationKey.WarehouseNumber); var batchControlNumber = warehouseNumber + controlNumber.ToString("D8"); foreach (var shipment in manhattanShipment) { shipment.OriginalBatchControlNumber = shipment.Header.BatchControlNumber; shipment.Header.BatchControlNumber = batchControlNumber; shipment.Header.Company = ShippedCompany; foreach (var detail in shipment.LineItems) { detail.BatchControlNumber = batchControlNumber; detail.ShippedCompany = ShippedCompany; } foreach (var carton in shipment.ManhattanShipmentCartonHeader) { carton.BatchControlNumber = batchControlNumber; carton.Company = ShippedCompany; } foreach (var cartonDetail in shipment.ManhattanShipmentCartonDetails) { cartonDetail.BatchControlNumber = batchControlNumber; cartonDetail.Company = ShippedCompany; } } // aurora needs the warehouse number inserted in filename path at position 3 and 4 var headerPath = _configuration.GetPath(ManhattanDataFileType.ShipmentHeader, controlNumber, warehouseNumber, "Aurora_"); var detailsPath = _configuration.GetPath(ManhattanDataFileType.ShipmentDetail, controlNumber, warehouseNumber, "Aurora_"); var cartonPath = _configuration.GetPath(ManhattanDataFileType.CartonHeader, controlNumber, warehouseNumber, "Aurora_"); var cartonDetailsrPath = _configuration.GetPath(ManhattanDataFileType.CartonDetail, controlNumber, warehouseNumber, "Aurora_"); _headerFileRepository.Save(manhattanShipment.Select(s => s.Header), headerPath); _detailFileRepository.Save(manhattanShipment.SelectMany(d => d.LineItems), detailsPath); _cartonHeaderFileRepository.Save(manhattanShipment.SelectMany(d => d.ManhattanShipmentCartonHeader), cartonPath); _cartonDetailFileRepository.Save(manhattanShipment.SelectMany(d => d.ManhattanShipmentCartonDetails), cartonDetailsrPath); _transferControlManager.SaveTransferControl(batchControlNumber, new List <string> { headerPath, detailsPath, cartonPath, cartonDetailsrPath }, _jobRepository.GetJob(JobKey.AuroraShipmentJob).JobId); }
public void Save(IEnumerable <IReceivedProduct> receivedProducts) { var receivedProductsCollection = receivedProducts.ToList(); var purchaseOrderDetails = new List <ManhattanSkuDetail>(); var purchaseReturnDetails = new List <ManhattanSkuDetail>(); var automatedShippingNotificationDetails = new List <ManhattanCaseDetail>(); var headerList = new List <ManhattanReceivedProductHeader>(); var warehouseNumber = _configuration.GetKey <string>(ConfigurationKey.WarehouseNumber); var companyNumber = _configuration.GetKey <string>(ConfigurationKey.CompanyNumber); var controlNumber = _configuration.GetBatchControlNumber(); var batchControlNumber = warehouseNumber + controlNumber.ToString("D8"); foreach (var purchaseOrder in receivedProductsCollection.OfType <PurchaseOrder>()) { headerList.Add(new ManhattanReceivedProductHeader(purchaseOrder, batchControlNumber, warehouseNumber)); purchaseOrderDetails.AddRange(purchaseOrder.Items.Select(item => new ManhattanSkuDetail(purchaseOrder, item, batchControlNumber, companyNumber, warehouseNumber))); } foreach (var purchaseReturn in receivedProductsCollection.OfType <PurchaseReturn>()) { headerList.Add(new ManhattanReceivedProductHeader(purchaseReturn, batchControlNumber, warehouseNumber)); purchaseReturnDetails.AddRange(purchaseReturn.Items.Select(item => new ManhattanSkuDetail(purchaseReturn, item, batchControlNumber, companyNumber, warehouseNumber))); } foreach (var automatedShippingNotification in receivedProductsCollection.OfType <AutomatedShippingNotification>()) { headerList.Add(new ManhattanReceivedProductHeader(automatedShippingNotification, batchControlNumber, warehouseNumber)); automatedShippingNotificationDetails.AddRange(automatedShippingNotification.Items.Select(item => new ManhattanCaseDetail(automatedShippingNotification, item, batchControlNumber, companyNumber, warehouseNumber))); } var headerPath = _configuration.GetPath(ManhattanDataFileType.ProductReceivingHeader, controlNumber); var poDetailsPath = _configuration.GetPath(ManhattanDataFileType.ProductReceivingPoDetail, controlNumber); var asnDetailsPath = _configuration.GetPath(ManhattanDataFileType.ProductReceivingAsnDetail, controlNumber); _headerFileRepository.Save(headerList, headerPath); var skuDetails = new List <ManhattanSkuDetail>(); skuDetails.AddRange(purchaseOrderDetails); skuDetails.AddRange(purchaseReturnDetails); _skuDetailFileRepository.Save(skuDetails, poDetailsPath); // I9 : PO and returns _caseDetailFileRepository.Save(automatedShippingNotificationDetails, asnDetailsPath); // IB : shipment notification _transferControlManager.SaveTransferControl(batchControlNumber, new List <string> { headerPath, poDetailsPath, asnDetailsPath }, _jobRepository.GetJob(JobKey.ProductReceiving).JobId); }
public void SaveOrders(IEnumerable <Order> orders) { var allOrders = orders.ToList(); if (!allOrders.Any()) { return; } var detailList = new List <ManhattanPickTicketDetail>(); var headerList = new List <ManhattanPickTicketHeader>(); var instructionList = new List <ManhattanPickTicketInstruction>(); var warehouseNumber = _configuration.GetKey <string>(ConfigurationKey.WarehouseNumber); var companyNumber = _configuration.GetKey <string>(ConfigurationKey.CompanyNumber); var warehouseAddress = _configuration.GetWarehouseAddress(); var controlNumber = _configuration.GetBatchControlNumber(); var batchControlNumber = warehouseNumber + controlNumber.ToString("D8"); foreach (var order in allOrders) { order.BillingAddress = warehouseAddress; headerList.Add(new ManhattanPickTicketHeader(order, batchControlNumber, companyNumber, warehouseNumber, "CDS", _countryReader, _carrierRepository)); detailList.AddRange(CombineItems(order, batchControlNumber, companyNumber, warehouseNumber)); var instructionControlNumber = 1; foreach (var instruction in order.SpecialInstructions) { instructionList.Add(new ManhattanPickTicketInstruction("VA", "VA", instruction, batchControlNumber, order.ControlNumber, instructionControlNumber)); instructionControlNumber++; } instructionList.AddRange(GetGlobalInstructions(order, batchControlNumber, instructionControlNumber)); } var headerPath = _configuration.GetPath(ManhattanDataFileType.PickHeader, controlNumber); var detailPath = _configuration.GetPath(ManhattanDataFileType.PickDetail, controlNumber); var instructionPath = _configuration.GetPath(ManhattanDataFileType.PickSpecialInstructions, controlNumber); _headerFileRepository.Save(headerList, headerPath); _detailFileRepository.Save(detailList, detailPath); _instructionFileRepository.Save(instructionList, instructionPath); _transferControlManager.SaveTransferControl(batchControlNumber, new List <string> { headerPath, detailPath, instructionPath }, _jobRepository.GetJob(JobKey.PickJob).JobId); }
public void SaveOrders(IEnumerable <Order> orders, string headerFileLocation, string detailsFileLocation, string instructionsFileLocation) { if (headerFileLocation == null) { throw new ArgumentNullException("headerFileLocation"); } if (detailsFileLocation == null) { throw new ArgumentNullException("detailsFileLocation"); } if (instructionsFileLocation == null) { throw new ArgumentNullException("instructionsFileLocation"); } var allOrders = orders.ToList(); if (!allOrders.Any()) { return; } var warehouseNumber = _configuration.GetWarehouseNumber(); var companyNumber = _configuration.GetCompanyNumber(); var warehouseAddress = _configuration.GetWarehouseAddress(); var shipTo = _configuration.GetShipTo(); var controlNumber = _configuration.GetBatchControlNumber(); var batchControlNumber = warehouseNumber + controlNumber.ToString("D8"); var detailList = new List <ManhattanPickTicketDetail>(); var headerList = new List <ManhattanPickTicketHeader>(); var instructionList = new List <ManhattanPickTicketInstruction>(); foreach (var order in allOrders) { order.BillingAddress = warehouseAddress; headerList.Add(new ManhattanPickTicketHeader(order, batchControlNumber, companyNumber, warehouseNumber, shipTo, _countryReader, _carrierReadRepository)); detailList.AddRange(CombineItems(order, batchControlNumber, companyNumber, warehouseNumber)); var instructionControlNumber = 1; foreach (var instruction in order.SpecialInstructions) { instructionList.Add(new ManhattanPickTicketInstruction("VA", "VA", instruction, batchControlNumber, order.ControlNumber, instructionControlNumber)); instructionControlNumber++; } instructionList.AddRange(_configuration.GetPickTicketInstructions(order, batchControlNumber, instructionControlNumber)); } var headerPath = _configuration.GetHeaderFilePath(controlNumber); var detailPath = _configuration.GetDetailFilePath(controlNumber); var instructionPath = _configuration.GetSpecialInstructionFilePath(controlNumber); _headerRepository.Save(headerList, headerPath); _detailRepository.Save(detailList, detailPath); _instructionRepository.Save(instructionList, instructionPath); _transferControlManager.SaveTransferControl(batchControlNumber, new List <string> { headerPath, detailPath, instructionPath }, _configuration.GetJobId()); }