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)); } }
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)); } }