public List <ListingModel> MyListings(int userId, bool approved) { var query = _context.Listing .Include(x => x.ListingImages) .Where(x => x.UserId == userId) .Where(x => x.Approved == approved) .AsQueryable(); var list = query.ToList(); List <Model.ListingModel> result = new List <ListingModel>(); foreach (var item in list) { var newListingModel = new Model.ListingModel { Bathrooms = item.Bathrooms, Beds = item.Beds, Persons = item.Persons, City = item.City, Name = item.Name, ListingId = item.ListingId }; //mapping images if (_context.ListingImage.Any(x => x.ListingId == item.ListingId)) { newListingModel.Image = _context.ListingImage.FirstOrDefault(x => x.ListingId == item.ListingId).Image; } result.Add(newListingModel); } return(result); }
public ListingModel GetListing(int listingId) { var item = _context.Listing.SingleOrDefault(x => x.ListingId == listingId); var listing = new Model.ListingModel { Bathrooms = item.Bathrooms, Beds = item.Beds, Persons = item.Persons, City = item.City, Name = item.Name, ListingId = item.ListingId }; if (_context.ListingImage.Any(x => x.ListingId == item.ListingId)) { listing.Image = _context.ListingImage.FirstOrDefault(x => x.ListingId == item.ListingId).Image; } return(listing); }
public List <ListingModel> GetListingsModels(ListingsModelsSearchRequest request) { var query = _context.Listing .Include(x => x.ListingImages) .Where(x => x.Approved) .Where(x => x.UserId != request.UserId) .AsQueryable(); if (!string.IsNullOrWhiteSpace(request.City)) { query = query.Where(x => x.City.StartsWith(request.City)); } if (request.TerritoryId != null && request.TerritoryId != -1) { query = query.Where(x => x.TerritoryId == request.TerritoryId); } if (request.Persons != null && request.Persons != 0) { query = query.Where(x => x.Persons == request.Persons); } if (request.Beds != null && request.Beds != 0) { query = query.Where(x => x.Beds == request.Beds); } if (request.Bathrooms != null && request.Bathrooms != 0) { query = query.Where(x => x.Bathrooms == request.Bathrooms); } var list = query.ToList(); list = list.OrderByDescending(x => x.DateApproved).ToList(); if (request.Amenities != null && request.Amenities.Count > 0) { try { for (int i = list.Count - 1; i >= 0; i--) //foreach (var listing in list) { var listing = list[i]; foreach (var amenity in request.Amenities) { if (!_context.ListingAmenity .Any(x => x.ListingId == listing.ListingId && x.AmenityId == amenity)) { list.Remove(listing); break; } } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } } List <Model.ListingModel> result = new List <ListingModel>(); foreach (var item in list) { var newListingModel = new Model.ListingModel { Bathrooms = item.Bathrooms, Beds = item.Beds, Persons = item.Persons, City = item.City, Name = item.Name, ListingId = item.ListingId }; //mapping images if (_context.ListingImage.Any(x => x.ListingId == item.ListingId)) { newListingModel.Image = _context.ListingImage.FirstOrDefault(x => x.ListingId == item.ListingId).Image; } result.Add(newListingModel); } return(result); }