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.")); } }
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()); } }
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))); }
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()); } }