public async Task <List <UserListings> > SearchFilter(SearchListingRequest searchListingRequest) { try { using (var context = new ApiMohoContext()) { if (searchListingRequest.CityType != null && searchListingRequest.CountryType != null && searchListingRequest.FilterType != null && searchListingRequest.ProvinceType != null) { var userListings = await context.UserListings.Where(a => a.ListingEnabled == true && a.ListingTypeRefId == searchListingRequest.FilterType && a.CountryRefId == searchListingRequest.CountryType && a.ProvinceRefId == searchListingRequest.ProvinceType && a.CityRefId == searchListingRequest.CityType).ToListAsync(); return(userListings); } else if (searchListingRequest.CountryType != null && searchListingRequest.FilterType != null && searchListingRequest.ProvinceType != null) { var userListings = await context.UserListings.Where(a => a.ListingEnabled == true && a.ListingTypeRefId == searchListingRequest.FilterType && a.CountryRefId == searchListingRequest.CountryType && a.ProvinceRefId == searchListingRequest.ProvinceType).ToListAsync(); return(userListings); } else if (searchListingRequest.CountryType != null && searchListingRequest.FilterType != null) { var userListings = await context.UserListings.Where(a => a.ListingEnabled == true && a.ListingTypeRefId == searchListingRequest.FilterType && a.CountryRefId == searchListingRequest.CountryType).ToListAsync(); return(userListings); } else if (searchListingRequest.FilterType != null) { var userListings = await context.UserListings.Where(a => a.ListingEnabled == true && a.ListingTypeRefId == searchListingRequest.FilterType).ToListAsync(); return(userListings); } else { var userListings = await context.UserListings.Where(a => a.ListingEnabled == true).ToListAsync(); return(userListings); } } } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <IActionResult> SearchListings([FromBody] SearchListingRequest searchListingRequest) { try { var searchResult = await _listingCommand.SearchFilterList(searchListingRequest); return(Ok(searchResult)); } catch (Exception ex) { _logger.LogError($"error while getting filter list {ex}"); return(StatusCode((int)HttpStatusCode.InternalServerError, "error while getting filter list")); } }
public async Task <UserListingCollectionDto> SearchFilterList(SearchListingRequest searchListingRequest) { try { var listings = await _listingRepository.SearchFilter(searchListingRequest); var allListingDto = new UserListingCollectionDto(); allListingDto.ListingsCollection = new List <UserListingDto>(); var lis = new List <UserListingDto>(); foreach (var listing in listings) { var listingDto = new UserListingDto { Address = listing.Address, ListingType = EnumHelper.GetListingEnumString((int)listing.ListingTypeRefId), City = EnumHelper.GetCityEnumString((int)listing.CityRefId), Country = EnumHelper.GetCountryEnumString((int)listing.CountryRefId), Province = EnumHelper.GetProvinceEnumString((int)listing.ProvinceRefId), Email = listing.Email, FullName = listing.FullName, PhoneNumber = listing.PhoneNumber, LastUpdatedDate = listing.LastUpdatedDate, ListingDate = listing.ListingDate, ListingDescription = listing.ListingDescription, ListingTitle = listing.ListingTitle, UserListingId = listing.UserListingId, OwnerId = listing.OwnerId, ListingEnabled = listing.ListingEnabled }; allListingDto.ListingsCollection.Add(listingDto); } return(allListingDto); } catch (Exception ex) { _logger.LogError($"error while searching: {ex}"); throw ex.GetBaseException(); } }