Beispiel #1
0
        /// <summary>
        /// 获取用户下拉选项  项目 角色 且可审批
        /// </summary>
        /// <returns></returns>
        public static List <Model.SpSysUserItem> GetProjectRoleUserListByProjectId(string projectId, string unitId)
        {
            IQueryable <Model.SpSysUserItem> users = null;

            if (!string.IsNullOrEmpty(projectId))
            {
                List <Model.SpSysUserItem>       returUsers = new List <Model.SpSysUserItem>();
                List <Model.Project_ProjectUser> getPUser   = new List <Model.Project_ProjectUser>();
                if (!string.IsNullOrEmpty(unitId))
                {
                    getPUser = (from x in Funs.DB.Project_ProjectUser
                                join u in Funs.DB.Project_ProjectUnit on new { x.ProjectId, x.UnitId } equals new { u.ProjectId, u.UnitId }
                                where x.ProjectId == projectId && (u.UnitId == unitId || u.UnitType == BLL.Const.ProjectUnitType_1 || u.UnitType == BLL.Const.ProjectUnitType_3 || u.UnitType == BLL.Const.ProjectUnitType_4)
                                select x).ToList();
                }
                else
                {
                    getPUser = (from x in Funs.DB.Project_ProjectUser
                                where x.ProjectId == projectId
                                select x).ToList();
                }

                if (getPUser.Count() > 0)
                {
                    foreach (var item in getPUser)
                    {
                        List <string> roleIdList = Funs.GetStrListByStr(item.RoleId, ',');
                        var           getRoles   = Funs.DB.Sys_Role.FirstOrDefault(x => x.IsAuditFlow == true && roleIdList.Contains(x.RoleId));
                        if (getRoles != null)
                        {
                            string userName = RoleService.getRoleNamesRoleIds(item.RoleId) + "-" + UserService.GetUserNameByUserId(item.UserId);
                            Model.SpSysUserItem newsysUser = new Model.SpSysUserItem
                            {
                                UserId   = item.UserId,
                                UserName = userName,
                            };
                            returUsers.Add(newsysUser);
                        }
                    }
                }
                return(returUsers);
            }
            else
            {
                if (!string.IsNullOrEmpty(unitId))
                {
                    users = (from x in Funs.DB.Sys_User
                             join z in Funs.DB.Sys_Role on x.RoleId equals z.RoleId
                             where x.IsPost == true && z.IsAuditFlow == true && x.UnitId == unitId
                             orderby x.UserCode
                             select new Model.SpSysUserItem
                    {
                        UserName = z.RoleName + "- " + x.UserName,
                        UserId = x.UserId,
                    });
                }
                else
                {
                    users = (from x in Funs.DB.Sys_User
                             join z in Funs.DB.Sys_Role on x.RoleId equals z.RoleId
                             where x.IsPost == true && z.IsAuditFlow == true
                             orderby x.UserCode
                             select new Model.SpSysUserItem
                    {
                        UserName = z.RoleName + "- " + x.UserName,
                        UserId = x.UserId,
                    });
                }
            }
            return(users.ToList());
        }
Beispiel #2
0
        /// <summary>
        /// 用户登录成功方法
        /// </summary>
        /// <param name="loginname">登录成功名</param>
        /// <param name="password">未加密密码</param>
        /// <param name="rememberMe">记住我开关</param>
        /// <param name="page">调用页面</param>
        /// <returns>是否登录成功</returns>
        public static bool UserLogOn(string account, string password, bool rememberMe, System.Web.UI.Page page)
        {
            var getUser = from x in Funs.DB.Sys_User where x.Account == account && x.IsPost == true && x.Password == Funs.EncryptionPassword(password)
                          select new { x.UserId, x.UserName, x.Account, x.Password, SystemType = string.Empty, x.IsPost, x.LoginProjectId, LoginSystemType = string.Empty };

            ///安全登录
            if (getUser.Count() == 0)
            {
                getUser = from x in FunsHSSE.DB.Sys_User
                          where x.Account == account && x.IsPost == true && x.Password == Funs.EncryptionPassword(password)
                          select new { x.UserId, x.UserName, x.Account, x.Password, SystemType = string.Empty, x.IsPost, x.LoginProjectId, LoginSystemType = string.Empty };
                ///焊接登录
                if (getUser.Count() == 0)
                {
                    getUser = from x in FunsHJGL.DB.Sys_User
                              where x.Account == account && x.IsPost == true && x.Password == Funs.EncryptionPassword(password)
                              select new { x.UserId, x.UserName, x.Account, x.Password, SystemType = string.Empty, x.IsPost, LoginProjectId = string.Empty, LoginSystemType = string.Empty };
                    ///质量登录
                    if (getUser.Count() == 0)
                    {
                        getUser = from x in FunsCQMS.DB.Sys_User
                                  where x.Account == account && x.IsPost == true && x.Password == Funs.EncryptionPassword(password)
                                  select new { x.UserId, x.UserName, x.Account, x.Password, SystemType = string.Empty, x.IsPost, LoginProjectId = string.Empty, LoginSystemType = string.Empty };
                        ///施工技术登录
                        if (getUser.Count() == 0)
                        {
                            getUser = from x in FunsSGJS.DB.Sys_User
                                      where x.Account == account && x.IsPost == true && x.Password == Funs.EncryptionPassword(password)
                                      select new { x.UserId, x.UserName, x.Account, x.Password, SystemType = string.Empty, x.IsPost, LoginProjectId = string.Empty, LoginSystemType = string.Empty };
                            ///施工综合登录
                            if (getUser.Count() == 0)
                            {
                                getUser = from x in FunsZHGL.DB.Sys_User
                                          where x.Account == account && x.IsPost == true && x.Password == Funs.EncryptionPassword(password)
                                          select new { x.UserId, x.UserName, x.Account, x.Password, SystemType = string.Empty, x.IsPost, LoginProjectId = string.Empty, LoginSystemType = string.Empty };
                            }
                        }
                    }
                }
            }
            var firstUser = getUser.FirstOrDefault();

            if (firstUser != null)
            {
                Model.SpSysUserItem userItem = new Model.SpSysUserItem
                {
                    UserId   = firstUser.UserId,
                    UserName = firstUser.UserName,
                    Account  = firstUser.Account,
                    Password = firstUser.Password,
                };

                FormsAuthentication.SetAuthCookie(account, false);
                page.Session[SessionName.CurrUser] = userItem;
                if (rememberMe)
                {
                    System.Web.HttpCookie u = new System.Web.HttpCookie("UserInfo");
                    u["username"] = account;
                    u["password"] = password;
                    // Cookies过期时间设置为一年.
                    u.Expires = DateTime.Now.AddYears(1);
                    page.Response.Cookies.Add(u);
                }
                else
                {
                    // 当选择不保存用户名时,Cookies过期时间设置为昨天.
                    page.Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(-1);
                }

                return(true);
            }
            else
            {
                return(false);
            }
        }