public async Task <Page <SalaryEntryDto> > SearchSalaryEntriesAsync(SearchSalaryEntriesRequest request, PaginationRequest paginationRequest, CancellationToken cancellationToken) { var caller = CallerExtensions.LogCaller(); var pageDto = await SearchAsync((pageOptions) => _salaryEntryService.SearchSalaryEntries(request.Filter, request.Sort, pageOptions), paginationRequest, caller.Method, cancellationToken); return(pageDto); }
public async Task <CommandResult <Page <SalaryEntryDto> > > SearchSalaryEntriesAsync(SearchSalaryEntriesRequest request, CancellationToken cancellationToken) { var parameters = new { request, cancellationToken }; try { if (request == null) { return(ExceptionExtensions.GetBadResponse <Page <SalaryEntryDto> >(parameters)); } //request.Filter = RequestExtensions.GetFilterRequest(Request.Url.Query); //parameters = new { request, cancellationToken }; } catch (Exception e) { return(e.GetBadResponse <Page <SalaryEntryDto> >(parameters)); } var validator = new SearchSalaryEntriesRequestValidator(); var validationResult = await validator.ValidateAsync(request, cancellationToken); if (!validationResult.IsValid) { return(validationResult.GetBadResponse <Page <SalaryEntryDto> >(parameters)); } try { var paginationRequest = new PaginationRequest() { Cursor = null, Limit = DefaultPageLimit }; var dtoPage = await _moduleImpl.SearchSalaryEntriesAsync(request, paginationRequest, cancellationToken); if (dtoPage == null) { return(CommandResult <Page <SalaryEntryDto> > .NotFound()); } return(CommandResult <Page <SalaryEntryDto> > .Ok(dtoPage)); } catch (UnsupportedFilterPropertyException unsupportedFilterProperty) { return(unsupportedFilterProperty.GetBadResponse <Page <SalaryEntryDto> >(parameters)); } catch (EntityPropertyNameNotDefinedException entityPropertyNameNotDefined) { return(entityPropertyNameNotDefined.GetBadResponse <Page <SalaryEntryDto> >(parameters)); } catch (Exception e) { return(e.GetInternalServerErrorResponse <Page <SalaryEntryDto> >(parameters)); } }