public async Task<IActionResult> Put(int id, [FromBody] PostViewModel model) { if (!ModelState.IsValid) return Ok(ResponseResult.Faild("Validation Error")); var post = await _service.GetPostByIdAsync(id); if (post == null) return NotFound(); var userId = User.FindFirst(ClaimTypes.Name)?.Value; if (post.User.Id != userId) return Ok(ResponseResult.Faild("Not Authorized")) ; model.PostAuthor = post.User; model.Id = post.Id; var mappedPost = _mapper.Map(model,post); var result = await _service.UpdatePostAsync(mappedPost); if (result) return Ok(ResponseResult.SuccessWithMessage("Updated Successfully")); return Ok(ResponseResult.Faild("Faild To Update Post")); }
public async Task<IActionResult> PostAsync([FromBody] PostViewModel model) { if (!ModelState.IsValid) return Ok(ResponseResult.Faild("Validation Error")) ; var userId = User.FindFirst(ClaimTypes.Name)?.Value; var user = await _userManager.FindByIdAsync(userId); model.PostAuthor = user; var mappedPost = _mapper.Map<Post>(model); var result = await _service.CreatePostAsync(mappedPost); if (result) return Ok(ResponseResult.SuccessWithMessage("Created Successfully")); return Ok(ResponseResult.Faild("Faild To Create Post")); }
public async Task <IActionResult> RegisterAsync(RegisterViewModel model) { if (!ModelState.IsValid) { return(Ok(ResponseResult.Faild("ValidationError"))); } var applicationUser = _mapper.Map <ApplicationUser>(model); var result = await _service.CreateUserAsync(applicationUser, model.Password); if (!result.Succeeded) { return(Ok(ResponseResult.Faild(result.Errors.FirstOrDefault().Description))); } return(Ok(ResponseResult.SuccessWithMessage("Registered Successfully"))); }
public async Task<IActionResult> Delete(int id) { var post = await _service.GetPostByIdAsync(id); if (post == null) return NotFound(); var userId = User.FindFirst(ClaimTypes.Name)?.Value; if (post.User.Id != userId) return Ok(ResponseResult.Faild("Not Authorized")); var result = await _service.DeletePostAsync(post); if (result) { return Ok(ResponseResult.SuccessWithMessage("Post Deleted Successfully")); } return Ok(ResponseResult.Faild("Faild to Delete Post")); }