Exemple #1
0
        // GET: Process/id
        public async Task <IActionResult> Process(int id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var file = await _fileService.GetByIdAsync(id);

            if (file == null)
            {
                return(NotFound());
            }

            var datatable2 = _excelServices.ReadSheet(file.Data, 0);

            List <SheetAdmissionValidationErrors> _lsheetAdmissionValidationError = new List <SheetAdmissionValidationErrors>();
            List <SheetAdmission> ValidItems = new List <SheetAdmission>();

            var isValid = _sheetAdmissionValidation.Validate(datatable2, ref _lsheetAdmissionValidationError, ref ValidItems);

            //Create a new workbook
            Workbook workbook = new Workbook();

            //Load a file and imports its data
            System.IO.Stream stream = new System.IO.MemoryStream(file.Data);
            workbook.LoadFromStream(stream);
            //Initialize worksheet
            Worksheet sheet = workbook.Worksheets[0];
            // get the data source that the grid is displaying data for
            DataTable datatable = sheet.ExportDataTable();

            DataRow[] oDataRow = datatable.Select();

            foreach (DataRow dr in oDataRow)
            {
                SheetAdmission lSheetAdmission = new SheetAdmission();
                lSheetAdmission.FileId = id;

                try
                {
                    lSheetAdmission.DeliveryDate = DateTime.Parse(dr[0].ToString());
                }
                catch (Exception e)
                {
                    //  Block of code to handle errors
                }

                try
                {
                    lSheetAdmission.Amount = Int32.Parse(dr[2].ToString());
                }
                catch (Exception e)
                {
                    //  Block of code to handle errors
                }

                lSheetAdmission.ProductName = dr[1].ToString();

                try
                {
                    lSheetAdmission.UnitaryValue = Decimal.Parse(dr[3].ToString());
                }
                catch (Exception e)
                {
                    //  Block of code to handle errors
                }

                string erros = "";
                _validationErros.FormatErros(lSheetAdmission, ref erros);

                //Adiciona Itens
                await _sheetAdmissionService.AddAsync(lSheetAdmission);
            }

            //List<SheetAdmission> lsheetAdmission = new List<SheetAdmission>();
            //var lsheetAdmission = _sheetAdmissionService.GetByIdIncludingTasksAsync(23);

            //List<ReportFileImports> reportFileImports = new List<ReportFileImports>();
            var reportFileImports = _importsRepository.GetAllImports();

            var reportFileImportsById = await _importsRepository.GetImportById(23);


            var FileStreamResult = FileDownload(file.Data, file.Name);

            return(FileStreamResult);
        }
 public Task <List <SheetAdmission> > GetImportById(int id)
 {
     return(_repository.GetImportById(id));
 }