public ResultSet<MemberDetailViewModel> GetMemberDetails(int memberId) { var result = new ResultSet<MemberDetailViewModel>(); var tempMemberDetail = _memberRepository.GetMemberDetails(memberId); if (tempMemberDetail != null) { result.Message =Messages.OperationSuccess; result.Success = true; result.Object = tempMemberDetail; } return result; }
public ResultSet<Member> GetMemberByMemberId(int memberId) { var result = new ResultSet<Member>(); var member = _memberRepository.GetMemberByMemberId(memberId); { if (member != null) { result.Message = Messages.OperationSuccess; result.Success = true; result.Object = member; } } return result; }
public ResultSet<Member> AddMember(MemberRegisterViewModel member) { var result = new ResultSet<Member>(); /******This nickname is exists*******************/ if (_memberRepository.GetMemberByNickname(member.NickName) != null) { result.Message = "This nickname is already in use"; return result; } if (!string.IsNullOrEmpty(member.Password) && member.Password.Length > 16) { result.Message = "Invalid password string length"; return result; } if (!string.IsNullOrEmpty(member.Password)) { string hash, salt; _hashProvider.GetHashAndSaltString(member.Password, out hash, out salt); member.PasswordHash = hash; member.PasswordSalt = salt; } var newMember = _memberRepository.AddMember(member); if (newMember != null) { result.Success = true; result.Message = Messages.OperationSuccess; result.Object = newMember; } return result; }
public ResultSet<Member> MemberLogin(MemberLogin member) { var result = new ResultSet<Member>(); Member loginMember = _memberRepository.MemberLogin(new Member() { Email = member.NickName }); if (loginMember == null) { result.Message = "Member not found"; return result; } if (string.IsNullOrEmpty(loginMember.PasswordHash) || !_hashProvider.VerifyHashString(member.Password, loginMember.PasswordHash, loginMember.PasswordSalt)) { result.Message = "Invalid password"; return result; } result.Object = loginMember; result.Message = "Operation success"; result.Success = true; return result; }
public ResultSet<MemberDetailViewModel> UpdateMemberDetail(MemberDetailViewModel memberDetail) { var result = new ResultSet<MemberDetailViewModel>(); result.Object = memberDetail; var member = GetMemberByMemberId(memberDetail.MemberId); if (member.Success) { DateTime dateTime; #region Basic Fields Validations if (string.IsNullOrEmpty(memberDetail.NickName) || !ValidationUtils.UserNameIsValid(memberDetail.NickName)) { result.Message = "Invalid nickname"; return result; } else if ((!string.IsNullOrEmpty(memberDetail.CurrentPassword) && memberDetail.CurrentPassword.Length > 16)) { result.Message = "Invalid password(maximum current password length can be 16 character)"; return result; } else if ((!string.IsNullOrEmpty(memberDetail.NewPassword) && memberDetail.NewPassword.Length > 16)) { result.Message = "Invalid password(maximum new password length can be 16 character)"; return result; } else if ((!string.IsNullOrEmpty(memberDetail.NewPasswordMatch) && memberDetail.NewPasswordMatch.Length > 16)) { result.Message = "Invalid password(maximum password repeat length can be 16 character)"; } #endregion #region This fields are exists? /*************This nickname is exists***************************************/ var _existMember = _memberRepository.GetMemberByNickname(memberDetail.NickName); if (_existMember != null && _existMember.Id != member.Object.Id) { result.Message = "This nick name is in use"; return result; } #endregion #region Password Operations else if (!string.IsNullOrEmpty(memberDetail.NewPassword) && string.IsNullOrEmpty(memberDetail.NewPasswordMatch)) { result.Message = "New password and repeat did not match"; return result; } else if ((!string.IsNullOrEmpty(memberDetail.NewPassword) || !string.IsNullOrEmpty(memberDetail.NewPasswordMatch)) && (!string.IsNullOrEmpty(member.Object.PasswordHash)) && string.IsNullOrEmpty(memberDetail.CurrentPassword)) { result.Message = "Please enter current password"; return result; } else if (!string.IsNullOrEmpty(memberDetail.NewPassword) && !string.IsNullOrEmpty(memberDetail.NewPasswordMatch)) { if (memberDetail.NewPassword != memberDetail.NewPasswordMatch) { result.Message = "New password and repeat did not match"; return result; } string _hash = string.Empty, _salt = string.Empty; if (!string.IsNullOrEmpty(member.Object.PasswordHash)) if (!_hashProvider.VerifyHashString(memberDetail.CurrentPassword, member.Object.PasswordHash, member.Object.PasswordSalt)) { result.Message = "Current password is wrong"; return result; } _hashProvider.GetHashAndSaltString(memberDetail.NewPassword, out _hash, out _salt); memberDetail.PasswordHash = _hash; memberDetail.PasswordSalt = _salt; } #endregion var tempMemberDetail = _memberRepository.UpdateMemberDetail(memberDetail); if (tempMemberDetail != null) { result.Success = true; result.Object = tempMemberDetail; result.Message = "Your informations are updated"; } } return result; }