Пример #1
0
        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;
            }
        }
Пример #2
0
        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"));
            }
        }
Пример #3
0
        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();
            }
        }