Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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));
        }
Exemplo n.º 9
0
        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();
        }
Exemplo n.º 10
0
        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));
        }