public UploadData UploadFile(string fileName, int fileType, Stream stream) { using (var context = new InnostarModelsContext()) { UploadData result = new UploadData(); if (!Service.IsAuthorized(result)) { return(result); } DataFileRepository dataFileRepository = new DataFileRepository(context); DataFile dataFile = new DataFile(); dataFile.OriginalFileName = fileName; dataFile.FileType = fileType; dataFile.LocalFileName = Guid.NewGuid().ToString() + Path.GetExtension(fileName); string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigurationManager.AppSettings["FilesPath"], dataFile.LocalFileName); using (var fileStream = File.Create(filePath)) { stream.CopyTo(fileStream); } dataFileRepository._Insert(dataFile); dataFileRepository._Save(); result.id = dataFile.Id; result.code = "200"; result.message = "OK"; return(result); } }
private static List <TransferControlMaster> MapTransforControlFromManhattanFile(string controlFile) { var transferControlMasterRepository = new DataFileRepository <TransferControlMaster>(); var masterControlMapping = transferControlMasterRepository.Get(controlFile).ToList(); return(masterControlMapping); }
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 SetUp() { _configurationProvider = Mock.Of <IConfigurationProvider>(); _dataFileProvider = new DataFileRepository(); _localizedStringFinder = new LocalizedStringFinder( _configurationProvider, _dataFileProvider); }
public ActionResult GetFile(int id) { using (var logFile = new StreamWriter(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigurationManager.AppSettings["FilesPath"], @"FileLog.txt"), true)) { var guid = Guid.NewGuid().ToString(); logFile.WriteLine("Guid : {0} | File request accepted | Date : {1:H:mm:ss zzz dd/mm/yy } | Id: {2}", guid, DateTime.Now, id); try { using (var context = new InnostarModelsContext()) { var datafileRepository = new DataFileRepository(context); var dataFiles = datafileRepository._All.Where(e => e.Id == id); //GetBy(new Query<DataFile>(e => e.Id == id)); if (dataFiles.Any()) { var dataFile = dataFiles.FirstOrDefault(); string path = Path.Combine( AppDomain.CurrentDomain.BaseDirectory, ConfigurationManager.AppSettings["FilesPath"], dataFile.LocalFileName); if (System.IO.File.Exists(path)) { //logFile.WriteLine("Guid : {0} | File sent | Date : {1:H:mm:ss zzz dd/mm/yy } | Filename: {2}", guid, DateTime.Now, dataFile.OriginalFileName); return(base.File(path, GetContentType(path))); } else { //logFile.WriteLine("Guid : {0} | No file at disc | Date : {1:H:mm:ss zzz dd/mm/yy }", guid, DateTime.Now); return(new HttpStatusCodeResult(404, "no such file")); } } else { //logFile.WriteLine( // "Guid : {0} | No file in DB | Date : {1:H:mm:ss zzz dd/mm/yy }", // guid, // DateTime.Now); return(new HttpStatusCodeResult(404, "no such file")); } } } catch (Exception ex) { //logFile.WriteLine("Guid : {0} | File sending exception| Date : {1:H:mm:ss zzz dd/mm/yy } | Exception: {2}", guid, DateTime.Now, ex.Message); return(new HttpStatusCodeResult(500, "server error")); } } }
protected override void ProcessFiles(ICollection <TransferControlFile> transferControlFiles) { if (transferControlFiles.Count != 1) { throw new ArgumentOutOfRangeException("transferControlFiles", "Expected one file, found " + transferControlFiles.Count); } var file = transferControlFiles.First(); var pixRepository = new DataFileRepository <ManhattanPerpetualInventoryTransfer>(); var pixList = pixRepository.Get(file.FileLocation).ToList(); _perpetualInventoryTransferRepository.InsertPerpetualInventoryTransfer(pixList); LogInsert(pixList, file); }
private void AppendMasterControl(IEnumerable <TransferControlMaster> files, Models.TransferControl transferControl) { try { var transferControlWriter = new DataFileRepository <TransferControlMaster>(); WriteFile(transferControlWriter, files); FtpAppendTransferControl(); transferControl.ProcessedDate = DateTime.Now; _transferControlRepository.UpdateTransferControl(transferControl); MoveTransferControlMasterToProcessedFolder(); } catch (Exception exception) { _log.Exception("Inbound : Failure transmitting outbound master control file ", exception); throw; } }
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 override void ProcessFiles(ICollection <TransferControlFile> transferControlFiles) { if (transferControlFiles.Count != 1) { throw new ArgumentOutOfRangeException("transferControlFiles", "Expected one file, found " + transferControlFiles.Count); } //1) STL INVENTORY UPDATE - Clean PIX/Shipments before loading the sync file. var stlInventoryUpdateJob = new StlInventoryUpdateJob(_log, _stlInventoryUpdateRepository, _shipmentInventoryAdjustmentRepository, _perpetualInventoryTransferRepository, _pixInventoryAdjustmentRepository); stlInventoryUpdateJob.RunUnitOfWork("Stl Inventory Update"); var transferControlFile = transferControlFiles.First(); var pixRepository = new DataFileRepository <ManhattanInventorySync>(); var inventorySync = pixRepository.Get(transferControlFile.FileLocation).ToList(); //2) Load the I5 sync file into our RAW Table. _inventorySyncRepository.InsertInventorySync(inventorySync); if (inventorySync.Count > 0) { _inventorySyncRepository.SetAsReceived(new InventorySyncProcessing { TransactionNumber = inventorySync.First().TransactionNumber, ReceivedDate = DateTime.Now, ManhattanDateCreated = inventorySync.First().DateCreated, ManhattanTimeCreated = inventorySync.First().TimeCreated }); } LogInsert(inventorySync, transferControlFile); //3)VALIDATION - ABORT THE SYNC IF THE LAST APPLIED PIX/SHIPMENT HAS TIMESTAMP GREATER THAN OUR SYNC FILE'S (scenario would cause inaccurate inventory) var inventorySyncStatus = _inventorySyncRepository.GetInventorySyncStatus(inventorySync.First().TransactionNumber); if (!inventorySyncStatus.IsValid) { _log.Debug(string.Format("Inventory Sync {0} is Stale - {1}", inventorySync.First().TransactionNumber, inventorySyncStatus.Message)); EmailAuditSummary(null, inventorySync.First().TransactionNumber); } else { //4) Load the Sync data into Stl Inventory Table. var latestManhattanInventorySync = _stlInventoryRepository.GetLatestManhattanInventorySync().ToList(); if (latestManhattanInventorySync.Count > 0) { using (var transactionScope = Scope.CreateTransactionScope()) { _stlInventoryRepository.InsertStlInventory(latestManhattanInventorySync); _log.Debug("Inserted " + latestManhattanInventorySync.Count() + " records from latest InventorySync data"); _inventorySyncRepository.SetAsProcessed(new InventorySyncProcessing { TransactionNumber = latestManhattanInventorySync.First().ManhattanInventorySyncTransactionNumber, ProcessedDate = latestManhattanInventorySync.First().InventoryDate }); transactionScope.Complete(); } var logBuilder = new StringBuilder(); logBuilder.AppendLine("---AUDIT REPORT---"); var auditEntries = _stlInventoryRepository.GetStlInventorySyncAudit().ToList(); if (auditEntries.Count > 0) { logBuilder.AppendLine("STATUS | SKU | QUANTITY"); foreach (var entry in auditEntries) { logBuilder.AppendLine(string.Format("{0} | {1} | {2}", entry.Status, entry.Upc, entry.Quantity)); } } else { logBuilder.AppendLine("SYNC MATCHES CURRENT INVENTORY"); } _log.Debug(logBuilder.ToString()); EmailAuditSummary(auditEntries, latestManhattanInventorySync.First().ManhattanInventorySyncTransactionNumber); } else { _log.Debug("No sync data for StlInventory!!!"); } } }