namespace BLL { using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI.WebControls; public class Sys_UserService { /// /// 用户登陆方法 /// /// 登陆名 /// 未加密密码 /// 记住我开关 /// 调用页面 /// 是否登陆成功 public static bool UserLogOn(string account, string password, bool rememberMe, System.Web.UI.Page page) { string https = ConfigurationManager.AppSettings["Https"]; bool IsSuccess = false; var q = from y in Funs.DB.Sys_User where y.Account == account select y; List x = null; if (q.Count() > 0) { x = (from y in Funs.DB.Sys_User where y.Account == account && y.IsPost == true && y.Password == EncryptionPassword(password) select y).ToList(); if (x.Any()) { FormsAuthentication.SetAuthCookie(account, false); Model.Sys_User s = x.First(); page.Session[SessionName.CurrUser] = s; //if (rememberMe) //{ // System.Web.HttpCookie u = new System.Web.HttpCookie("UserInfo"); // u["username"] = account; // //u["password"] = null; // // Cookies过期时间设置为一年. // u.Expires = DateTime.Now.AddYears(1); // if (https == "true") // { // u.Secure = true; // } // page.Response.Cookies.Add(u); //} //else //{ // // 当选择不提交用户名时,Cookies过期时间设置为昨天. // page.Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1); // page.Response.Cookies["UserInfo"].Secure = true; //} IsSuccess = true; } } return IsSuccess; } /// /// 登陆获取用户信息 /// /// /// /// /// /// public static bool ADUserLogOn(string account, bool rememberMe, System.Web.UI.Page page) { string https = ConfigurationManager.AppSettings["Https"]; bool IsSuccess = false; var user = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == account && x.IsPost == true); if (user != null) { FormsAuthentication.SetAuthCookie(account, false); page.Session[SessionName.CurrUser] = user; //if (rememberMe) //{ // System.Web.HttpCookie u = new System.Web.HttpCookie("UserInfo"); // u["username"] = account; // // u["password"] = null; // // Cookies过期时间设置为一年. // u.Expires = DateTime.Now.AddYears(1); // if (https == "true") // { // u.Secure = true; // } // page.Response.Cookies.Add(u); //} //else //{ // // 当选择不提交用户名时,Cookies过期时间设置为昨天. // page.Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1); //} IsSuccess = true; } return IsSuccess; } /// /// 加密密码 /// /// 加密前的密码 /// 加密后的密码 public static string EncryptionPassword(string password) { return FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5"); } /// /// 获取用户初始密码 /// /// 单位id /// 手机号码 /// public static string GetEncryptionPassword(string account) { string passNo = string.Empty; if (!string.IsNullOrEmpty(account)) { passNo += account + ".1234"; } return EncryptionPassword(passNo); } /// /// 获取用户信息 /// /// 用户Id /// 用户信息 public static Model.Sys_User GetUsersByUserId(string userId) { Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId); return m; } /// /// 获取用户账号是否存在 /// /// 用户id /// 账号 /// 项目ID /// 是否存在 public static bool IsExistUserAccount(string userId, string account) { bool isExist = false; if (!string.IsNullOrEmpty(userId)) { var user = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == account && x.UserId != userId); if (user != null) { isExist = true; } } else { var user = Funs.DB.Sys_User.FirstOrDefault(x => x.Account == account); if (user != null) { isExist = true; } } return isExist; } /// /// 获取同单位用户名称是否存在 /// /// 用户id /// 账号 /// 项目ID /// 是否存在 public static bool IsExistUserName(string userId, string userName) { bool isExist = false; var name = Funs.DB.Sys_User.FirstOrDefault(x => x.UserName == userName && x.UserId != userId); if (name != null) { isExist = true; } return isExist; } /// /// 根据部门获取用户信息 /// /// /// public static List GetUsersByDep(string departId) { return (from x in Funs.DB.Sys_User where x.DepartId == departId select x).ToList(); } /// /// 根据用户ID获取名称 /// /// /// public static string GetUserNameByUserId(string userId) { string userName = string.Empty; Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId); if (m != null) { userName = m.UserName; } return userName; } /// /// 修改密码 /// /// /// public static void UpdatePassword(string userId, string password) { Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId); if (m != null) { m.Password = password; Funs.DB.SubmitChanges(); } } /// /// 增加人员信息 /// /// 人员实体 public static void AddUser(Model.Sys_User user) { Model.Sys_User newUser = new Model.Sys_User(); newUser.UserId = user.UserId; newUser.Account = user.Account; newUser.UserCode = user.UserCode; newUser.Password = user.Password; newUser.UserName = user.UserName; newUser.ChineseName = user.ChineseName; newUser.UnitId = user.UnitId; newUser.RoleId = user.RoleId; newUser.IsPost = user.IsPost; newUser.DepartId = user.DepartId; newUser.Email = user.Email; newUser.EmailPassword = user.EmailPassword; newUser.Phone = user.Phone; newUser.Remark = user.Remark; newUser.Address = user.Address; Funs.DB.Sys_User.InsertOnSubmit(newUser); Funs.DB.SubmitChanges(); } /// /// 修改人员信息 /// /// 人员实体 public static void UpdateUser(Model.Sys_User user) { Model.Sys_User newUser = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == user.UserId); if (newUser != null) { newUser.Account = user.Account; newUser.UserCode = user.UserCode; //newUser.Password = user.Password; newUser.UserName = user.UserName; newUser.ChineseName = user.ChineseName; newUser.UnitId = user.UnitId; newUser.RoleId = user.RoleId; newUser.IsPost = user.IsPost; newUser.DepartId = user.DepartId; newUser.Email = user.Email; if (!String.IsNullOrEmpty(user.EmailPassword)) { newUser.EmailPassword = user.EmailPassword; } newUser.Phone = user.Phone; newUser.Remark = user.Remark; newUser.Address = user.Address; Funs.DB.SubmitChanges(); } } /// /// 根据主键删除用户信息 /// /// public static void DeleteUserById(string userId) { Model.Sys_User u = Funs.DB.Sys_User.FirstOrDefault(e => e.UserId == userId); if (u != null) { Funs.DB.Sys_User.DeleteOnSubmit(u); Funs.DB.SubmitChanges(); } } /// /// 根据帐号获取用户信息 /// /// 帐号 /// 用户信息 public static Model.Sys_User GetUserByAccount(string account) { Model.Sys_User m = Funs.DB.Sys_User.FirstOrDefault(e => e.Account == account); return m; } /// /// 根据部门获得所有对应在岗的用户且参与流程 /// /// public static List GetUserListByDepartId(string departId) { var q = (from x in Funs.DB.Sys_User where x.IsPost == true && x.DepartId == departId orderby x.UserName select x).ToList(); return q; } /// /// 查询所有在岗的用户 /// /// public static List GetUserList() { return (from x in Funs.DB.Sys_User where x.IsPost == true && x.Account != "gly" orderby x.UserName select x).ToList(); } /// /// 根据角色获得最大编号的在岗用户 /// /// public static Model.Sys_User GetMaxUserByRoleId(string roleId) { return (from x in Funs.DB.Sys_User where x.IsPost == true && x.RoleId == roleId && (x.UserCode != "" && x.UserCode != null) orderby x.UserCode descending select x).FirstOrDefault(); } /// /// 获取用户视图列表信息 /// /// public static List GetUserViewList() { return (from x in Funs.DB.View_Sys_Users where x.IsPost == true orderby x.DepartName, x.UserName select x).ToList(); } /// /// 常量表下拉框 /// /// 下拉框名字 /// 是否显示请选择 public static void InitUserDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataGroupField = "DepartName"; dropName.DataValueField = "UserId"; dropName.DataTextField = "UserName"; dropName.DataSource = BLL.Sys_UserService.GetUserViewList(); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// 根据用户名获取用户信息 /// /// /// public static Model.Sys_User getUserIdByUserName(string userName) { return Funs.DB.Sys_User.FirstOrDefault(e => e.UserName == userName); } /// /// 根据角色获取用户信息 /// /// /// public static List getUserListByRoleId(string roleId, bool isShowPost) { if (isShowPost) { return (from x in Funs.DB.Sys_User where x.RoleId == roleId && x.IsPost == isShowPost select x).ToList(); } else { return (from x in Funs.DB.Sys_User where x.RoleId == roleId select x).ToList(); } } public static void UpdateUserList(Model.Sys_User user) { Model.Sys_User newUser = Funs.DB.Sys_User.FirstOrDefault(e => e.Account == user.Account); if (newUser != null) { newUser.DepartId = user.DepartId; newUser.ChineseName = user.ChineseName; newUser.Email = user.Email; newUser.Address = user.Address; Funs.DB.SubmitChanges(); } } } }