public int Execute(CreatePostImageDto request) { if (_context.PostImages.Any(r => r.ImageName.Contains(request.ImageName))) { throw new EntityAlreadyExistsException("This image "); } _context.PostImages.Add(new PostImage { ImageName = request.ImageName, ModifiedOn = null, IsDeleted = false }); _context.SaveChanges(); var currentImage = _context.PostImages.Where(c => c.ImageName == request.ImageName).First(); int id = currentImage.Id; return(id); }
public ActionResult Edit(int id, [FromForm] PostDto dto) { dto.Id = id; var imgId = _getImage.Execute(id); var ext = Path.GetExtension(dto.PostImage.FileName); if (!ImageFormatCheck.AllowedExtensions.Contains(ext)) { return(UnprocessableEntity("Image extension is not allowed.")); } try { var newFileName = Guid.NewGuid().ToString() + "_" + dto.PostImage.FileName; var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "PostImages", newFileName); dto.PostImage.CopyTo(new FileStream(filePath, FileMode.Create)); var image = new CreatePostImageDto { ImageName = newFileName, Id = imgId }; try { _editImage.Execute(image); } catch (EntityAlreadyExistsException e) { TempData["Error"] = e.Message; } catch (Exception e) { TempData["Error"] = e.Message; } var post = new CreatePostDto { Id = dto.Id, Description = dto.Description, Rating = dto.Rating, Title = dto.Title }; _editPost.Execute(post); return(RedirectToAction(nameof(Index))); } catch (EntityNotFoundException e) { TempData["Error"] = e.Message; } catch (Exception e) { TempData["Error"] = e.Message; } return(View()); }
public ActionResult <CreatePostDto> Post([FromForm] PostDto dto) { var ext = Path.GetExtension(dto.PostImage.FileName); if (!ImageFormatCheck.AllowedExtensions.Contains(ext)) { return(UnprocessableEntity("Image extension is not allowed.")); } try { var newFileName = Guid.NewGuid().ToString() + "_" + dto.PostImage.FileName; var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "PostImages", newFileName); dto.PostImage.CopyTo(new FileStream(filePath, FileMode.Create)); var image = new CreatePostImageDto { ImageName = newFileName }; try { this.imageId = _image.Execute(image); } catch (EntityAlreadyExistsException e) { return(UnprocessableEntity(e.Message)); } catch (Exception e) { return(StatusCode(500, e.Message)); } var post = new CreatePostDto { Description = dto.Description, Rating = dto.Rating, Title = dto.Title, UserId = dto.UserId, PostImageId = this.imageId }; _postCreate.Execute(post); return(StatusCode(201)); } catch (EntityAlreadyExistsException e) { return(UnprocessableEntity(e.Message)); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
public void Execute(CreatePostImageDto request) { var image = _context.PostImages.Find(request.Id); if (image == null) { throw new EntityNotFoundException("Post image"); } image.ImageName = request.ImageName; image.ModifiedOn = DateTime.Now; _context.SaveChanges(); }