コード例 #1
0
        public async Task <IActionResult> AddPlaceToFavourites(string userId, int placeId)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var placeRating = await _dbContext.Ratings.Where(r => r.UserId == userId && r.PlaceId == placeId).FirstOrDefaultAsync();

                    //means that user has earlier either added this place by himself or just added comment to this place
                    if (placeRating != null)
                    {
                        placeRating.IsFavourite = true;
                    }
                    else
                    {
                        var newPlaceRating = new Rating
                        {
                            UserId            = userId,
                            PlaceId           = placeId,
                            IsAddedByThisUser = false,
                            IsFavourite       = true
                        };
                        _dbContext.Ratings.Add(newPlaceRating);
                    }
                    _dbContext.SaveChanges();
                    return(Ok());
                }
                return(BadRequest(ModelState));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
コード例 #2
0
        public async Task <IActionResult> AddToFavourites(string userId, int routeId)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var rating = await _dbContext.Ratings.Where(r => r.UserId == userId && r.RouteId == routeId).FirstOrDefaultAsync();

                    if (rating != null)
                    {
                        rating.IsFavourite = true;
                    }
                    else
                    {
                        rating = new Rating
                        {
                            UserId            = userId,
                            RouteId           = routeId,
                            IsAddedByThisUser = false,
                            IsFavourite       = true
                        };
                        _dbContext.Ratings.Add(rating);
                    }
                    _dbContext.SaveChanges();
                    return(Ok());
                }
                return(BadRequest(ModelState));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }