public IActionResult ChangeImageTag(Guid projectId, Guid imageId) { ChangeImageTagViewModel vm = new ChangeImageTagViewModel() { ProjectId = projectId, Image = trainingApi.GetImagesByIds(projectId, new List <string>() { imageId.ToString() }).FirstOrDefault(), TagsSelectList = new SelectList(trainingApi.GetTags(projectId), "Id", "Name"), }; return(View(vm)); }
public async Task <IActionResult> ChangeImageTag(Guid projectId, Guid imageId, ChangeImageTagViewModel changeImageTagViewModel) { if (!ModelState.IsValid) { if (changeImageTagViewModel.TagId == null) { TempData["Warning"] = "You must choose a tag for the photo."; } return(RedirectToAction(nameof(ImageController.ChangeImageTag), new { projectId, imageId })); } Image image = trainingApi.GetImagesByIds(projectId, new List <string>() { imageId.ToString() }).FirstOrDefault(); IList <string> tagsList = image.Tags?.Select(x => x.TagId.ToString()).ToList(); if (tagsList != null) { trainingApi.DeleteImageTags(projectId, new List <string>() { imageId.ToString() }, tagsList); } ImageTagCreateEntry imageTagCreateEntry = new ImageTagCreateEntry(imageId, Guid.Parse(changeImageTagViewModel.TagId)); IList <ImageTagCreateEntry> imageTagCreateEntries = new List <ImageTagCreateEntry>() { imageTagCreateEntry }; ImageTagCreateBatch createBatch = new ImageTagCreateBatch(imageTagCreateEntries); trainingApi.CreateImageTags(projectId, createBatch); return(RedirectToAction(nameof(ProjectController.Details), "Project", new { projectId })); }