Пример #1
0
        public async Task <IActionResult> FindInstitutionsWithFilter([FromQuery] InstitutionFilterRequestDTO requestDTO)
        {
            var resultList = await _institutionService.GetInstitutionsWithFilterAsync(requestDTO);

            if (resultList == null)
            {
                return(new OkObjectResult(new List <InstitutionResponseDTO>()));
            }
            var instanceList = _mapper.Map <List <Institution>, List <InstitutionResponseDTO> >(resultList);

            return(new OkObjectResult(instanceList));
        }
Пример #2
0
        public async Task <List <Domain.Model.Institution.Institution> > GetInstitutionsWithFilterAsync(InstitutionFilterRequestDTO filterRequestDTO)
        {
            var query = _repository.QueryWithoutTracking <Domain.Model.Institution.Institution>().Where(q => q.Status == Core.Enumarations.StatusType.Active);

            if (!string.IsNullOrEmpty(filterRequestDTO.Code))
            {
                query = query.Where(q => q.Code == filterRequestDTO.Code);
            }

            if (!string.IsNullOrEmpty(filterRequestDTO.EmailAddress))
            {
                query = query.Where(q => q.EmailAddress == filterRequestDTO.EmailAddress);
            }

            if (!string.IsNullOrEmpty(filterRequestDTO.Name))
            {
                query = query.Where(q => q.Name == filterRequestDTO.Name);
            }

            if (!string.IsNullOrEmpty(filterRequestDTO.PhoneNumber))
            {
                query = query.Where(q => q.PhoneNumber == filterRequestDTO.PhoneNumber);
            }


            query = query.Skip(filterRequestDTO.Start * filterRequestDTO.Length).Take(filterRequestDTO.Length);

            var institutionList = await query.ToListAsync();

            return(institutionList ?? new List <Domain.Model.Institution.Institution>());
        }