/// <summary> /// 清空会员的手机验证码 /// </summary> /// <param name="icode"></param> /// <param name="time"></param> public static void ClearIdentifyingCode(long memberID) { tb_Mem_Member member = BizMember.GetMemberByID(memberID); member.RegIdentifyingCode = null; DataContext.SaveChanges(); }
/// <summary> /// 根据会员ID验证支付密码 /// </summary> /// <param name="payPW">支付密码</param> /// <returns></returns> public static bool ValidatePayPW(long memberID, string payPW) { tb_Mem_Member member = BizMember.GetMemberByID(memberID); string code = Hash(payPW, member.MemberID); return((code == member.PayPas) ? true : false); }
/// <summary> /// 获取该员工的所有角色 /// </summary> /// <param name="memberID"></param> /// <returns></returns> public static List <tb_Roles> GetMemberRoles(long memberID) { var roles = BizMember.GetMemberByID(memberID).tb_MemberInRoles; List <tb_Roles> bindroles = new List <tb_Roles>(); foreach (tb_MemberInRoles r in roles) { bindroles.Add(r.tb_Roles); } return(bindroles); }
/// <summary> /// 获得该会员可以访问的所有页面 /// </summary> /// <param name="memberID"></param> /// <returns></returns> public static List <tb_Pages> GetMemberPages(long memberID) { var permissions = BizMember.GetMemberByID(memberID).tb_Permissions; List <tb_Pages> pages = new List <tb_Pages>(); foreach (tb_Permissions per in permissions) { pages.Add(per.tb_Pages); } return(pages); }
/// <summary> /// 验证会员身份 /// </summary> /// <param name="memberName"></param> public static int ValidateMember(string accountName, string passWord) { tb_Mem_Member member = QueryMemberByAccountName(accountName); if (member == null || member.MemberType == (short)MemberType.SysAdmin)//判断该会员账户是否存在 { return((int)ErrorTypeWhenLogin.FalseAccount); } else { if (member.AccountValidTime > DateTime.Now || member.Status == (short)MemberStatus.Frozen)//判断该账户是否暂时被冻结 { return((int)ErrorTypeWhenLogin.LockedAccount); } else { BizEnterpriseMember enterprise = new BizEnterpriseMember(); long tem = enterprise.GetRolesByAccountName(member.MemberID); //距离上次登录失败15分钟后,将登录次数重置为0 if (member.AccountValidTime < DateTime.Now.AddMinutes(-15) && member.LoginCount != 0) { BizMember.UpdateLoginCountToZero(member.MemberID); } if (tem != (short)RoleType.UnCheckedEnterpriseMember && (member.Status != (short)MemberStatus.Normal)) { return((int)ErrorTypeWhenLogin.UnActivatedAccount); } else { if (!ValidateLoginPW(accountName, passWord)) //判断账户密码是否正确 { //输错密码一次,将登录次数加1 BizMember.AddLoginCount(member.MemberID); BizMember.RememberFailedLoginTime(member.MemberID); if (member.LoginCount == 3) { //三次输错密码后冻结账户,并将登录次数重置为0 BizMember.LockMember(accountName); BizMember.UpdateLoginCountToZero(member.MemberID); return((int)ErrorTypeWhenLogin.ThreeTimesLogin); } return((int)ErrorTypeWhenLogin.FalsePassword); } else { BizMember.UpdateLoginCountToZero(member.MemberID); return((int)ErrorTypeWhenLogin.SuccessfulLogin); } } } } }
/// <summary> /// 修改支付密码 /// </summary> /// <param name="NewPayPW">新的支付密码</param> public static void ChangePayPW(long memberID, string newPayPW) { try { tb_Mem_Member member = BizMember.GetMemberByID(memberID); member.PayPas = Hash(newPayPW, member.MemberID); DataContext.SaveChanges(); } catch (Exception ex) { LogHelper.g_Logger.ErrorFormat("修改支付密码失败!错误信息:{0}", ex.Message); throw ex; } }
/// <summary> /// 上传会员头像 /// </summary> /// <param name="buffer"></param> /// <param name="memberID"></param> public static void UploadPhoto(byte[] buffer, long memberID) { try { tb_Mem_Member member = BizMember.GetMemberByID(memberID); member.Image = buffer; DataContext.SaveChanges(); } catch (Exception ex) { LogHelper.g_Logger.ErrorFormat("上传头像失败!错误信息:{0}", ex.Message); throw ex; } }
/// <summary> /// 管理员修改个人人会员状态 /// </summary> /// <param name="status"></param> public static void UpdateByAdmin(long memberID, short status) { try { tb_Mem_Member member = BizMember.GetMemberByID(memberID); member.Status = status; DataContext.SaveChanges(); } catch (Exception ex) { LogHelper.g_Logger.ErrorFormat("修改会员状态失败!错误信息:{0}", ex.Message); throw ex; } }
/// <summary> /// 生成手机验证码,并设置该验证码的有效期限 /// </summary> /// <param name="icode"></param> /// <param name="time"></param> public static void AddRegIdentifyingCode(string icode, long memberID) { try { tb_Mem_Member member = BizMember.GetMemberByID(memberID); member.ValidTime = DateTime.Now.AddMinutes(30); member.RegIdentifyingCode = icode; DataContext.SaveChanges(); } catch (Exception ex) { LogHelper.g_Logger.ErrorFormat("获取手机验证码失败!错误信息:{0}", ex.Message); throw ex; } }
/// <summary> /// 为个人会员分配系统默认的个人会员角色 /// </summary> /// <param name="memberID">会员ID</param> public static void AddMemberToDefaultRole(long memberID) { try { tb_Mem_Member member = BizMember.GetMemberByID(memberID); tb_MemberInRoles memberRole = new tb_MemberInRoles(); memberRole.RoleID = (long)RoleType.PersonalMember; member.tb_MemberInRoles.Add(memberRole); DataContext.SaveChanges(); } catch (Exception ex) { LogHelper.g_Logger.ErrorFormat("授予会员角色失败!错误信息:{0}", ex.Message); throw ex; } }
/// <summary> /// 验证管理员身份 /// </summary> /// <param name="memberName"></param> public static int ValidateSysAdmin(string accountName, string passWord) { tb_Mem_Member member = QueryMemberByAccountName(accountName); if (member == null || member.MemberType != (short)MemberType.SysAdmin)//判断该管理员账户是否存在 { return((int)ErrorTypeWhenLogin.FalseAccount); } else { if (member.Status == (short)MemberStatus.Disable) { return((int)ErrorTypeWhenLogin.UnActivatedAccount); } else if (member.AccountValidTime > DateTime.Now)//判断该账户是否暂时被冻结 { return((int)ErrorTypeWhenLogin.LockedAccount); } else { //距离上次登录失败15分钟后,将登录次数重置为0 if (member.AccountValidTime < DateTime.Now.AddMinutes(-15) && member.LoginCount != 0) { BizMember.UpdateLoginCountToZero(member.MemberID); } if (!ValidateLoginPW(accountName, passWord)) //判断账户密码是否正确 { //输错密码一次,将登录次数加1 BizMember.AddLoginCount(member.MemberID); BizMember.RememberFailedLoginTime(member.MemberID); if (member.LoginCount == 3) { //三次输错密码后冻结账户,并将登录次数重置为0 BizMember.LockMember(accountName); BizMember.UpdateLoginCountToZero(member.MemberID); return((int)ErrorTypeWhenLogin.ThreeTimesLogin); } return((int)ErrorTypeWhenLogin.FalsePassword); } else { BizMember.UpdateLoginCountToZero(member.MemberID); return((int)ErrorTypeWhenLogin.SuccessfulLogin); } } } }
/// <summary> /// 授予会员访问一个或多个页面的权限 /// </summary> /// <param name="memberID"></param> /// <param name="pageIDList"></param> public static void AddMemberPages(long memberID, List <long> pageIDList) { try { tb_Mem_Member member = BizMember.GetMemberByID(memberID); foreach (long id in pageIDList) { tb_Permissions p = new tb_Permissions(); p.PageID = id; member.tb_Permissions.Add(p); } DataContext.SaveChanges(); } catch (Exception ex) { LogHelper.g_Logger.ErrorFormat("授予会员权限失败!错误信息:{0}", ex.Message); throw ex; } }
/// <summary> /// 解除会员访问某些页面的权限 /// </summary> /// <param name="memberID"></param> /// <param name="pageIDList"></param> public static void RemoveMemberPages(long memberID, List <long> pageIDList) { try { tb_Mem_Member member = BizMember.GetMemberByID(memberID); foreach (long id in pageIDList) { tb_Permissions p = member.tb_Permissions.Where(t => t.PageID == id).First(); member.tb_Permissions.Remove(p); DataContext.tb_Permissions.DeleteObject(p); } DataContext.SaveChanges(); } catch (Exception ex) { LogHelper.g_Logger.ErrorFormat("解除会员权限失败!错误信息:{0}", ex.Message); throw ex; } }
/// <summary> /// 同时解除个人会员的多个角色 /// </summary> /// <param name="memberID">会员ID</param> /// <param name="roleIDList">角色ID数组</param> public static void RemoveMemberFromRoles(long memberID, List <long> roleIDList) { try { tb_Mem_Member member = BizMember.GetMemberByID(memberID); foreach (long id in roleIDList) { tb_MemberInRoles memberRole = member.tb_MemberInRoles.Where(t => t.RoleID == id).First(); member.tb_MemberInRoles.Remove(memberRole); DataContext.tb_MemberInRoles.DeleteObject(memberRole); } DataContext.SaveChanges(); } catch (Exception ex) { LogHelper.g_Logger.ErrorFormat("解除会员角色失败!错误信息:{0}", ex.Message); throw ex; } }
/// <summary> /// 同时为个人会员分配多个角色 /// </summary> /// <param name="memberID">会员ID</param> /// <param name="roleIDList">角色ID数组</param> public static void AddMemberToRoles(long memberID, List <long> roleIDList) { try { tb_Mem_Member member = BizMember.GetMemberByID(memberID); foreach (long id in roleIDList) { tb_MemberInRoles memberRole = new tb_MemberInRoles(); memberRole.RoleID = id; member.tb_MemberInRoles.Add(memberRole); BizRole.GetRoleByID(id).tb_MemberInRoles.Add(memberRole); } DataContext.SaveChanges(); } catch (Exception ex) { LogHelper.g_Logger.ErrorFormat("授予会员角色失败!错误信息:{0}", ex.Message); throw ex; } }
/// <summary> /// 获取会员头像文件 /// </summary> /// <param name="memberID"></param> /// <returns></returns> public static byte[] GetMemberPhoto(long memberID) { return(BizMember.GetMemberByID(memberID).Image); }
public static short GetMemberType(long memberID) { return((short)BizMember.GetMemberByID(memberID).MemberType); }