/// <summary> /// 验证用户名和密码是否正确 /// </summary> /// <param name="userName">用户名</param> /// <param name="password">密码</param> /// <returns>登录成功后的用户信息</returns> public SysPerson ValidateUser(string userName, string password) { if (String.IsNullOrWhiteSpace(userName) || String.IsNullOrWhiteSpace(password)) return null; //获取用户信息,请确定web.config中的连接字符串正确 using (SysEntities db = new SysEntities()) { var person = (from p in db.SysPerson where p.Name == userName && p.Password == password && p.State == "开启" select p).FirstOrDefault(); if (person != null) {//登录成功 person.LastLogonTime = person.LogonTime; person.LastLogonIP = person.LogonIP; person.LogonNum++; person.LogonTime = DateTime.Now; person.LogonIP = Common.IP.GetIP(); db.SaveChanges(); return person; } } return null; }
/// <summary> /// 验证用户名是否改变 /// </summary> /// <param name="name">用户名</param> /// <returns></returns> public bool CheckName(SysPerson sysPerson) { using (SysEntities dbCheckName = new SysEntities()) { SysPerson person = dbCheckName.SysPerson.FirstOrDefault(f => f.Id == sysPerson.Id); if (person != null) { if (sysPerson.Name == person.Name) { return false;//没有修改用户名 } else { return CheckName(sysPerson.Name); } } } return true; }
/// <summary> /// 修改密码 /// </summary> /// <param name="personName">用户名</param> /// <param name="oldPassword">旧密码</param> /// <param name="newPassword">新密码</param> /// <returns>修改密码是否成功</returns> public bool ChangePassword(string personName, string oldPassword, string newPassword) { if (!string.IsNullOrWhiteSpace(personName) && !string.IsNullOrWhiteSpace(oldPassword) && !string.IsNullOrWhiteSpace(newPassword)) { try { using (SysEntities db = new SysEntities()) { var person = db.SysPerson.FirstOrDefault(p => (p.Name == personName) && (p.Password == oldPassword)); person.Password = newPassword; person.SurePassword = newPassword; db.SaveChanges(); return true; } } catch (Exception ex) { ExceptionsHander.WriteExceptions(ex); } } return false; }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public SysMenuBLL() { db = new SysEntities(); }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public SysPersonBLL() { db = new SysEntities(); }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public FileUploaderBLL() { db = new SysEntities(); }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public SysDepartmentBLL() { db = new SysEntities(); }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public SysRoleBLL(SysEntities entities) { db = entities; }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public SysRoleBLL() { db = new SysEntities(); }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public SysFieldBLL() { db = new SysEntities(); }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public SysOperationBLL(SysEntities entities) { db = entities; }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public SysOperationBLL() { db = new SysEntities(); }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public SysLogBLL(SysEntities entities) { db = entities; }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public SysLogBLL() { db = new SysEntities(); }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public SysPersonBLL(SysEntities entities) { db = entities; }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public SysMenuBLL(SysEntities entities) { db = entities; }
/// <summary> /// 创建一个菜单 /// </summary> /// <param name="validationErrors">返回的错误信息</param> /// <param name="db">数据库上下文</param> /// <param name="entity">一个菜单</param> /// <returns></returns> public bool Create(ref ValidationErrors validationErrors, SysEntities db, SysMenu entity) { int count = 1; foreach (string item in entity.SysOperationId.GetIdSort()) { SysOperation sys = new SysOperation { Id = item }; db.SysOperation.Attach(sys); entity.SysOperation.Add(sys); count++; } repository.Create(db, entity); if (count == repository.Save(db)) { //创建后重置菜单编码 List<int> flags = new List<int>();//层级 GetMenus2(null, flags); db.SaveChanges(); return true; } else { validationErrors.Add("创建出错了"); } return false; }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public SysFieldBLL(SysEntities entities) { db = entities; }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public SysMenuSysRoleSysOperationBLL() { db = new SysEntities(); }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public SysMenuSysRoleSysOperationBLL(SysEntities entities) { db = entities; }
/// <summary> /// 编辑一个角色 /// </summary> /// <param name="validationErrors">返回的错误信息</param> /// <param name="db">数据上下文</param> /// <param name="entity">一个角色</param> /// <returns>是否编辑成功</returns> public bool Edit(ref ValidationErrors validationErrors, SysEntities db, SysRole entity) { /* * 不操作 原有 现有 * 增加 原没 现有 * 删除 原有 现没 */ if (entity == null) { return false; } int count = 1; SysRole editEntity = repository.Edit(db, entity); List<string> addSysPersonId = new List<string>(); List<string> deleteSysPersonId = new List<string>(); DataOfDiffrent.GetDiffrent(entity.SysPersonId.GetIdSort(), entity.SysPersonIdOld.GetIdSort(), ref addSysPersonId, ref deleteSysPersonId); if (addSysPersonId != null && addSysPersonId.Count() > 0) { foreach (var item in addSysPersonId) { SysPerson sys = new SysPerson { Id = item }; db.SysPerson.Attach(sys); editEntity.SysPerson.Add(sys); count++; } } if (deleteSysPersonId != null && deleteSysPersonId.Count() > 0) { List<SysPerson> listEntity = new List<SysPerson>(); foreach (var item in deleteSysPersonId) { SysPerson sys = new SysPerson { Id = item }; listEntity.Add(sys); db.SysPerson.Attach(sys); } foreach (SysPerson item in listEntity) { editEntity.SysPerson.Remove(item);//查询数据库 count++; } } if (count == repository.Save(db)) { return true; } else { validationErrors.Add("编辑角色出错了"); } return false; }
/// <summary> /// 构造函数,默认加载数据访问上下文 /// </summary> public SysExceptionBLL() { db = new SysEntities(); }
/// <summary> /// 创建一个角色 /// </summary> /// <param name="validationErrors">返回的错误信息</param> /// <param name="db">数据库上下文</param> /// <param name="entity">一个角色</param> /// <returns></returns> public bool Create(ref ValidationErrors validationErrors, SysEntities db, SysRole entity) { int count = 1; foreach (string item in entity.SysPersonId.GetIdSort()) { SysPerson sys = new SysPerson { Id = item }; db.SysPerson.Attach(sys); entity.SysPerson.Add(sys); count++; } repository.Create(db, entity); if (count == repository.Save(db)) { return true; } else { validationErrors.Add("创建出错了"); } return false; }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public SysExceptionBLL(SysEntities entities) { db = entities; }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public SysDepartmentBLL(SysEntities entities) { db = entities; }
/// <summary> /// 根据PersonId获取已经启用的菜单 /// </summary> /// <param name="personId">人员的Id</param> /// <returns>菜单拼接的字符串</returns> public string GetMenuByAccount(ref Common.Account person) { using (SysEntities db = new SysEntities()) { string personId = person.Id; var roleIds = ( from r in db.SysRole from p in r.SysPerson where p.Id == personId select r.Id ).ToList(); person.RoleIds = roleIds; List<SysMenu> menuNeed = ( from m2 in db.SysMenu from f in m2.SysMenuSysRoleSysOperation where roleIds.Any(a => a == f.SysRoleId) && f.SysOperationId == null select m2 ).Distinct().OrderBy(o => o.Remark).ToList();//此方法由临海人(qq:1012999282)提供 //person.MenuIds = menuNeed.Where(w => w.IsLeaf == null).Select(s => s.Url).ToList(); StringBuilder strmenu2 = new StringBuilder();//拼接菜单的字符串 int lever = 0;//上一个菜单的层级 int current = 0;//当前菜单的层级 //在1.2版本中修改 if (menuNeed.Count > 1) { for (int i = 0; i < menuNeed.Count; i++) { current = menuNeed[i].Remark.Length / 4;//按照4位数字的编码格式 if (current == 1)//加载根目录的菜单 { //解决ie6下没有滚动条的问题 strmenu2.Replace('^', ' ') .Append(string.Format(" <div data-options=@iconCls:'{0}'@ title=@{1}@> <div class=@easyui-panel@ fit=@true@ border=@false@><ul class=@easyui-tree@ >^</ul></div></div>", menuNeed[i].Iconic, menuNeed[i].Name)); } else if (current < lever)//进入上一个菜单层级 { string replace = string.Empty; for (int c = 0; c < lever - current; c++)//减少了几个层级 { replace += ("</ul></li>"); } if ((i == menuNeed.Count - 1) || (menuNeed[i].Remark.Length >= menuNeed[i + 1].Remark.Length)) strmenu2.Replace("^" + replace, replace + GetNode(menuNeed[i], true)); else strmenu2.Replace("^" + replace, replace + GetNode(menuNeed[i], false)); } else//进入本级菜单或者下一个菜单 { if ((i == menuNeed.Count - 1) || (menuNeed[i].Remark.Length >= menuNeed[i + 1].Remark.Length))//最后一个,或者下一个长度不小于这个的长度 strmenu2.Replace("^", GetNode(menuNeed[i], true)); else strmenu2.Replace("^", GetNode(menuNeed[i], false)); } lever = current; } } return strmenu2.ToString().Replace('@', '"').Replace('^', ' '); } }
/// <summary> /// 已有数据访问上下文的方法中调用 /// </summary> /// <param name="entities">数据访问上下文</param> public FileUploaderBLL(SysEntities entities) { db = entities; }
/// <summary> /// 创建一个人员 /// </summary> /// <param name="validationErrors">返回的错误信息</param> /// <param name="db">数据库上下文</param> /// <param name="entity">一个人员</param> /// <returns></returns> public bool Create(ref ValidationErrors validationErrors, SysEntities db, SysPerson entity) { int count = 1; if (CheckName(entity.Name)) { validationErrors.Add("用户名已被占用,请换一个新的用户名"); return false; } foreach (string item in entity.SysRoleId.GetIdSort()) { SysRole sys = new SysRole { Id = item }; db.SysRole.Attach(sys); entity.SysRole.Add(sys); count++; } repository.Create(db, entity); if (count == repository.Save(db)) { return true; } else { validationErrors.Add("创建出错了"); } return false; }