public async Task <IHttpActionResult> UpdatePhoto(int id, [FromBody] PhotoUpdateModel photoUpdate) { if (ModelState.IsValid) { if (id != photoUpdate.Id) { return(BadRequest("Ids doesn't match.")); } if (PhotoService.GetOwnerId(id) != User.Identity.GetUserId()) { return(Unauthorized()); } var result = await PhotoService.UpdateInfo(photoUpdate); if (result.Succedeed) { return(Ok()); } else { return(BadRequest(result.Message)); } } else { return(BadRequest(ModelState)); } }
public async Task <OperationDetails> UpdateInfo(PhotoUpdateModel updateModel) { if (updateModel == null || updateModel.CategoriesIds == null) { return(new OperationDetails(false, "Input is not valid.", "")); } Photo photo = Database.PhotoManager.GetInfo(updateModel.Id); if (photo == null) { return(new OperationDetails(false, "Photo not found.", "")); } List <Category> categories = new List <Category>(); foreach (var catId in updateModel.CategoriesIds) { Category category = Database.CategoryManager.Read(catId); if (category == null) { return(new OperationDetails(false, "Category not found.", catId.ToString())); } categories.Add(category); } photo.Description = updateModel.Description; photo.IsPrivate = updateModel.IsPrivate; photo.Categories = categories; Database.PhotoManager.Update(photo); await Database.SaveAsync(); return(new OperationDetails(true, "Photo updated.", "")); }
public async Task <ActionResult> PutPhoto([FromRoute] int photoId, [FromBody] PhotoUpdateModel photoUpdateModel) { var photoUpdateDTO = mapper.Map <PhotoUpdateDTO>(photoUpdateModel, opt => { opt.Items["photoId"] = photoId; opt.Items["userId"] = UserId; }); await photoService.UpdatePhotoAsync(photoUpdateDTO); return(Ok()); }
public void PutPhoto_Should_ReturnOk() { var photoId = 1; var photoModel = new PhotoUpdateModel { Name = "name" }; mockService.Setup(s => s.UpdatePhotoAsync(It.Is <PhotoUpdateDTO>(dto => dto.Name == photoModel.Name))).Verifiable(); controller.PutPhoto(photoId, photoModel).Result.Should().BeOfType <OkResult>(); mockService.Verify(); }
public IActionResult Update(Guid photoid, [FromBody] PhotoUpdateModel model) { var photo = _mapper.Map <Photo>(model); photo.PhotoRowguid = photoid; try { _photoService.Update(photo); return(Ok()); } catch (AppException ex) { return(BadRequest(new { message = ex.Message })); } }