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);
        }
Example #2
0
        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);
        }
Example #3
0
        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();
        }
Example #4
0
        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;
            }
        }
Example #5
0
 protected void LogInsert(IEnumerable <IGeneratedFlatFile> items, TransferControlFile file)
 {
     _log.Debug("Inserted " + items.Count() + " records from file " + file.FileLocation);
 }