Пример #1
0
        private async Task <byte[]> ExportToCsvAsync <T>(decimal submissionObjectId, IReportExportRepository <T> repo) where T : IReportExportDto
        {
            var report = await repo.ExportReportAsync(submissionObjectId);

            if (report.Count() == 0)
            {
                return(null);
            }

            var rptCsv = string.Join(Environment.NewLine, report.Select(x => x.ToCsv()));

            rptCsv = $"{CsvUtils.GetCsvHeader<T>()}{Environment.NewLine}{rptCsv}";

            var encoding = new UTF8Encoding();

            return(encoding.GetBytes(rptCsv));
        }
Пример #2
0
        public async Task <IActionResult> GetUsersByFilterAsync(
            [FromQuery] string?serviceAreas, [FromQuery] string?userTypes, [FromQuery] string searchText, [FromQuery] bool?isActive, [FromQuery] string fileName)
        {
            fileName = fileName.IsEmpty()?"export_user.csv": fileName;
            var exportedUsers = await _userService.GetUsersByFilterAsync(serviceAreas.ToDecimalArray(), userTypes.ToStringArray(), searchText, isActive);

            if (exportedUsers == null || exportedUsers.Count() == 0)
            {
                return(NotFound());
            }
            var rptCsv = string.Join(Environment.NewLine, exportedUsers.Select(x => x.ToCsv()));

            rptCsv = $"{CsvUtils.GetCsvHeader<UserSearchExportDto>()}{Environment.NewLine}{rptCsv}";

            var encoding = new UTF8Encoding();
            var bytes    = encoding.GetBytes(rptCsv);

            return(File(bytes, "text/csv;charset=UTF-8", fileName));
        }
Пример #3
0
        public async Task <IActionResult> GetActvitityCodesByFilterAsync(
            string?maintenanceTypes, string?locationCodes, bool?isActive, string?searchText, string fileName)
        {
            fileName = fileName.IsEmpty() ? "export_activities.csv" : fileName;

            var exportedActivities = await _activityCodeSvc.GetActivityCodesByFilterAsync(maintenanceTypes.ToStringArray(), locationCodes.ToDecimalArray(), isActive, searchText);

            if (exportedActivities == null || exportedActivities.Count() == 0)
            {
                return(NotFound());
            }

            var csvReport = string.Join(Environment.NewLine, exportedActivities.Select(x => x.ToCsv()));

            csvReport = $"{CsvUtils.GetCsvHeader<ActivityCodeSearchExportDto>()}{Environment.NewLine}{csvReport}";

            var encoding = new UTF8Encoding();
            var bytes    = encoding.GetBytes(csvReport);

            return(File(bytes, "text/csv;charset=UTF-8", fileName));
        }