Ejemplo n.º 1
0
        public ActionResult Put(int id, [FromForm] PostImageDto dto)
        {
            dto.Id = id;

            var ext = Path.GetExtension(dto.Image.FileName); //.jpg etc.

            if (!FileUpload.AllowedExtensions.Contains(ext))
            {
                return(UnprocessableEntity("Image extension is not allowed."));
            }


            try
            {
                var newFileName = Guid.NewGuid().ToString() + "_" + dto.Image.FileName;

                var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", newFileName);

                dto.Image.CopyTo(new FileStream(filePath, FileMode.Create));

                var post = new PostDto
                {
                    Id         = dto.Id,
                    Title      = dto.Title,
                    Content    = dto.Content,
                    ImagePath  = newFileName,
                    CategoryId = dto.CategoryId,
                    UserId     = dto.UserId
                };

                try
                {
                    _editCommand.Execute(post);
                    return(NoContent());
                }


                catch (EntityNotFoundException e)
                {
                    return(NotFound(e.Message));
                }
                catch (EntityAlreadyExistsException e)
                {
                    return(Conflict(e.Message));
                }
                catch (Exception e)
                {
                    return(StatusCode(500, e.Message));
                }
            }
            catch (Exception)
            {
                return(StatusCode(500, "Server error has occurred."));
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Post([FromBody] PostImageDto dto)
        {
            try
            {
                bool inserted = await _postImageCommanderServices.CreateAsync(dto);

                return(CreatedAtAction(nameof(Get), new { id = dto.PostImageId }, dto));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(BadRequest());
            }
        }
Ejemplo n.º 3
0
        public ActionResult Edit(int id, [FromForm] PostImageDto dto)
        {
            dto.Id = id;

            if (!ModelState.IsValid)
            {
                return(View());
            }

            var extension = Path.GetExtension(dto.Image.FileName);

            if (!FileUpload.AllowedExtensions.Contains(extension))
            {
                return(UnprocessableEntity("You must upload image."));
            }

            try
            {
                var newFileName = Guid.NewGuid().ToString() + "_" + dto.Image.FileName;

                var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", newFileName);

                dto.Image.CopyTo(new FileStream(filePath, FileMode.Create));

                var post = new PostDto
                {
                    Id         = dto.Id,
                    Title      = dto.Title,
                    Content    = dto.Content,
                    ImagePath  = newFileName,
                    CategoryId = dto.CategoryId,
                    UserId     = dto.UserId
                };

                _editCommand.Execute(post);

                TempData["success"] = "Post successfully edited.";
                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception)
            {
                TempData["error"] = "An error has occured.";
            }

            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Put(Guid id, [FromBody] PostImageDto dto)
        {
            try
            {
                if (id != dto.PostImageId)
                {
                    return(BadRequest());
                }

                var category = await _postImageCommanderServices.UpdateAsync(dto);

                return(Ok(dto));
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message);
                return(BadRequest());
            }
        }