예제 #1
0
        //[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));
        }
예제 #2
0
        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"));
        }