public async Task <PagesList <Adventure> > GetAdventures(AdventureParams adventureParams) { var adventures = _context.Adventures .Include(aP => aP.AdventurePhotos) .OrderByDescending(a => a.DateAdded) .AsQueryable(); // adventures = adventures.Where(a => a.Id == adventureParams.AdventureId); if (adventureParams.MinDistance != 0 || adventureParams.MaxDistance != 10000) { var minDistance = (adventureParams.MinDistance); var maxDistance = (adventureParams.MaxDistance); adventures = adventures.Where(a => a.Distance >= minDistance && a.Distance <= maxDistance); } if (adventureParams.TypeBicycle != "Wszystkie") { adventures = adventures.Where(a => a.TypeBicycle == adventureParams.TypeBicycle); } if (adventureParams.UserLikesAdventure) { // var UserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var userLikesAdventure = await GetAdventureLikes(adventureParams.UserId, adventureParams.AdventureIsLiked); adventures = adventures.Where(u => userLikesAdventure.Contains(u.Id)); } if (adventureParams.AdventureIsLiked) { // var UserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var adventureIsLiked = await GetAdventureLikes(adventureParams.UserId, adventureParams.UserLikesAdventure); adventures = adventures.Where(u => adventureIsLiked.Contains(u.Id)); } if (!string.IsNullOrEmpty(adventureParams.OrderBy)) { switch (adventureParams.OrderBy) { case "dateAdded": adventures = adventures.OrderByDescending(a => a.DateAdded); break; default: adventures = adventures.OrderByDescending(a => a.Distance); break; } } return(await PagesList <Adventure> .CreateListAsync(adventures, adventureParams.PageNumber, adventureParams.PageSize)); }
public async Task <PagesList <SellBicycle> > GetSellBicycles(SellBicycleParams sellBicycleParams) { var sellBicycles = _context.SellBicycles.Include(s => s.SellBicyclePhotos).Include(u => u.User).OrderByDescending(s => s.DateAdded).AsQueryable(); if (sellBicycleParams.MinPrice != 0 || sellBicycleParams.MaxPrice != 10000) { var minPrice = (sellBicycleParams.MinPrice); var maxPrice = (sellBicycleParams.MaxPrice); sellBicycles = sellBicycles.Where(s => s.Price >= minPrice && s.Price <= maxPrice); } if (sellBicycleParams.TypeBicycle != "Wszystkie") { sellBicycles = sellBicycles.Where(a => a.TypeBicycle == sellBicycleParams.TypeBicycle); } if (sellBicycleParams.UserLikesSellBicycle) { // var UserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var userLikesAdventure = await GetSellBicycleLikes(sellBicycleParams.UserId, sellBicycleParams.SellBicycleIsLiked); sellBicycles = sellBicycles.Where(u => userLikesAdventure.Contains(u.Id)); } if (sellBicycleParams.SellBicycleIsLiked) { // var UserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var adventureIsLiked = await GetSellBicycleLikes(sellBicycleParams.UserId, sellBicycleParams.UserLikesSellBicycle); sellBicycles = sellBicycles.Where(u => adventureIsLiked.Contains(u.Id)); } if (!string.IsNullOrEmpty(sellBicycleParams.OrderBy)) { switch (sellBicycleParams.OrderBy) { case "dateAdded": sellBicycles = sellBicycles.OrderByDescending(a => a.DateAdded); break; default: sellBicycles = sellBicycles.OrderBy(a => a.Price); break; } } return(await PagesList <SellBicycle> .CreateListAsync(sellBicycles, sellBicycleParams.PageNumber, sellBicycleParams.PageSize)); }
public async Task <PagesList <Message> > GetMessagesForUser(MessageParams messageParams) { var messages = _context.Messages.Include(u => u.Sender).ThenInclude(p => p.UserPhotos) .Include(u => u.Recipient).ThenInclude(p => p.UserPhotos).AsQueryable(); switch (messageParams.MessageContainer) { case "Inbox": messages = messages.Where(u => u.RecipientId == messageParams.UserId && u.RecipientDeleted == false); break; case "Outbox": messages = messages.Where(u => u.SenderId == messageParams.UserId && u.SenderDeleted == false); break; default: messages = messages.Where(u => u.RecipientId == messageParams.UserId && u.IsRead == false && u.RecipientDeleted == false); break; } messages = messages.OrderByDescending(d => d.DateSent); return(await PagesList <Message> .CreateListAsync(messages, messageParams.PageNumber, messageParams.PageSize)); }
public async Task <PagesList <User> > GetUsers(UserParams userParams) { var users = _context.Users.Include(p => p.UserPhotos) .Include(a => a.Adventures) .Include(s => s.SellBicycles) .OrderByDescending(u => u.LastActive) .AsQueryable(); users = users.Where(u => u.Id != userParams.UserId); //users = users.Where(u => u.Gender == userParams.Gender); //wybieranie płci => UsersController if (userParams.Gender != "Wszystkie") { users = users.Where(u => u.Gender == userParams.Gender); } if (userParams.UserLikes) { var userLikes = await GetUserLikes(userParams.UserId, userParams.UserLikes); users = users.Where(u => userLikes.Contains(u.Id)); } if (userParams.UserIsLiked) { var UserIsLiked = await GetUserLikes(userParams.UserId, userParams.UserLikes); users = users.Where(u => UserIsLiked.Contains(u.Id)); } if (userParams.AdventureIsLiked) { var AdventureIsLiked = await GetUserLikesAdventure(userParams.UserId, userParams.UserLikesAdventure); users = users.Where(u => AdventureIsLiked.Contains(u.Id)); } if (userParams.UserLikesAdventure) { var userLikesAdventure = await GetUserLikesAdventure(userParams.UserId, userParams.UserLikesAdventure); users = users.Where(u => userLikesAdventure.Contains(u.Id)); } if (userParams.MinAge != 0 || userParams.MaxAge != 100) { var minDate = DateTime.Today.AddYears(-userParams.MaxAge - 1); var maxDate = DateTime.Today.AddYears(-userParams.MinAge); users = users.Where(u => u.DateOfBirth >= minDate && u.DateOfBirth <= maxDate); } if (userParams.TypeBicycle != "Wszystkie") { users = users.Where(u => u.TypeBicycle == userParams.TypeBicycle); } if (!string.IsNullOrEmpty(userParams.OrderBy)) { switch (userParams.OrderBy) { case "created": users = users.OrderByDescending(u => u.Created); break; default: users = users.OrderByDescending(u => u.LastActive); break; } } return(await PagesList <User> .CreateListAsync(users, userParams.PageNumber, userParams.PageSize)); }