public ActionResult UpdateFavorite(Guid id, FavoriteUpdateCreateBaseDto favoriteUpdateDto) { if (!Request.Headers.ContainsKey("token")) { return Unauthorized(); } var auth = Request.Headers["token"]; var accountModel = _validate.GetAccountByToken(auth); if (accountModel == null) { return Unauthorized(); } var favoriteModelFromRepo = _repository.GetFavoiteById(id, accountModel.Id); if(favoriteModelFromRepo == null) { return NotFound(); } _mapper.Map(favoriteUpdateDto, favoriteModelFromRepo); _repository.UpdateFavorite(favoriteModelFromRepo); _repository.SaveChanges(); return NoContent(); }
public ActionResult <FavoriteReadDto> CreateFavorite(FavoriteUpdateCreateBaseDto favoriteUpdateCreate) { var favoriteModel = _mapper.Map<Favorites>(favoriteUpdateCreate); if(_validate.GetAccountById(favoriteModel.AccountId) == null) { ModelState.AddModelError("accountId", $"The account with key: {favoriteModel.AccountId}, does not exist"); return ValidationProblem(); } _repository.CreateFavorite(favoriteModel); _repository.SaveChanges(); var favoriteReadDto = _mapper.Map<FavoriteReadDto>(favoriteModel); return CreatedAtAction(nameof(CreateFavorite), new {id = favoriteReadDto.Id}, favoriteReadDto); }