Esempio n. 1
0
        public async Task <IActionResult> PutImage(int id, [FromBody] JsonPatchDocument <ImagePatchDTO> patchModel)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (user == null || (await _userManager.IsInRoleAsync(user, Role.Admin) == false))
            {
                return(Unauthorized("Error updating image because of incorrect authority level."));
            }

            try
            {
                Image image = await _context.Images.Where(x => x.ImageId == id).FirstOrDefaultAsync();

                if (image == null)
                {
                    return(NotFound());
                }

                ImagePatchDTO imageDTO = ConvertToImagePatchDTO(image);
                patchModel.ApplyTo(imageDTO);
                image = MapToImage(imageDTO, image);

                _context.Images.Update(image);
                await _context.SaveChangesAsync();

                return(new ObjectResult(ConvertToImageDTO(image)));
            }
            catch (Exception e)
            {
            }

            return(BadRequest("Error updating image"));
        }
Esempio n. 2
0
        private Image MapToImage(ImagePatchDTO imageDTO, Image image)
        {
            image.Active    = imageDTO.Active;
            image.ByteImage = imageDTO.ByteImage != null?Convert.FromBase64String(imageDTO.ByteImage) : null;

            image.Path = imageDTO.Path;
            image.Type = imageDTO.Type;
            return(image);
        }
 public SubmittedImage ApplyPatch(SubmittedImage submittedImage, ImagePatchDTO imagePatch)
 {
     submittedImage.Name = imagePatch.Name;
     if (imagePatch.Image != null)
     {
         submittedImage.Image = imagePatch.Image;
     }
     _images.Update(submittedImage);
     SaveChanges();
     return(submittedImage);
 }
        public ActionResult <SubmittedImage> ChangeImageSpecificProperties(int id, ImagePatchDTO imagePatch)
        {
            if (imagePatch == null)
            {
                return(BadRequest("please insert information"));
            }
            if (_imageRepository.GetById(id) == null)
            {
                return(NotFound());
            }
            SubmittedImage currentImage = _imageRepository.GetById(id);

            return(_imageRepository.ApplyPatch(currentImage, imagePatch));
        }
Esempio n. 5
0
        public async Task <ActionResult <ImagePatchDTO> > PostImage(ImagePatchDTO imageDTO)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (user == null || (await _userManager.IsInRoleAsync(user, Role.Admin) == false))
            {
                return(Unauthorized("Error posting image because of incorrect authority level."));
            }

            Image image = new Image();

            image = MapToImage(imageDTO, image);

            _context.Images.Add(image);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetImage", new { id = image.ImageId }, ConvertToImageDTO(image)));
        }
        public async Task PostImageTest()
        {
            ImagePatchDTO newImage = new ImagePatchDTO()
            {
                Path      = "profile",
                ByteImage = Convert.ToBase64String(DbContent[0].ByteImage),
                Type      = Order.ProductType.FOLT,
                Active    = true
            };
            var ImageResult = await ImagesController.PostImage(newImage);

            var NewImage = db.GetDbContext().Images.Find(DbContent.Count + 1);

            Assert.IsNotNull(NewImage);
            Assert.AreEqual(NewImage.ImageId, DbContent.Count + 1);
            Assert.AreEqual(NewImage.Path, "profile");
            Assert.AreEqual(NewImage.Type, Order.ProductType.FOLT);
            Assert.AreEqual(NewImage.Active, true);
        }