public ApiResult <UpdatePasswordViewModel> UpdatePassword(UpdatePasswordViewModel model) { var dbResult = new ApiResult <UpdatePasswordViewModel>(); try { // Validate dữ liệu if (!ValidateUpdatePassword(model).Succeeded) { return(ValidateUpdatePassword(model)); } // Đặt lại mật khẩu trong database model.NewPassword = Libs.GetMd5(model.NewPassword + EncryptCore.PassKey); model.NewPassword = model.NewPassword; dbResult = userDAL.UpdatePassword(model); return(dbResult); } catch (Exception ex) { dbResult.Failed(new ErrorObject() { Code = Constants.ERR_EXCEPTION, Description = ex.Message }); return(dbResult); } }
public IHttpActionResult ChangePassword(ChangePWModel Item) { Item.NewPassword = Libs.GetMd5(Item.NewPassword + EncryptCore.PassKey); Item.OldPassword = Libs.GetMd5(Item.OldPassword + EncryptCore.PassKey); ApiResult <bool> rs = userDAL.ChangePassword(UserInfo.Id, Item); return(rs.Succeeded ? Ok(rs) : (IHttpActionResult)Content(HttpStatusCode.BadRequest, rs)); }
public IHttpActionResult Register(UserPostData item) { var Rs = new ApiResult <User>(); if (!ModelState.IsValid) { // Lỗi validate dữ liệu trả ra từ model foreach (string key in ModelState.Keys) { ModelState current = ModelState[key]; foreach (ModelError error in current.Errors) { Rs.Failed(new ErrorObject() { Code = key, Description = error.ErrorMessage }); } } return(Content(HttpStatusCode.BadRequest, Rs)); } if (item.RoleId == 0) { item.RoleId = 1; } UserResult userInfo; try { userInfo = UserInfo; } catch (Exception) { userInfo = new UserResult(); } if (userInfo.Id > 0) { item.CreatedUser = userInfo.Id; } item.Password = Libs.GetMd5(item.Password + EncryptCore.PassKey); Rs = userDAL.Register(item); if (Rs.Succeeded) { string OTP = userDAL.GetOtp(Rs.Data.Id); string Url = ConfigUtil.DomainBaseHttp + "/Api/Acc/ConfirmEmail?Id=" + Rs.Data.Id.ToString() + "&OTP=" + OTP; if (!String.IsNullOrEmpty(item.SucRedirectUrl)) { Url += "&SucRedirectUrl=" + item.SucRedirectUrl; } if (!String.IsNullOrEmpty(item.FailRedirectUrl)) { Url += "&FailRedirectUrl=" + item.FailRedirectUrl; } object DataContent = new { Link = Url, item.FirstName }; var EmailContent = EmailContentHtml.EmailContentFormat(DataContent, "ConfirmEmail.html"); var e = EmailUtility.SendMail(ConfigUtil.Email_DisplayName, item.Email, "Xác thực Email", EmailContent); return(Ok(Rs)); } else { return(Content(HttpStatusCode.BadRequest, Rs)); } }
public IHttpActionResult Login(UserPostLogin item) { var Rs = new ApiResult <UserResult>(); try { if (string.IsNullOrEmpty(item.Email)) { Rs.Failed(new ErrorObject() { Code = "1", Description = "Chưa nhập Email" }); } if (string.IsNullOrEmpty(item.Password)) { Rs.Failed(new ErrorObject() { Code = "2", Description = "Chưa nhập Password" }); } if (Rs.Errors.Count > 0) { return(Content(HttpStatusCode.Unauthorized, Rs)); } var Login = userDAL.Login(item); if (Login.Succeeded && Login.Data != null) { if (Libs.GetMd5(item.Password + EncryptCore.PassKey) != Login.Data.Password) { Rs.Failed(new ErrorObject { Code = "400", Description = "Sai Mật Khẩu" }); return(Content(HttpStatusCode.Unauthorized, Rs)); } Random rnd = new Random(); int RndNumber = rnd.Next(1, 9999); var TokenCode = ""; var User = Login.Data; if (User.EmailConfirmed > 0) { TokenCode = EncryptCore.Md5Get(item.Email + User.Id + EncryptCore.PassKey + DateTime.Now.ToString("ddMMyyyyhhmmss") + RndNumber); } else { Rs.Failed(new ErrorObject { Code = "EMAIL_NOT_CONFIRM", Description = "Email is not comfirmed" }); } var UserInf = new UserResult() { Id = User.Id, Email = User.Email, AccessToken = TokenCode, FirstName = User.FirstName, LastName = User.LastName, PhoneNumber = User.PhoneNumber, Address = User.Address, DistrictCode = User.DistrictCode, ProvinceCode = User.ProvinceCode, RoleDesc = User.RoleDesc, RoleId = User.RoleId, UserAvatar = User.UserAvatar, EmailConfirmed = User.EmailConfirmed }; CacheUtil.InsertCacheObject(TokenCode, UserInf, 60 * 24 * 30); Rs.Data = UserInf; return(Content(HttpStatusCode.OK, Rs)); } else { Rs.Failed(new ErrorObject { Code = Login.Errors[0].Code, Description = Login.Errors[0].Description }); return(Content(HttpStatusCode.BadRequest, Rs)); } } catch (Exception ex) { Rs.Failed(new ErrorObject() { Code = Constants.ERR_EXCEPTION, Description = ex.ToString() }); return(Content(HttpStatusCode.Unauthorized, Rs)); } }