public async Task <PagedList <ClassifiedAds> > GetUserLikedClassifiedAds(ClassifiedAdsParams classifiedAdsParams) { var userLikes = await GetUserLikesClassifiedAds(classifiedAdsParams.userId); var classifiedAds = await _context.ClassifiedAds.Where(ca => userLikes.Contains(ca.Id) && ca.Status == "Approved").ToListAsync(); return(PagedList <ClassifiedAds> .Create(classifiedAds, classifiedAdsParams.PageNumber, classifiedAdsParams.PageSize)); }
public async Task <PagedList <ClassifiedAds> > GetUserLikedClassifiedAds(ClassifiedAdsParams classifiedAdsParams) { var userLikes = await GetUserLikesClassifiedAds(classifiedAdsParams.userId); var classifiedAds = _context.ClassifiedAds.Where(ca => userLikes.Contains(ca.Id)).AsQueryable(); return(await PagedList <ClassifiedAds> .CreateAsync(classifiedAds, classifiedAdsParams.PageNumber, classifiedAdsParams.PageSize)); }
public PagedList <ClassifiedAds> GetRelevantClassifiedAds(string city, ClassifiedAdsParams classifiedAdsParams) { var classifiedAds = _context.ClassifiedAds.AsEnumerable().Where(vd => vd.DateAdded.CalculateValidTo() && vd.AppUserId != classifiedAdsParams.userId && vd.Status == "Approved").OrderByDescending(ca => ca.City.Equals(city) && ca.City.Equals("Сите градови")).ToList(); return(PagedList <ClassifiedAds> .Create(classifiedAds, classifiedAdsParams.PageNumber, classifiedAdsParams.PageSize)); //classifiedAds = classifiedAds.OrderByDescending(ca => ca.City.Equals(city)).ToList(); //var top5ClassifiedAdsOrderByCity = await classifiedAds.OrderBy(ca => ca.City.Equals(city)).Take(5).ToListAsync(); }
public async Task <IActionResult> GetClassifiedAds([FromQuery] ClassifiedAdsParams classifiedAdsParams) { var classifiedAds = await _repo.GetClassifiedAds(classifiedAdsParams); var classifiedAdsToReturn = _mapper.Map <IEnumerable <ClassifiedAdsDto> >(classifiedAds); Response.AddPagination(classifiedAds.CurrentPage, classifiedAds.PageSize, classifiedAds.TotalCount, classifiedAds.TotalPages); return(Ok(classifiedAdsToReturn)); }
public async Task <IActionResult> GetLikedClassifiedAds([FromQuery] ClassifiedAdsParams classifiedAdsParams) { if (classifiedAdsParams.userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var classifiedAds = await _repo.GetUserLikedClassifiedAds(classifiedAdsParams); var classifiedAdsToReturn = _mapper.Map <IEnumerable <ClassifiedAdsDto> >(classifiedAds); Response.AddPagination(classifiedAds.CurrentPage, classifiedAds.PageSize, classifiedAds.TotalCount, classifiedAds.TotalPages); return(Ok(classifiedAdsToReturn)); }
public async Task <IActionResult> GetLikedClassifiedAds([FromQuery] ClassifiedAdsParams classifiedAdsParams) { var user = await _userManager.Users.SingleOrDefaultAsync(x => x.UserName == classifiedAdsParams.userId); if (user == null) { return(Unauthorized()); } var classifiedAds = await _repo.GetUserLikedClassifiedAds(classifiedAdsParams); var classifiedAdsToReturn = _mapper.Map <IEnumerable <ClassifiedAdsDto> >(classifiedAds); Response.AddPagination(classifiedAds.CurrentPage, classifiedAds.PageSize, classifiedAds.TotalCount, classifiedAds.TotalPages); return(Ok(classifiedAdsToReturn)); }
public IActionResult GetRelevantClassifiedAds([FromQuery] ClassifiedAdsParams classifiedAdsParams) { /*if (classifiedAdsParams.userId != User.FindFirst(ClaimTypes.NameIdentifier).Value) * { * return Unauthorized(); * }*/ var city = User.FindFirst(ClaimTypes.StateOrProvince).Value; var classifiedAds = _repo.GetRelevantClassifiedAds(city, classifiedAdsParams); /*var classifiedAdsToReturnWithLiked = classifiedAds; * * var classifiedAdsToReturn = _mapper.Map<IEnumerable<ClassifiedAdsDto>>(classifiedAds); * * foreach(var ca in classifiedAdsToReturn) * { * ca.IsLiked = classifiedAdsToReturnWithLiked.FirstOrDefault(lus => lus.LikersUsers.Where(lu => lu.LikerUserId == classifiedAdsParams.userId).FirstOrDefault() != null) != null ? true : false; * }*/ var classifiedAdsToReturn = new List <ClassifiedAdsDto>(); foreach (var ca in classifiedAds) { ClassifiedAdsDto classifiedAd = new ClassifiedAdsDto(); classifiedAd.Id = ca.Id; classifiedAd.Title = ca.Title; classifiedAd.Description = ca.Description; classifiedAd.City = ca.City; classifiedAd.Age = ca.DateAdded.CalculateAge(); classifiedAd.PhotoUrl = ca.Photos.FirstOrDefault(p => p.IsMain).Url; classifiedAd.AppUserId = ca.AppUserId; classifiedAd.IsLiked = ca.LikersUsers.Where(lu => lu.LikerUserId == classifiedAdsParams.userId).FirstOrDefault() != null ? true : false; classifiedAdsToReturn.Add(classifiedAd); } Response.AddPagination(classifiedAds.CurrentPage, classifiedAds.PageSize, classifiedAds.TotalCount, classifiedAds.TotalPages); return(Ok(classifiedAdsToReturn)); }
public PagedList <ClassifiedAds> GetClassifiedAds(ClassifiedAdsParams classifiedAdsParams) { var classifiedAds = _context.ClassifiedAds.AsEnumerable().Where(vd => vd.DateAdded.CalculateValidTo() && vd.Status == "Approved").OrderByDescending(ca => ca.DateAdded).ToList(); return(PagedList <ClassifiedAds> .Create(classifiedAds, classifiedAdsParams.PageNumber, classifiedAdsParams.PageSize)); }
public async Task <PagedList <ClassifiedAds> > GetRelevantClassifiedAds(string city, ClassifiedAdsParams classifiedAdsParams) { var classifiedAds = _context.ClassifiedAds.Where(vd => vd.DateAdded.CalculateValidTo() && vd.UserId != classifiedAdsParams.userId).OrderByDescending(ca => ca.City.Equals(city)); return(await PagedList <ClassifiedAds> .CreateAsync(classifiedAds, classifiedAdsParams.PageNumber, classifiedAdsParams.PageSize)); //classifiedAds = classifiedAds.OrderByDescending(ca => ca.City.Equals(city)).ToList(); //var top5ClassifiedAdsOrderByCity = await classifiedAds.OrderBy(ca => ca.City.Equals(city)).Take(5).ToListAsync(); }
public async Task <PagedList <ClassifiedAds> > GetClassifiedAds(ClassifiedAdsParams classifiedAdsParams) { var classifiedAds = _context.ClassifiedAds.Where(vd => vd.DateAdded.CalculateValidTo()); return(await PagedList <ClassifiedAds> .CreateAsync(classifiedAds, classifiedAdsParams.PageNumber, classifiedAdsParams.PageSize)); }