コード例 #1
0
        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);
        }
コード例 #2
0
 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));
     }
 }