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); }
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); }