public void AddRemoveUserFavourite(UserFavouriteModel model) { var advertEntity = _advertRepo.GetAdvertById(model.AdvertId); if (advertEntity == null || advertEntity.State == "Deleted") { throw new NotFoundApiException("Advert does not exist"); } var userEntity = _repo.GetUser(model.UserId); if (userEntity == null) { throw new NotFoundApiException("User does not exist"); } var joinEntity = new FavouriteJoin(); joinEntity.UserId = model.UserId; joinEntity.AdvertId = model.AdvertId; if (userEntity.FavouriteJoins.FirstOrDefault(join => join.AdvertId == model.AdvertId) == null) { _repo.AddUserFavourite(joinEntity); } else { _repo.RemoveUserFavourite(joinEntity); } }
public IActionResult AddRemoveUserFavourite(UserFavouriteModel model) { _userService.AddRemoveUserFavourite(model); return(NoContent()); }