Пример #1
0
        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 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();
        }