public async Task <List <RegionSeries> > GetAllLocalEmployment(int yearStart, int yearEnd) { List <State> allStates = States.AllStatesAndTerritoriesLA(); var seriesResult = await GetLocalUnemployment(allStates, yearStart, yearEnd); List <RegionSeries> returnSeries = new List <RegionSeries>(); Dictionary <string, RegionSeries> sortSeries = new Dictionary <string, RegionSeries>(); LocalUnemploymentParser lup = new LocalUnemploymentParser(); foreach (Series s in seriesResult) { BlsSeries newSeries = new BlsSeries(s); newSeries.Params = lup.ParseSeriesID(newSeries.seriesID); string regionString = States.Dictionary[newSeries.Params.Region].Description; if (!sortSeries.ContainsKey(regionString)) { sortSeries[regionString] = new RegionSeries() { RegionName = regionString }; } if (newSeries.Params.Measure == EmploymentMeasure.Employment) { sortSeries[regionString].Employment = newSeries; } else if (newSeries.Params.Measure == EmploymentMeasure.Unemployment) { sortSeries[regionString].Unemployment = newSeries; } else if (newSeries.Params.Measure == EmploymentMeasure.UnemploymentRate) { sortSeries[regionString].UnemploymentRate = newSeries; } else if (newSeries.Params.Measure == EmploymentMeasure.LaborForce) { sortSeries[regionString].LaborForce = newSeries; } } foreach (KeyValuePair <string, RegionSeries> kvp in sortSeries) { returnSeries.Add(kvp.Value); } var sortedSeries = from series in returnSeries orderby series.RegionName ascending select series; return(sortedSeries.ToList()); }
public async Task <List <Series> > GetLocalUnemployment(List <State> states, int yearStart, int yearEnd) { List <string> listOfSeries = new List <string>(); LocalUnemploymentParser lup = new LocalUnemploymentParser(); foreach (State s in states) { listOfSeries.Add(lup.GetStateSeriesID(s, EmploymentMeasure.LaborForce, CommonTypes.Adjustment.Seasonal)); listOfSeries.Add(lup.GetStateSeriesID(s, EmploymentMeasure.Employment, CommonTypes.Adjustment.Seasonal)); listOfSeries.Add(lup.GetStateSeriesID(s, EmploymentMeasure.Unemployment, CommonTypes.Adjustment.Seasonal)); } var results = await GetBlsSeries(listOfSeries, yearStart, yearEnd); return(results); }