Exemple #1
0
        public Result UpdateOrgRole(UserContext context, OrgRole role)
        {
            //Get Existing OrgRole
            var roleQuery = new GetOrgRoleByID_Q
            {
                ID = role.ID
            };

            var existingRole = _queryDispatcher.Dispatch <GetOrgRoleByID_Q, OrgRole>(context.AccessToken, roleQuery);

            if (existingRole == null)
            {
                throw new Exception("Unable to retrive Role for Update Request");
            }

            //Update OrgRole
            var roleCmd = new UpdateOrgRole_C
            {
                ID              = role.ID,
                OrganizationID  = role.OrganizationID,
                RoleName        = role.RoleName,
                RoleShortName   = role.RoleShortName,
                RoleDisplayName = role.RoleDisplayName,
                RoleType        = role.RoleType,
                RoleOrderBy     = role.RoleOrderBy,
                IsActive        = role.IsActive,
                IsHidden        = role.IsHidden
            };

            var roleResult = _commandDispatcher.Dispatch <UpdateOrgRole_C>(context, roleCmd);

            if (roleResult.Status != System.Net.HttpStatusCode.OK)
            {
                throw new Exception("Error updating Organization Role in DB");
            }

            //Update Mapped PayGrades
            var pgCmd = new UpdatePayGradesForOrgRole_C
            {
                OrgRoleID          = role.ID,
                SupportedPayGrades = new List <int>()
            };

            foreach (var pg in role.SupportedPayGrades)
            {
                pgCmd.SupportedPayGrades.Add(pg.ID);
            }

            var pgResult = _commandDispatcher.Dispatch <UpdatePayGradesForOrgRole_C>(context, pgCmd);

            if (pgResult.Status != System.Net.HttpStatusCode.OK)
            {
                throw new Exception("Error updating Organization Role - PayGrade Mapping in DB");
            }

            return(roleResult);
        }
Exemple #2
0
        public OrgRole GetOrgRoleByID(string accessToken, int roleID)
        {
            var query = new GetOrgRoleByID_Q
            {
                ID = roleID
            };

            var result = _queryDispatcher.Dispatch <GetOrgRoleByID_Q, OrgRole>(accessToken, query);

            return(result);
        }