コード例 #1
0
        /* Get Group Users of selected */
        public Entities.UserGroup GetUserSecurity(string userName)
        {
            if (!userName.ToLower().StartsWith("coned"))
            {
                userName = "******" + userName;
            }
            Entities.UserGroup userGroup = new Entities.UserGroup();
            try
            {
                var dbUserGroup = JSSESecurityManager.GetUserSecurity(userName);
                if (dbUserGroup != null)
                {
                    userGroup.User = new Entities.UserInfo();
                    userGroup.User.SecurityUserID = dbUserGroup.SecurityUser_ID;
                    userGroup.User.User_ID        = dbUserGroup.User_ID;
                    int empId = 0;
                    Int32.TryParse(dbUserGroup.EmptNo, out empId);
                    userGroup.User.Emp_Id        = empId;
                    userGroup.User.FirstName     = dbUserGroup.FirstName;
                    userGroup.User.LastName      = dbUserGroup.LastName;
                    userGroup.User.FullName      = dbUserGroup.LastName + " , " + dbUserGroup.FirstName;
                    userGroup.User.Email         = dbUserGroup.Email;
                    userGroup.User.User_ID       = dbUserGroup.User_ID;
                    userGroup.User.Org_Id        = dbUserGroup.Org_ID;
                    userGroup.User.MajorGroup_Id = dbUserGroup.MajorGroup_ID;
                    userGroup.User.Dept_Id       = dbUserGroup.Dept_Id;
                    userGroup.User.Section_Id    = dbUserGroup.SectionId;

                    List <Entities.Group> groups = new List <Entities.Group>();
                    foreach (var ugp in dbUserGroup.T_JSSE_Security_UserGroup)
                    {
                        Entities.Group group = new Entities.Group();
                        group.Group_ID  = ugp.T_JSSE_Security_Group.SecurityGroup_ID;
                        group.GroupName = ugp.T_JSSE_Security_Group.GroupName;
                        group.GroupType = new Entities.GroupType()
                        {
                            Level_Id = ugp.T_JSSE_Security_Group.GroupLevel
                        };
                        group.MajorGroup_Id = ugp.T_JSSE_Security_Group.MajorGroup_Id;
                        group.Org_Id        = ugp.T_JSSE_Security_Group.Org_Id;
                        List <Entities.Permission> perms = new List <Entities.Permission>();
                        foreach (var dbPerm in ugp.T_JSSE_Security_Group.T_JSSE_Security_GroupPermission)
                        {
                            Entities.Permission perm = new Entities.Permission();
                            perm.Permission_ID  = dbPerm.T_JSSE_Security_Permission.SecurityPermission_ID;
                            perm.PermissionName = dbPerm.T_JSSE_Security_Permission.PermissionName;
                            perms.Add(perm);
                        }
                        group.Permissions = perms.ToArray();
                        groups.Add(group);
                    }
                    userGroup.Groups = groups.ToArray();
                }
            }
            catch
            {
                throw;
            }
            return(userGroup);
        }
コード例 #2
0
        public int AddUserToGroupByRequest(Entities.UserRequest request)
        {
            Entities.UserGroup group = new Entities.UserGroup();
            group.User  = request.User;
            group.Group = request.Group;
            //Add User to Group from Request
            try
            {
                JSSESecurityManager.AddUser(group);
            }
            catch (Exception ex)
            {
                //Check Data base Error to see if User Already member of Group, Then Remove Request
                if (ex.Message.IndexOf(JSSEConstants.USER_ALREADY_IN_GROUP) > 0)
                {
                    RemoveUserRequest(request);
                }
                throw ex;
            };
            RemoveUserRequest(request);
            var ccUsers = string.Empty;
            //Get Groups By Level Id (1 for admin 2 for Owner and 3 for user of JSSE)
            var ownerGroups = GetGroupsByLevel(2, request.Group.Org_Id, 0);

            //If Owner Group Exists, then Get Users Owner List in to Variable for Email
            if (ownerGroups.Count > 0)
            {
                int groupId    = ownerGroups.FirstOrDefault().Group_ID;
                var ccUserList = GetGroupUsers(groupId).Select(x => x.User.Email);
                ccUsers = string.Join(",", ccUserList.ToArray());
            }
            else
            {
                string userName = request.User.User_ID;
                ccUsers = GetUserInfo(userName).Email;
            }
            //Send Email notification to User and CC Owner
            string        subject = string.Format(JSSEConstants.ACCESS_GRANT_TEXT, request.Group.GroupName);// "Access has been GRANTED to " + request.Group.GroupName + " Group.";
            StringBuilder sbBody  = new StringBuilder();

            sbBody.AppendLine(subject);
            sbBody.Append("<br/>");
            sbBody.AppendLine(@"<b>Request Sent by: </b>");
            sbBody.Append(request.User.FullName);
            sbBody.Append("<br/>");
            sbBody.AppendLine(@"<b>Granted Access to: </b>");
            sbBody.Append(request.Group.GroupName + " Group");
            SendEmailNotification(sbBody.ToString(), request.User.Email, ccUsers, subject);
            return(1);
        }
コード例 #3
0
        public List <Entities.UserGroup> GetGroupUsers(int groupId)
        {
            List <Entities.UserGroup> uGrps = new List <Entities.UserGroup>();

            try
            {
                var dbGroups = JSSESecurityManager.GetGroupUsers(groupId);
                foreach (var dbGrp in dbGroups)
                {
                    Entities.UserGroup uGrp = new Entities.UserGroup();
                    uGrp.Group = new Entities.Group();
                    uGrp.User  = new Entities.UserInfo();
                    uGrp.User.SecurityUserID = dbGrp.SecurityUser_ID;
                    uGrp.User.User_ID        = dbGrp.User_ID;
                    int empId = 0;
                    Int32.TryParse(dbGrp.EmptNo, out empId);
                    uGrp.User.Emp_Id     = empId;
                    uGrp.User.CompanyId  = dbGrp.CompanyCd;
                    uGrp.User.FirstName  = dbGrp.FirstName;
                    uGrp.User.LastName   = dbGrp.LastName;
                    uGrp.User.FullName   = dbGrp.LastName + " " + dbGrp.FirstName;
                    uGrp.User.Email      = dbGrp.Email;
                    uGrp.ModifiedDate    = dbGrp.ModifiedDate;
                    uGrp.Group.Group_ID  = dbGrp.SecurityGroup_ID;
                    uGrp.Group.GroupName = dbGrp.GroupName;
                    uGrp.Group.GroupType = new Entities.GroupType()
                    {
                        Level_Id = dbGrp.Level_ID, Level_Name = dbGrp.LevelName
                    };
                    uGrp.Group.MajorGroup_Id = dbGrp.MajorGroup_Id;
                    uGrp.Group.Org_Id        = dbGrp.Org_Id;
                    uGrps.Add(uGrp);
                }
            }
            catch
            {
                throw;
            }
            return(uGrps);
        }