public async Task <IEnumerable <ReportResponseDto> > GetReportsAsync(ApplicationSearchFilterDto filter)
        {
            var reports = await this.dbContext
                          .Applications
                          .FilterApplications(filter)
                          .ProjectTo <ReportResponseDto>(this.mapper.ConfigurationProvider)
                          .OrderBy(x => x.FirstName)
                          .ToListAsync();

            return(reports);
        }
        public async Task <IActionResult> ExportExcel([FromQuery] ApplicationSearchFilterDto filter)
        {
            var reports = await this.reportService.GetReportsAsync(filter);

            return(this.ConvertToExcel(reports));
        }
 public async Task <IEnumerable <ReportResponseDto> > GetReports([FromQuery] ApplicationSearchFilterDto filter)
 {
     return(await this.reportService.GetReportsAsync(filter));
 }
        public static IQueryable <Application> FilterApplications(this IQueryable <Application> applications, ApplicationSearchFilterDto filter)
        {
            if (!string.IsNullOrEmpty(filter.FirstName))
            {
                applications = applications.Where(app => app.FirstName.ToLower().Contains(filter.FirstName.ToLower()));
            }

            if (!string.IsNullOrEmpty(filter.LastName))
            {
                applications = applications.Where(app => app.LastName.ToLower().Contains(filter.LastName.ToLower()));
            }

            if (!string.IsNullOrEmpty(filter.City))
            {
                applications = applications.Where(app => app.City.ToLower().Contains(filter.City.ToLower()));
            }

            if (!string.IsNullOrEmpty(filter.Municipality))
            {
                applications = applications.Where(app => app.Municipality.ToLower().Contains(filter.Municipality.ToLower()));
            }

            if (!string.IsNullOrEmpty(filter.Region))
            {
                applications = applications.Where(app => app.Region.ToLower().Contains(filter.Region.ToLower()));
            }

            if (filter.Status.HasValue)
            {
                applications = applications.Where(app => app.Status == filter.Status.Value);
            }

            return(applications);
        }
Example #5
0
        public async Task <IActionResult> ExportExcel([FromQuery] ApplicationSearchFilterDto filter)
        {
            var applications = await this.appService.GetAllApplicationsAsync(filter);

            return(this.ConvertToExcel(applications));
        }
Example #6
0
 public async Task <IEnumerable <ApplicationResponseDto> > GetApplications([FromQuery] ApplicationSearchFilterDto filter)
 {
     return(await this.appService.GetAllApplicationsAsync(filter));
 }