/// <summary> /// 修改基础信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public virtual CustomerResult UpdateCustomer(Customer request) { var result = new CustomerResult(); //传入了错误的参数 if (request == null || string.IsNullOrEmpty(request.Id.ToString())) { throw new ArgumentNullException("request"); } var model = _customerService.GetCustomerById(request.Id); //查不到指定的数据 if (model == null) { result.AddError("Account.CheckUser.NotExist"); } //只修改基础信息 #region #region 赋值 model.Status = request.Status; model.Email = request.Email; model.Mobile = request.Mobile; model.SystemName = request.SystemName; model.UpdatedOnUtc = DateTime.UtcNow; if (model.CustomerAttribute == null) { model.CustomerAttribute = new CustomerAttribute(); } model.CustomerAttribute.Id = model.Id; model.CustomerAttribute.Avatar = request.CustomerAttribute.Avatar; model.CustomerAttribute.Company = request.CustomerAttribute.Company; model.CustomerAttribute.CompanyAddress = request.CustomerAttribute.CompanyAddress; model.CustomerAttribute.DateOfBirth = request.CustomerAttribute.DateOfBirth; model.CustomerAttribute.FirstName = request.CustomerAttribute.FirstName; model.CustomerAttribute.Gender = request.CustomerAttribute.Gender; model.CustomerAttribute.LastName = request.CustomerAttribute.LastName; model.CustomerAttribute.CompanyMobile = request.CustomerAttribute.CompanyMobile; model.CustomerAttribute.NickName = request.CustomerAttribute.NickName; model.CustomerAttribute.CompanyTelphone = request.CustomerAttribute.CompanyTelphone; #endregion bool res = _customerService.UpdateCustomer(model); #endregion return(null); }
/// <summary> /// Change password /// </summary> /// <param name="request">Request</param> /// <returns>Result</returns> public virtual CustomerResult ChangePassword(ChangePasswordRequest request) { if (request == null) { throw new ArgumentNullException("request"); } var result = new CustomerResult(); if (string.IsNullOrWhiteSpace(request.Email)) { result.AddError("Account.ChangePassword.Errors.EmailIsNotProvided"); return(result); } if (string.IsNullOrWhiteSpace(request.NewPassword)) { result.AddError("Account.ChangePassword.Errors.PasswordIsNotProvided"); return(result); } var customer = _customerService.GetCustomerByEmail(request.Email); if (customer == null) { result.AddError("Account.ChangePassword.Errors.EmailNotFound"); return(result); } var requestIsValid = false; if (request.ValidateRequest) { //password string oldPwd = ""; switch (customer.PasswordFormat) { case PasswordFormat.Encrypted: oldPwd = _encryptionService.EncryptText(request.OldPassword); oldPwd = UtilityHelper.MD5(oldPwd); break; case PasswordFormat.Hashed: oldPwd = _encryptionService.CreatePasswordHash(request.OldPassword, customer.PasswordSalt, _customerSettings.HashedPasswordFormat); oldPwd = UtilityHelper.MD5(oldPwd); break; case PasswordFormat.Clear: default: oldPwd = UtilityHelper.TxtEnDes(request.OldPassword); break; } bool oldPasswordIsValid = oldPwd == customer.Password; if (!oldPasswordIsValid) { result.AddError("Account.ChangePassword.Errors.OldPasswordDoesntMatch"); } if (oldPasswordIsValid) { requestIsValid = true; } } else { requestIsValid = true; } //at this point request is valid if (requestIsValid) { switch (request.NewPasswordFormat) { case PasswordFormat.Encrypted: { customer.Password = _encryptionService.EncryptText(request.NewPassword); customer.Password = UtilityHelper.MD5(customer.Password); } break; case PasswordFormat.Hashed: { string saltKey = _encryptionService.CreateSaltKey(5); customer.PasswordSalt = saltKey; customer.Password = _encryptionService.CreatePasswordHash(request.NewPassword, saltKey, _customerSettings.HashedPasswordFormat); customer.Password = UtilityHelper.MD5(customer.Password); } break; case PasswordFormat.Clear: default: customer.Password = UtilityHelper.TxtEnDes(request.NewPassword); break; } customer.PasswordFormat = request.NewPasswordFormat; _customerService.UpdateCustomer(customer); } return(result); }