public void UploadAndExtractFreeCountryExcel([FromUri] int id) { //从httpRequest中获取文件并写入磁盘系统 var filesGetter = new FilesGetter(); var fileSavePath = filesGetter.GetAndSaveSingleFileFromHttpRequest(@"D:\TempFiles\"); if (fileSavePath == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } //var excel = new ExcelExtracter(fileSavePath); //excel.ExtractFCPurchaseOrderSummary(id); //excel.ExtractFCPurchaseOrderDetail(id); var parser = new ExcelParser(fileSavePath); parser.ParseFreeCountryPackingListV2(id); //强行关闭进程 var killer = new ExcelKiller(); killer.Dispose(); }
public void UploadAndDownloadFile([FromUri] int templateId, [FromUri] string lastBillingDate, [FromUri] string currentBillingDate) { var chargeMethodsList = _context.ChargeMethods .Include(x => x.ChargeTemplate) .Where(x => x.ChargeTemplate.Id == templateId) .OrderBy(x => x.From) .ToList(); var fileGetter = new FilesGetter(); var path = fileGetter.GetAndSaveSingleFileFromHttpRequest(@"D:\TempFiles\"); if (path == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } var calculator = new InventoryFeeCalculator(path); calculator.RecalculateInventoryFeeInExcel(chargeMethodsList, chargeMethodsList.First().TimeUnit, lastBillingDate, currentBillingDate); //强行关闭Excel进程 var killer = new ExcelKiller(); killer.Dispose(); //在静态变量中记录下载信息 DownloadRecord.FileName = fileGetter.FileName; DownloadRecord.FilePath = path; }
public void Setup() { Authenticator driveAuthenticator = new Authenticator(); driveAuthenticator.Authenticate("test"); this.testee = new FilesGetter(new GoogleDriveServiceProvider(driveAuthenticator)); }
public IHttpActionResult UploadTemplate([FromUri] int shipOrderId, [FromUri] string operation) { var fileGetter = new FilesGetter(); var path = fileGetter.GetAndSaveSingleFileFromHttpRequest(@"D:\TempFiles\"); if (path == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } var extracter = new FBAExcelExtracter(path); if (operation == FBAOperation.UploadBOL) { var bolDetailList = extracter.ExtractBOLTemplate(); var generator = new PDFGenerator(); var fileName = generator.GenerateFBABOL(shipOrderId, bolDetailList); return(Ok(fileName)); } else if (operation == FBAOperation.UploadShipOrder) { extracter.ExtractFBAPickingListTemplate(shipOrderId); return(Ok("Create success!")); } return(Ok()); }
public IHttpActionResult UploadLabelFiles([FromUri] int orderDetailId) { // 将label文件反序列化,添加新的label文件,再序列化 var orderDetailInDb = _context.FBAOrderDetails.Find(orderDetailId); var deList = DeserializeLabelFilesString(orderDetailInDb.LabelFiles); var list = new List <LabelFile>(); list.AddRange(deList); //从httpRequest中获取文件并写入磁盘系统 var filesGetter = new FilesGetter(); var filePathList = filesGetter.GetAndSaveMultipleFileFromHttpRequest(@"D:\Labels\"); if (filePathList.ToList().Count == 0) { throw new HttpResponseException(HttpStatusCode.BadRequest); } foreach (var f in filePathList) { var labelFile = new LabelFile(); labelFile.NameInSystem = f.Split('\\').Last(); labelFile.OriginalName = labelFile.NameInSystem.Split('-').Last(); labelFile.RootPath = f; labelFile.UploadDate = DateTime.Now; list.Add(labelFile); } orderDetailInDb.LabelFiles = SerializeLabelFiles(list); _context.SaveChanges(); return(Ok(new { OrderDetailId = orderDetailId, list.Count })); }
public void Download_WhenFileIsDownloaded_ThenItIsCorrect() { // Arrange var driveFileGetter = new FilesGetter(this.googleDriveServiceProvider); var driveFiles = driveFileGetter.GetDriveFiles(string.Empty).ToList(); // Act string rootFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\TestGoogleDrive"; this.testee.Download(driveFiles[0], rootFolder); // Assert Directory.GetFiles(rootFolder).Any().Should().BeTrue(); }
public void CreateNewGeneralLocationSummaryAndDetail([FromUri] string vendor, [FromUri] string inboundDate, [FromUri] int preId) { var fileSavePath = ""; var filesGetter = new FilesGetter(); fileSavePath = filesGetter.GetAndSaveSingleFileFromHttpRequest(@"D:\TempFiles\"); if (fileSavePath == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } var excel = new ExcelExtracter(fileSavePath); excel.UploadReplenishimentLocationDetail(preId, vendor, inboundDate, fileSavePath.Split('\\').Last().Split('.').First()); }
public IHttpActionResult UploadFBATemplateByMasterOrderId([FromUri] int masterOrderId, [FromUri] string operation) { //从httpRequest中获取文件并写入磁盘系统 var filesGetter = new FilesGetter(); var fileSavePath = filesGetter.GetAndSaveSingleFileFromHttpRequest(@"D:\PackingLists\"); if (fileSavePath == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } var excel = new FBAExcelExtracter(fileSavePath); var killer = new ExcelKiller(); var result = new List <FBAOrderDetail>(); if (operation == "Upload") { try { result = excel.ExtractFBAPackingListTemplate("", masterOrderId); } catch (Exception e) { killer.Dispose(); throw new Exception(e.Message); } } // 将成功上传的packing list保存到efile中 var masterOrderInDb = _context.FBAMasterOrders.Find(masterOrderId); _context.EFiles.Add(new EFile { UploadDate = DateTime.Now, CustomizedFileName = "Packing List", RootPath = @"D:\PackingLists\", FileName = fileSavePath.Split('\\').Last(), UploadBy = _userName, FBAMasterOrder = masterOrderInDb }); _context.SaveChanges(); killer.Dispose(); return(Ok(Mapper.Map <IList <FBAOrderDetail>, IList <FBAOrderDetailDto> >(result))); }
public void UploadFBATemplate([FromUri] string grandNumber) { //从httpRequest中获取文件并写入磁盘系统 var filesGetter = new FilesGetter(); var fileSavePath = filesGetter.GetAndSaveFileFromHttpRequest(@"D:\TempFiles\"); if (fileSavePath == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } var excel = new FBAExcelExtracter(fileSavePath); var killer = new ExcelKiller(); excel.ExtractFBAPackingListTemplate(grandNumber); killer.Dispose(); }
public void Synchronize_WhenFolderIsSynchronize_ThenStructureIsCorrect() { // Arrange var authenticator = new Authenticator(); authenticator.Authenticate("test"); var filesGetter = new FilesGetter(new GoogleDriveServiceProvider(authenticator)); var files = filesGetter.GetDriveFiles(GoogleDriveConstants.FolderMimeType).ToList(); // Act string rootFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "\\TestGoogle"; this.testee.SynchronizeFolder( files[1], rootFolder); // Assert Directory.Exists(rootFolder).Should().BeTrue(); Directory.GetDirectories(rootFolder).Length.Should().Be(1); }
public void ExtractPullSheetExcel([FromUri] int id) { var fileSavePath = ""; //方法1:写入磁盘系统 //从httpRequest中获取文件并写入磁盘系统 var filesGetter = new FilesGetter(); fileSavePath = filesGetter.GetAndSaveFileFromHttpRequest(@"D:\TempFiles\"); if (fileSavePath == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } var excel = new ExcelExtracter(fileSavePath); excel.ExtractPullSheet(id); }
public IHttpActionResult UploadFiles([FromUri] string reference, [FromUri] string orderType, [FromUri] string fileName, [FromUri] string version) { var fileGetter = new FilesGetter(); var path = fileGetter.GetAndSaveSingleFileFromHttpRequest(@"D:\eFolder\"); var newFileRecord = new EFile(); if (version == "V1") { //newFileRecord.CustomizedFileName = fileName + "-" + DateTime.Now.ToString("hhmmss"); newFileRecord.CustomizedFileName = path.Split('\\').Last().Split('-')[1]; newFileRecord.FileName = path.Split('\\').Last(); newFileRecord.RootPath = @"D:\eFolder\"; newFileRecord.UploadBy = _userName; newFileRecord.UploadDate = DateTime.Now; newFileRecord.Status = FBAStatus.Valid; } else { throw new Exception("The system does not support version:" + version + "."); } if (orderType == FBAOrderType.MasterOrder) { var masterOrderInDb = _context.FBAMasterOrders.SingleOrDefault(x => x.Container == reference); newFileRecord.FBAMasterOrder = masterOrderInDb; } else if (orderType == FBAOrderType.ShipOrder) { var shipOrderInDb = _context.FBAShipOrders.SingleOrDefault(x => x.ShipOrderNumber == reference); newFileRecord.FBAShipOrder = shipOrderInDb; } else { throw new Exception("The system does not support order type:" + orderType + "."); } _context.EFiles.Add(newFileRecord); _context.SaveChanges(); return(Ok(Mapper.Map <EFile, EFileDto>(newFileRecord))); }
public void CreateReplenishmentPickDetailFormLoadPlan([FromUri] int shipOrderId) { var fileSavePath = ""; var filesGetter = new FilesGetter(); var shipOrderInDb = _context.ShipOrders.Find(shipOrderId); fileSavePath = filesGetter.GetAndSaveSingleFileFromHttpRequest(@"D:\TempFiles\"); if (fileSavePath == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } var extractor = new LoadPlanExtracter(fileSavePath); extractor.PickReplenishmentLoadPlan(shipOrderId); shipOrderInDb.Status = Status.Picking; _context.SaveChanges(); }
public void UploadRegularPackingList([FromUri] int preId, [FromUri] string vendor) { var fileSavePath = ""; var filesGetter = new FilesGetter(); fileSavePath = filesGetter.GetAndSaveSingleFileFromHttpRequest(@"D:\TempFiles\"); if (fileSavePath == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } var excel = new ExcelExtracter(fileSavePath); excel.ExtractPOSummaryAndCartonDetail(preId, vendor); var killer = new ExcelKiller(); killer.Dispose(); }
public void SaveUploadedFileAndExtractExcel([FromUri] int id, [FromUri] string vendor) { var fileSavePath = ""; //写入磁盘系统 var filesGetter = new FilesGetter(); fileSavePath = filesGetter.GetAndSaveSingleFileFromHttpRequest(@"D:\TempFiles\"); if (fileSavePath == "") { throw new HttpResponseException(HttpStatusCode.BadRequest); } var excel = new ExcelExtracter(fileSavePath); excel.ExtractPOSummaryAndCartonDetail(id, vendor); //强行关闭进程 var killer = new ExcelKiller(); killer.Dispose(); }
public async Task RefreshContent() { PBmain.IsRunning = PBmain.IsVisible = true; BTNrefresh.IsEnabled = false; BTNrefresh.Text = "↻ (Refreshing...)"; StopRequest = false; IsRunning = true; await FoldersGetter.ResetAsync(); var list = await FoldersGetter.GetNextPageAsync(); //Clearing children when the view is removed from screen is much faster GDmain.Children.Remove(SPcontent); SPcontent.Children.Clear(); GDmain.Children.Add(SPcontent, 0, 1); int folderCount = 0, fileCount = 0; while (list != null) { foreach (var subFolder in list) { if (StopRequest) { break; } var lb = new CloudFileLabel(subFolder); lb.FileClicked += delegate { LBselected?.Deselect(); (LBselected = lb).Select(); OnFileClicked(lb); }; SPcontent.Children.Add(lb); folderCount++; } BTNrefresh.Text = $"↻ (Refreshing...){(folderCount > 0 ? $" | {folderCount} folders" : "")}{(fileCount > 0 ? $" | {fileCount} files" : "")}"; list = await FoldersGetter.GetNextPageAsync(); } await FilesGetter.ResetAsync(); list = await FilesGetter.GetNextPageAsync(); while (list != null) { foreach (var file in list) { if (StopRequest) { IsRunning = false; return; } var lb = new CloudFileLabel(file); lb.FileClicked += delegate { LBselected?.Deselect(); (LBselected = lb).Select(); OnFileClicked(lb); }; SPcontent.Children.Add(lb); fileCount++; } BTNrefresh.Text = $"↻ (Refreshing...){(folderCount > 0 ? $" | {folderCount} folders" : "")}{(fileCount > 0 ? $" | {fileCount} files" : "")}"; list = await FilesGetter.GetNextPageAsync(); } PBmain.IsRunning = PBmain.IsVisible = false; MyLogger.Log("Folders loaded"); IsRunning = false; await Task.Delay(500); BTNrefresh.Text = $"↻{(folderCount>0?$" | {folderCount} folders":"")}{(fileCount>0?$" | {fileCount} files":"")}{(StopRequest?" (Incomplete)":"")}"; if (folderCount == 0 && fileCount == 0) { BTNrefresh.Text += " (Empty)"; } BTNrefresh.IsEnabled = true; }