/// <summary> /// <inheritdoc /> /// </summary> /// <param name="id"></param> /// <param name="model"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <Hobby> EditHobbyAsync(int id, EditHobbyViewModel model, CancellationToken cancellationToken = default(CancellationToken)) { //Find hobby by id var hobbies = _unitOfWork.Hobbies.Search(); var hobby = await hobbies.FirstOrDefaultAsync(x => x.Id == id, cancellationToken); if (hobby == null) { throw new HttpException((int)HttpStatusCode.NotFound, HttpMessages.HobbyNotFound); } //Update hobby if (!string.IsNullOrEmpty(model.Name)) { hobby.Name = model.Name; } if (!string.IsNullOrEmpty(model.Description)) { hobby.Description = model.Description; } //Save change to database await _unitOfWork.CommitAsync(); return(hobby); }
public async Task <IHttpActionResult> EditHobby([FromUri] int id, [FromBody] EditHobbyViewModel model) { //Check null for model if (model == null) { model = new EditHobbyViewModel(); Validate(model); } //Validate model if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var hobby = await _hobbyService.EditHobbyAsync(id, model, CancellationToken.None); return(Ok(hobby)); }
public async Task <IHttpActionResult> EditHobby([FromUri] int id, [FromBody] EditHobbyViewModel model) { //Check null for model if (model == null) { model = new EditHobbyViewModel(); Validate(model); } //Validate model if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //Find hobby by id var hobbies = _unitOfWork.Hobbies.Search(); var hobby = await hobbies.FirstOrDefaultAsync(x => x.Id == id); if (hobby == null) { return(NotFound()); } //Update hobby if (!string.IsNullOrEmpty(model.Name)) { hobby.Name = model.Name; } if (!string.IsNullOrEmpty(model.Description)) { hobby.Description = model.Description; } //Save change to database await _unitOfWork.CommitAsync(); return(Ok(hobby)); }