public Invoce.Entity.Invoce createInvoce(InvoceReques reques) { var filePath = Path.GetTempFileName(); //Получаем времений путь до файла Invoce.Entity.Invoce invoice = null; //создаем екземпляр инвойса using (var stream = new FileStream(filePath, FileMode.Create)) //открываем файл в потоке { ISheet sheet; ///Экземпляр таблицы string sFileExtension = Path.GetExtension(reques.File.FileName).ToLower(); reques.File.CopyTo(stream); stream.Position = 0; if (sFileExtension == ".xls") { HSSFWorkbook hssfwb = new HSSFWorkbook(stream); //This will read the Excel 97-2000 formats sheet = hssfwb.GetSheet("January 20"); //get first sheet from workbook } else { XSSFWorkbook hssfwb = new XSSFWorkbook(stream); //This will read 2007 Excel format this._getAllSheets.getSheets(hssfwb); sheet = hssfwb.GetSheet(reques.SheetTabName); //get first sheet from workbook } int column = this._findColumn.Find(sheet.GetRow(0), "Hours");///находим нужную колонку invoice = new Invoce.Entity.Invoce( reques.Money, //передаєм в конструктор инфойса деньги this._hourseParser.Parse(sheet, column), //передаем в конструктор часы, спаршенные сервисом reques.Street, reques.BuildNumber, reques.City, reques.Country, reques.IndexCity, reques.TelephoneNumber, reques.EMail, reques.Name, reques.LastName, reques.Description, reques.ConvertDate(reques.Date) ); } if (invoice == null) { throw new Exception("Inove is not build!"); } return(invoice); }
public ActionResult Invoce([FromForm] InvoceReques reques) { try { Invoce invoce = this._service.createInvoce(reques); this._service.generateWork(invoce); return(File( System.IO.File.ReadAllBytes(this._wordFile.GetReadPath()), "application/vnd.openxmlformats-officedocument.wordprocessingml.document" )); } catch (Exception e) { return(StatusCode((int)HttpStatusCode.BadRequest)); } }