public async Task <dynamic> Update([FromBody] UserUpdateModel userUpdateModel) { string accessToken = Request.Headers[HeaderNames.Authorization]; string token = accessToken.Split("Bearer ")[1]; UserReadDTO userRead = TokenUtil.GetSubFromToken(token); if (ModelState.IsValid) { userRead.UserName = userUpdateModel.UserName; Services.Entities.CustomResponse updateUserInforTask = await _userService.UpdateUserInfor(userRead); if (updateUserInforTask.status) { return(new { status = true, code = ReturnCodes.DataUpdateSucceeded, message = updateUserInforTask.message, data = updateUserInforTask.userReadDTO }); } } return(new { status = false, code = ReturnCodes.DataUpdateFailed, message = "Có Lỗi Xảy Ra Khi Cố Gắng Cập Nhật Dữ Liệu" }); }
public async Task <dynamic> ChangePassword([FromBody] UserChangePasswordModel userChangePasswordModel) { string accessToken = Request.Headers[HeaderNames.Authorization]; string token = accessToken.Split("Bearer ")[1]; UserReadDTO userRead = TokenUtil.GetSubFromToken(token); if (ModelState.IsValid) { Services.Entities.CustomResponse UpdatePassword_Task = await _userService.UpdatePassword(userRead.UserID, userChangePasswordModel.OldPassword, userChangePasswordModel.NewPassword); return(new { status = UpdatePassword_Task.status, code = 200, message = UpdatePassword_Task.message }); } return(new { status = false, code = ReturnCodes.DataUpdateFailed, message = "Có Lỗi Xảy Ra Khi Cố Gắng Thay Đổi Mật Khẩu" }); }
public async Task <dynamic> Create([FromBody] CommentModel commentModel) { string accessToken = Request.Headers[HeaderNames.Authorization]; string token = accessToken.Split("Bearer ")[1]; UserReadDTO userRead = TokenUtil.GetSubFromToken(token); if (ModelState.IsValid) { CommentWriteDTO commentWrite = new CommentWriteDTO { CommentContent = commentModel.CommentContent, PostID = commentModel.PostID, UserID = new Guid(userRead.UserID) }; //Khởi Tạo Task Create Comment Services.Entities.CustomResponse CreateComment_Task = await _commentService.Create(commentWrite); //Nếu Task Done if (CreateComment_Task.status) { return(new { status = CreateComment_Task.status, code = ReturnCodes.DataCreateSucceeded, message = CreateComment_Task.message, newComment = CreateComment_Task.commentReadDTO }); } } return(new { status = false, code = ReturnCodes.ParameterError, message = "Dữ Liệu Không Hợp Lệ" }); }
public dynamic Login([FromBody] UserLoginModel user) { if (ModelState.IsValid) { Services.Entities.CustomResponse Login_Response = _userService.Login(user.Email, user.Password); if (Login_Response.status) { Token token_current = _userService.GetToken(Login_Response.userReadDTO.UserID); //Lần Đầu Tiên Đăng Nhập if (token_current == null) { Utilities.JWT.TokenResponse tokens = TokenUtil.GenerateTokens(Login_Response.userReadDTO, Startup.userTokenOption); DTO.ReadDTO.TokenReadDTO tokenReadDTO = new DTO.ReadDTO.TokenReadDTO { AccessToken = tokens.AccessToken, AccessTokenExpriesIn = tokens.AccessTokenExpiresIn, RefreshToken = tokens.RefreshToken, RefreshTokenExpriesIn = tokens.RefreshTokenExpiresIn, }; //Lưu Token Mới Vào Database _userService.AddToken(Login_Response.userReadDTO.UserID, tokenReadDTO); return(new { status = true, code = ReturnCodes.DataGetSucceeded, message = "Đăng Nhập Thành Công", data = Login_Response.userReadDTO, tokens = tokens }); } //Nếu Token Trong Database Đã Hết Hạn if (!TokenUtil.isExpiredTime(token_current.AccessToken)) { Utilities.JWT.TokenResponse tokens = TokenUtil.GenerateTokens(Login_Response.userReadDTO, Startup.userTokenOption); DTO.ReadDTO.TokenReadDTO tokenReadDTO = new DTO.ReadDTO.TokenReadDTO { AccessToken = tokens.AccessToken, AccessTokenExpriesIn = tokens.AccessTokenExpiresIn, RefreshToken = tokens.RefreshToken, RefreshTokenExpriesIn = tokens.RefreshTokenExpiresIn, }; _userService.UpdateToken(Login_Response.userReadDTO.UserID, tokenReadDTO); } return(new { status = true, code = ReturnCodes.DataGetSucceeded, message = "Đăng Nhập Thành Công", data = Login_Response.userReadDTO, tokens = _mapper.Map <TokenReadDTO>(token_current) }); } } return(new { status = false, code = ReturnCodes.DataGetFailed, message = "Đăng Nhập Không Thành Công" }); }