namespace BLL { using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web.Security; using System.Web.UI.WebControls; using Model; public static 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; password = EncryptionPassword(password); var q = from y in Funs.DB.Sys_User where y.Account.ToLower() == account.ToLower() select y; List x = null; ErrLogInfo.WriteLog($"q.Count={q.Count()}"); if (q.Count() > 0) { x = (from y in Funs.DB.Sys_User where y.Account.ToLower() == account.ToLower() && y.IsPost == true && y.Password == password select y).ToList(); if (x.Any()) { ErrLogInfo.WriteLog($"登录成功"); FormsAuthentication.SetAuthCookie(account, false); Model.Sys_User s = x.First(); page.Session[SessionName.CurrUser] = s; //page.Session.Timeout = 600; //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.ToLower() == account.ToLower() && 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 System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5"); } /// /// 获取用户初始密码 /// /// 单位id /// 手机号码 /// public static string GetEncryptionPassword(string account) { string passNo = string.Empty; if (!string.IsNullOrEmpty(account)) { passNo += account.ToLower() + ".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.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.ActType = user.ActType; newUser.IsCTE = user.IsCTE; newUser.IsCalculated = user.IsCalculated; newUser.ChineseName = user.ChineseName; newUser.IsThirdParty = user.IsThirdParty; newUser.ManagerName = user.ManagerName; 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.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.ActType = user.ActType; newUser.IsCTE = user.IsCTE; newUser.IsCalculated = user.IsCalculated; newUser.ChineseName = user.ChineseName; newUser.IsThirdParty = user.IsThirdParty; newUser.ManagerName = user.ManagerName; 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; } /// /// 根据部门获得所有对应在岗且是CTE用户 /// /// public static List GetUserListByDepartId(string departId) { var q = (from x in Funs.DB.Sys_User where x.IsPost == true && x.DepartId == departId && x.IsCTE == true orderby x.UserName select x).ToList(); return q; } /// /// 根据用户ID判断该用户是否是CTE人员并参与人工时计算 /// /// /// public static bool IsCTEAndCalculated(string userId) { bool isExist = false; var q = from x in Funs.DB.Sys_User where x.UserId==userId && x.IsCTE == true && x.IsCalculated == true orderby x.UserName select x; if (q.Count() > 0) { isExist = true; } return isExist; } /// /// 查询所有在岗的用户 /// /// public static List GetUserList() { return (from x in Funs.DB.Sys_User where x.IsPost == true 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 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.ManagerName = user.ManagerName; newUser.UserName = user.UserName; newUser.ChineseName = user.ChineseName; newUser.Email = user.Email; Funs.DB.SubmitChanges(); } } /// /// 根据角色id获取用户视图列表信息 /// /// public static List GetUserRoleIdViewList(string RoleId) { return (from x in Funs.DB.View_Sys_Users where x.IsPost == true && x.RoleId == RoleId orderby x.DepartName, x.UserName select x).ToList(); } /// /// 获取用户视图列表信息 /// /// 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(); } /// /// 获取CTE用户 /// /// public static List GetCTEUser() { return (from x in Funs.DB.View_Sys_Users where x.IsPost == true && x.IsCTE==true orderby x.DepartName, x.UserName select x).ToList(); } public static void InitCTEUserDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataGroupField = "DepartName"; dropName.DataValueField = "UserId"; dropName.DataTextField = "UserName"; dropName.DataSource = BLL.Sys_UserService.GetCTEUser(); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } /// /// 常量表下拉框 /// /// 下拉框名字 /// 是否显示请选择 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 void InitUserDrpNA(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.FineUINA(dropName); } } /// /// 根据用户姓名获取用户信息 /// /// /// public static Model.Sys_User GetUserByUserName(string username) { return Funs.DB.Sys_User.FirstOrDefault(e => e.UserName == username); } /// /// 根据ID获取CTE用户 /// /// /// public static Model.View_Sys_Users GetCTEUserByUserId(string userId) { return Funs.DB.View_Sys_Users.FirstOrDefault(e => e.DepartName.Contains("CTE") && e.UserId == userId); } /// /// 下拉选择部门或用户 /// /// /// public static void InitUserAndDepartDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "ID"; dropName.DataTextField = "Name"; dropName.DataSource = (from x in Funs.DB.View_UserDropDownList orderby x.GroupId, x.Name select x).ToList(); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } public static void InitDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "ID"; dropName.DataTextField = "Name"; dropName.DataSource = (from x in Funs.DB.View_UserDepartDropDownList orderby x.GroupId, x.Name select x).ToList(); dropName.DataBind(); if (isShowPlease) { Funs.FineUIPleaseSelect(dropName); } } public static void InitDrpNA(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "ID"; dropName.DataTextField = "Name"; dropName.DataSource = (from x in Funs.DB.View_UserDepartDropDownList orderby x.GroupId, x.Name select x).ToList(); dropName.DataBind(); if (isShowPlease) { Funs.FineUINA(dropName); } } } }