//[Route("{ImageWaitingToConfirmId?}")] public IActionResult AcceptLearningImage(ImageWaitingToConfirm imageWaitingToConfirm) { var myTag = _context.MyTags.FirstOrDefault(x => x.MyTagId == imageWaitingToConfirm.MyTagId); if (myTag == null) { TempData["Error"] = $"Tag with ID:{imageWaitingToConfirm.MyTagId} not found."; return(RedirectToAction(nameof(PlantsController.SendPhoto), "Plants")); } AcceptLearningImageViewModel vm = new AcceptLearningImageViewModel() { ImageWaitingToConfirmId = imageWaitingToConfirm.ImageWaitingToConfirmId, MyProjectId = myTag.MyProjectId, MyTagId = myTag.MyTagId, ImageId = imageWaitingToConfirm.ImageId, ImageUrl = _imageStorageService.UriFor(imageWaitingToConfirm.ImageId), ProvidedBy = imageWaitingToConfirm.ProvidedBy, SendTime = imageWaitingToConfirm.SendTime, TagsSelectList = new SelectList(trainingApi.GetTags(myTag.MyProjectId), "Id", "Name", trainingApi.GetTag(myTag.MyProjectId, myTag.MyTagId)), //Tags = trainingApi.GetTags(projectId), }; return(View(vm)); }
public async Task <IActionResult> ProvideImage(Guid projectId, IFormFile image, ProvideImageViewModel provideImageViewModel) { if (!ModelState.IsValid) { if (provideImageViewModel.TagId == null) { TempData["Warning"] = "You must choose a tag for the photo."; } return(RedirectToAction(nameof(ImageController.Create), new { projectId })); } string imageId = null; try { if (image == null) { throw new Exception("Choose an image to send."); } using (var stream = image.OpenReadStream()) { imageId = await _imageStorageService.SaveImageAsync(stream, image.FileName); } } catch (Exception ex) { TempData["Error"] = ex.Message; return(RedirectToAction(nameof(ImageController.Create), new { projectId })); } ImageWaitingToConfirm imageWaitingToConfirm = new ImageWaitingToConfirm() { ImageWaitingToConfirmId = Guid.NewGuid(), ImageId = imageId, MyProjectId = projectId, MyTagId = Guid.Parse(provideImageViewModel.TagId), ProvidedBy = _userManager.GetUserId(HttpContext.User), SendTime = DateTime.UtcNow }; _context.ImagesWaitingToConfirm.Add(imageWaitingToConfirm); _context.SaveChanges(); TempData["Success"] = "Image send succesfully."; return(RedirectToAction(nameof(PlantsController.SendPhoto), "Plants")); }