public async Task <PostResponseDto> Update([FromBody] CreatePostRequestDto model) { if (!model.PostId.HasValue) { Response.StatusCode = StatusCodes.Status400BadRequest; return(null); } Int64 userId; if (Int64.TryParse(User.FindFirst(ClaimTypes.NameIdentifier).Value, out userId) && await _postService.IsPostAvailableForUser(model.PostId.Value, userId)) { var description = Regex.Replace(model.Content, @"<[^>]*>", " "); description = Regex.Replace(description, @"\s+", " ").Trim(); description = description.Length > 247 ? description.Substring(0, 247) + "..." : description; var post = await _postService.Update(model.PostId.Value, model.Title, model.Content, description); if (post == null) { Response.StatusCode = StatusCodes.Status404NotFound; return(null); } Response.StatusCode = StatusCodes.Status200OK; return(post); } Response.StatusCode = StatusCodes.Status403Forbidden; return(null); }
public async Task <PostResponseDto> CreateNewPost([FromBody] CreatePostRequestDto model) { Int64 userId; if (Int64.TryParse(User.FindFirst(ClaimTypes.NameIdentifier).Value, out userId) && await _blogService.IsBlogAvailableForUser(model.BlogId, userId)) { try { var description = Regex.Replace(model.Content, @"<[^>]*>", " "); description = Regex.Replace(description, @"\s+", " ").Trim(); description = description.Length > 247 ? description.Substring(0, 247) + "..." : description; Response.StatusCode = StatusCodes.Status201Created; return(await _postService.CreateNew(model.Title, model.Content, description, model.IsPublished, userId, model.BlogId)); } catch (NotFoundException) { Response.StatusCode = StatusCodes.Status404NotFound; return(null); } catch (AccessDeniedException) { Response.StatusCode = StatusCodes.Status403Forbidden; return(null); } } Response.StatusCode = StatusCodes.Status403Forbidden; return(null); }
public async Task <IActionResult> CreatePostAsync([FromBody] CreatePostRequestDto createPostDto) { var createPostBo = this._mapper.Map <CreatePostRequestBo>(createPostDto); var result = await this._postService.CreatePostAsync(createPostBo); if (result.HasErrors) { return(new BadRequestObjectResult(result.Errors)); } return(CreatedAtRoute(string.Empty, result)); }
public async Task <IActionResult> Create(CreatePostRequestDto createRequestDto) { var createRequest = _mapper.Map <CreatePostRequest>(createRequestDto); createRequest.Username = User.Identity.Name; var response = await _posts.CreateAsync(createRequest); if (!response.Success) { return(BadRequest(response.ErrorMessage)); } var post = response.Result; var readDto = _mapper.Map <PostRichReadDto>(post); return(StatusCode(StatusCodes.Status201Created, readDto)); }
public async Task <IActionResult> CreatePostAsync([FromBody] CreatePostRequestDto createPostDto, CancellationToken token = default(CancellationToken)) { try { var createPostBo = this._autoMapperService.Map <CreatePostRequestBo>(createPostDto); var serviceResult = await this._postService.CreatePostAsync(createPostBo, token); if (serviceResult.HasErrors) { return(new BadRequestObjectResult(serviceResult.Errors)); } var mappedResult = this._autoMapperService.Map <PostResponseDto>(serviceResult.Value); return(this.CreatedAtRoute(nameof(this.GetPostByIdAsync), new { id = mappedResult.Data.Id }, mappedResult)); } catch (Exception) { return(new BadRequestResult()); } }
public async Task <IActionResult> CreatePostAsync([FromBody] CreatePostRequestDto createPostDto) { try { var createPostBo = this._mapper.Map <CreatePostRequestBo>(createPostDto); var serviceResult = await this._postService.CreatePostAsync(createPostBo); if (serviceResult.HasErrors) { return(new BadRequestObjectResult(serviceResult.Errors)); } var mappedResult = this._mapper.Map <PostItemDto>(serviceResult.Value); return(CreatedAtRoute(Routes.GetPost, new { id = mappedResult.Id }, mappedResult)); } catch (Exception e) { Console.WriteLine(e); return(new BadRequestResult()); } }