private Control GenerateReport(string stateOrFederalCode, string countyCode = "", string localCode = "") { _ElectoralClass = Offices.GetElectoralClass(stateOrFederalCode, countyCode, localCode); var options = new OfficialsReportOptions { ElectoralClass = Offices.GetElectoralClass(stateOrFederalCode, countyCode, localCode), StateCode = stateOrFederalCode, CountyCode = countyCode, LocalCode = localCode }; DataManager.GetData(options); switch (options.ElectoralClass) { case ElectoralClass.USPresident: new USPresidentCategory().Generate(this, true); break; case ElectoralClass.USSenate: foreach (var stateCode in StateCache.All51StateCodes) { new USSenateCategory().Generate(this, true, stateCode); } break; case ElectoralClass.USHouse: foreach (var stateCode in StateCache.All51StateCodes) { new USHouseCategory().Generate(this, true, stateCode); } break; case ElectoralClass.USGovernors: foreach (var stateCode in StateCache.All51StateCodes) { new USGovernorsCategory().Generate(this, true, stateCode); } break; case ElectoralClass.State: new USPresidentCategory().Generate(this); new USSenateCategory().Generate(this, false, stateOrFederalCode); new USHouseCategory().Generate(this, false, stateOrFederalCode); new USGovernorsCategory().Generate(this, false, stateOrFederalCode); new StatewideCategory().Generate(this, false, stateOrFederalCode); new StateSenateCategory().Generate(this, false, stateOrFederalCode); new StateHouseCategory().Generate(this, false, stateOrFederalCode); break; case ElectoralClass.County: new CountyCategory().Generate(this, false, stateOrFederalCode, countyCode); break; case ElectoralClass.Local: new LocalCategory().Generate(this, false, stateOrFederalCode, countyCode, localCode); break; } switch (_ElectoralClass) { case ElectoralClass.State: case ElectoralClass.County: CreateLowerLevelOfficialsAnchors(stateOrFederalCode, countyCode); break; } return(ReportContainer.AddCssClasses("officials-report")); }
public void GetData(OfficialsReportOptions options) { DataTable = Offices.GetOfficialsReportData(options); }