private TransferControlMaster UploadFile(TransferControlFile file, Models.TransferControl transferControl) { var fileInfo = new FileInfo(file.FileLocation); var master = new TransferControlMaster { BatchControlNumber = transferControl.BatchControlNumber, TransferType = ManhattanTransferType, Library = _configuration.GetInboundFtpLocation(), Filename = fileInfo.Name, Member = fileInfo.Name, StatusFlag = StatusFlag, DateCreated = DateTime.Now.ToMainframeDate(), TimeCreated = DateTime.Now.ToMainframeTime(), UserId = _configuration.GetInboundFtpUsername(), }; if (_configuration.GetInboundJobType() == JobType.AuroraInbound) { ProcessAuroraTransferControl(transferControl, master); } _log.Debug("Inbound : processing batch " + transferControl.BatchControlNumber + " file " + fileInfo.FullName); FtpUploadFile(fileInfo); return(master); }
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); }
private static void MockUnprocessedTransferControl(ITransferControlRepository mockRepository) { var objToReturn = new List <Middleware.Wm.TransferControl.Models.TransferControl>(); var item = new Middleware.Wm.TransferControl.Models.TransferControl(); var file = new TransferControlFile { FileLocation = "mock" }; var list2 = new List <TransferControlFile> { file }; item.Files = list2; objToReturn.Add(item); mockRepository.Expect(r => r.FindTransferControls(new TransferControlSearchCriteria())).IgnoreArguments().Return(objToReturn).Repeat.Once(); }
private void ProcessFile(TransferControlFile file) { var shipmentHeaderRespository = new DataFileRepository <ManhattanShipmentHeader>(); var shipmentDetailRespository = new DataFileRepository <ManhattanShipmentLineItem>(); var cartonHeaderRespository = new DataFileRepository <ManhattanShipmentCartonHeader>(); var cartonDetailRespository = new DataFileRepository <ManhattanShipmentCartonDetail>(); var fileInfo = new FileInfo(file.FileLocation); var fileType = fileInfo.Name.Substring(0, 2); switch (fileType) { case ManhattanDataFileType.ShipmentHeader: var shipmentHeader = shipmentHeaderRespository.Get(fileInfo.FullName).ToList(); _shipmentRepository.InsertShipmentHeaders(shipmentHeader); LogInsert(shipmentHeader, file); break; case ManhattanDataFileType.ShipmentDetail: var shipmentDetail = shipmentDetailRespository.Get(fileInfo.FullName).ToList(); _shipmentRepository.InsertShipmentLineItems(shipmentDetail); LogInsert(shipmentDetail, file); break; case ManhattanDataFileType.CartonHeader: var cartonHeader = cartonHeaderRespository.Get(fileInfo.FullName).ToList(); _shipmentRepository.InsertShipmentCartonHeaders(cartonHeader); LogInsert(cartonHeader, file); break; case ManhattanDataFileType.CartonDetail: var cartonDetail = cartonDetailRespository.Get(fileInfo.FullName).ToList(); _shipmentRepository.InsertShipmentCartonDetails(cartonDetail); LogInsert(cartonDetail, file); break; } }
protected void LogInsert(IEnumerable <IGeneratedFlatFile> items, TransferControlFile file) { _log.Debug("Inserted " + items.Count() + " records from file " + file.FileLocation); }