public IActionResult Update([FromRoute] string id, ImageUpdateDto imageUpdateDto) { if (id != imageUpdateDto.Id) { return(BadRequest()); } imageBusinessLogic.Update(imageUpdateDto); return(NoContent()); }
public async Task <IActionResult> PutImage(int articleId, int id, [FromBody] ImageUpdateDto imageUpdateDto) { var article = await _context.Articles.FindAsync(articleId); if (article == null) { return(NotFound()); } var image = await _context.Images.FindAsync(id); if (image == null) { return(NotFound()); } if (image.ArticleId != articleId) { return(BadRequest()); } _mapper.Map(imageUpdateDto, image); if (image.IsMain) { var mainImage = _context.Images.FirstOrDefault(i => i.ArticleId == articleId && i.IsMain && i.Id != id); if (mainImage != null) { mainImage.IsMain = false; } } try { await _context.SaveChangesAsync().ConfigureAwait(false); } catch (DbUpdateConcurrencyException) { if (!ImageExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
private async Task <ImageResponse> UpdateImage(ImageUpdateDto image) { var content = new StringContent(JsonConvert.SerializeObject(image), Encoding.UTF8, "application/json"); var response = await _httpClient.PutAsync("v2/Images", content).ConfigureAwait(false); var stringResponse = await response.Content.ReadAsStringAsync().ConfigureAwait(false); if (!response.IsSuccessStatusCode) { throw new Exception($"Error in {nameof(UpdateImage)}. Status code: {response.StatusCode}. Error: {stringResponse}"); } return(JsonConvert.DeserializeObject <ImageResponse>(stringResponse)); }
public ActionResult UpDateImage(int id, ImageUpdateDto imageUpdateDto) { var imageFromRepo = _imageRepository.GetImage(id); if (imageFromRepo == null) { return(NotFound()); } _mapper.Map(imageUpdateDto, imageFromRepo); _imageRepository.UpdateImage(imageFromRepo); _imageRepository.SaveChanges(); return(NoContent()); }
public async Task GettingUpdatedImageReturnsUpdatedValues() { var savedImage = await CreateNewImage().ConfigureAwait(false); var update = new ImageUpdateDto { image = new ImageViewModel { Date = DateTime.Now.ToString(), Description = "newDescription", Annotation = ObjectId.GenerateNewId().ToString(), Id = savedImage.Image.Id, Filename = "newFilename", Inverted = ObjectId.GenerateNewId().ToString(), Tags = new [] { "newTag1" }, Thumb = new Thumbnail { ContentId = savedImage.Image.Thumb.ContentId.ToString(), Filename = "updateThumbFilename" }, Title = "updatedTitle" }, password = new ConfigurationManager(new LocalFile()).GetPassword(), }; await UpdateImage(update).ConfigureAwait(false); var updatedImage = await GetImage(savedImage.Image.Id).ConfigureAwait(false); Assert.That(updatedImage.Image.Date, Is.EqualTo(update.image.Date)); Assert.That(updatedImage.Image.Description, Is.EqualTo(update.image.Description)); Assert.That(updatedImage.Image.Annotation, Is.EqualTo(update.image.Annotation)); Assert.That(updatedImage.Image.Filename, Is.EqualTo(update.image.Filename)); Assert.That(updatedImage.Image.Inverted, Is.EqualTo(update.image.Inverted)); Assert.That(updatedImage.Image.Tags.Single(), Is.EqualTo(update.image.Tags.Single())); Assert.That(updatedImage.Image.Thumb.ContentId, Is.EqualTo(update.image.Thumb.ContentId)); Assert.That(updatedImage.Image.Thumb.Filename, Is.EqualTo(update.image.Thumb.Filename)); Assert.That(updatedImage.Image.Title, Is.EqualTo(update.image.Title)); }
public ActionResult UpdateImage([FromBody] ImageUpdateDto imageVm) { try { if (!SecurityHandler.IsValidPassword(imageVm?.password)) { throw new UnauthorizedAccessException(); } if (imageVm?.image != null) { var image = imageVm.image.ToImage(); var originalImage = DataAccess.Get(image.Id.ToString()); image.Revisions = originalImage.Revisions; DataAccess.Update(image); return(new OkObjectResult(GetImageById(imageVm.image.Id))); } return(new BadRequestObjectResult("invalid image for update")); } catch (Exception ex) { throw ex; } }
void IImageBusinessLogic.Update(ImageUpdateDto imageUpdateDto) { throw new System.NotImplementedException(); }
public async Task GetImageTag() { var tag = Guid.NewGuid().ToString(); var revisionDescription = "revisionDescription"; var savedImage = await CreateNewImage(tag).ConfigureAwait(false); await CreateRevision(savedImage.Image.Id, revisionDescription).ConfigureAwait(false); var updateImageDto = new ImageUpdateDto { image = savedImage.Image, password = new ConfigurationManager(new LocalFile()).GetPassword(), }; updateImageDto.image.Annotation = ObjectId.GenerateNewId().ToString(); updateImageDto.image.Inverted = ObjectId.GenerateNewId().ToString(); await UpdateImage(updateImageDto).ConfigureAwait(false); var image = await GetImage(savedImage.Image.Id).ConfigureAwait(false); var response = await _httpClient.GetAsync($"v2/Images?tag={tag}").ConfigureAwait(false); if (!response.IsSuccessStatusCode) { throw new Exception($"Error in {nameof(GetImageTag)}. Status code: {response.StatusCode}"); } var responseJson = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var imageJson = new StringBuilder(); imageJson.Append(@"[{""image"":{""id"":"""); imageJson.Append(image.Image.Id); imageJson.Append(@""",""type"":0,""filename"":"""); imageJson.Append(image.Image.Filename); imageJson.Append(@""",""contentId"":"); imageJson.Append("null"); imageJson.Append(@",""description"":"""); imageJson.Append(image.Image.Description); imageJson.Append(@""",""title"":"""); imageJson.Append(image.Image.Title); imageJson.Append(@""",""thumb"":{""type"":1,""filename"":"""); imageJson.Append(image.Image.Thumb.Filename); imageJson.Append(@""",""contentId"":"""); imageJson.Append(image.Image.Thumb.ContentId); imageJson.Append(@"""},""annotation"":"""); imageJson.Append(image.Image.Annotation); imageJson.Append(@""",""inverted"":"""); imageJson.Append(image.Image.Inverted); imageJson.Append(@""",""tags"":["""); imageJson.Append(String.Join(",", image.Image.Tags)); imageJson.Append(@"""],""date"":"""); imageJson.Append(image.Image.Date); imageJson.Append(@""",""revisions"":[{""revisionDate"":"""); imageJson.Append(image.Image.Revisions.Single().RevisionDate.ToString("yyyy-MM-ddTHH:mm:ssK")); imageJson.Append(@""",""revisionId"":"""); imageJson.Append(image.Image.Revisions.Single().RevisionId); imageJson.Append(@""",""filename"":"""); imageJson.Append(image.Image.Revisions.Single().Filename); imageJson.Append(@""",""contentId"":"); imageJson.Append("null"); imageJson.Append(@",""thumb"":{""type"":1,""filename"":"""); imageJson.Append(image.Image.Revisions.Single().Thumb.Filename); imageJson.Append(@""",""contentId"":"""); imageJson.Append(image.Image.Revisions.Single().Thumb.ContentId); imageJson.Append(@"""},""description"":"""); imageJson.Append(image.Image.Revisions.Single().Description); imageJson.Append(@"""}]},""links"":{""imageContent"":""http://*****:*****@"/Images/"); imageJson.Append(image.Image.Filename); imageJson.Append(@""",""thumbnailContent"":""http://*****:*****@"/Thumbnail"",""annotationContent"":""http://*****:*****@"/Annotation"",""invertedContent"":""http://*****:*****@"/Inverted"",""revisions"":[{""thumb"":""http://*****:*****@""",""image"":""http://*****:*****@"/Images/"); imageJson.Append(image.Image.Revisions.Single().Filename); imageJson.Append(@""",""date"":"""); imageJson.Append(image.Image.Revisions.Single().RevisionDate.ToString("yyyy-MM-ddTHH:mm:ssK")); imageJson.Append(@""",""description"":"""); imageJson.Append(image.Image.Revisions.Single().Description); imageJson.Append(@""",""id"":"""); imageJson.Append(image.Image.Revisions.Single().RevisionId); imageJson.Append(@"""}]}}]"); Assert.AreEqual(imageJson.ToString(), responseJson); }