Exemple #1
0
        public byte[] GetObjectsTable(ObjectsPrintModel model)
        {
            using (var ms = new MemoryStream())
            {
                IWorkbook workbook   = new XSSFWorkbook();
                ISheet    excelSheet = workbook.CreateSheet("Лист 1");

                AddTable(excelSheet, model.HeadColumns, model.TableColumns);

                workbook.Write(ms);

                return(ms.ToArray());
            }
        }
Exemple #2
0
        public async Task <FileModel> GetVehiclesFileAsync(
            ClaimsPrincipal userPrincipal,
            string plateNumber,
            string routeName,
            int?carTypeId,
            int?projectId,
            bool?active,
            int?carBrandId,
            int?providerId,
            int?yearRelease,
            string blockNumber,
            int?blockTypeId,
            string sortBy,
            OrderByEnum orderBy,
            FileFormatEnum fileFormat)
        {
            var userRoutesModel = await _userManager.GetAvailableRoutesModel(userPrincipal);

            var vehicles = await _objectRepository.FindAllForFileAsync(
                plateNumber,
                routeName,
                carTypeId,
                projectId,
                active,
                userRoutesModel,
                carBrandId,
                providerId,
                yearRelease,
                blockNumber,
                blockTypeId,
                sortBy,
                orderBy);

            var printFile = new ObjectsPrintModel(vehicles, userPrincipal.GetRoleName())
            {
                PlateNumber = plateNumber,
                RouteName   = routeName,
                CarTypeId   = carTypeId,
                ProjectId   = projectId,
                Active      = active,
                CarBrandId  = carBrandId,
                ProviderId  = providerId,
                YearRelease = yearRelease,
                BlockNumber = blockNumber,
                BlockTypeId = blockTypeId,
            };

            var result = new FileModel
            {
                Name       = $"Транспортные средства {DateTime.Now.ToDateTimeString()}",
                FileFormat = fileFormat
            };

            if (fileFormat == FileFormatEnum.Pdf)
            {
                var htmlString = await _htmlBuilder.GetObjectsTable(printFile);

                result.Bytes = _pdfService.ConvertHtmlToPdf(htmlString);
            }
            else if (fileFormat == FileFormatEnum.Xlsx)
            {
                result.Bytes = _xlsxBuilder.GetObjectsTable(printFile);
            }
            else
            {
                throw new NotImplementedException();
            }

            return(result);
        }
Exemple #3
0
        public async Task <string> GetObjectsTable(ObjectsPrintModel model)
        {
            var result = await GetHtml("ObjectsPrint", model);

            return(result);
        }