private static string GetFirstListValue(string consumerClass, AgencyObject obj, Func <AgencyRateStructure, AgencyList> fnGetList, string key, string dependsOn = null) { AgencyRateStructure rateStructure = GetRateStructure(obj, consumerClass); return(rateStructure != null ? GetValueList(fnGetList(rateStructure), key, dependsOn).FirstOrDefault() : null); }
private static string GetCommaDelimitedListValue(string consumerClass, AgencyObject obj, Func <AgencyRateStructure, AgencyList> fnGetList, string key, string dependsOn = null) { AgencyRateStructure rateStructure = GetRateStructure(obj, consumerClass); return(rateStructure != null ? string.Join(", ", GetValueList(fnGetList(rateStructure), key, dependsOn)) : null); }
private static List <AgencyRateStructure> ParseRateStructure(JToken jItem) { List <AgencyRateStructure> rateStructures = new List <AgencyRateStructure>(); foreach (KeyValuePair <string, JToken> jRateStructureParentItem in (JObject)jItem) { AgencyRateStructure rateStructure = new AgencyRateStructure { ConsumerClass = jRateStructureParentItem.Key }; rateStructures.Add(rateStructure); bool isJObject = jRateStructureParentItem.Value is JObject; if (!isJObject) { continue; } foreach (KeyValuePair <string, JToken> jRateStructureItem in (JObject)jRateStructureParentItem.Value) { if (jRateStructureItem.Key.Equals("adjusted_budget", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.AdjustedBudget = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("bill", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.Bill = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("budget", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.Budget = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("commodity_price", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.CommodityPrice = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("days_in_period", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.DaysInPeriod = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("elevation_rate", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.ElevationRate = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("et_amount", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.EtAmount = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("fixed_water_service", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.FixedWaterService = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("flat_rate", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.FlatRate = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("flat_rate_commodity", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.FlatRateCommodity = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("flat_rate_drought", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.FlatRateDrought = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("gpcd", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.Gpcd = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("hhsize", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.HhSize = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("indoor", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.Indoor = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("indoor_price", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.IndoorPrice = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("irrigation_efficiency", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.IrrigationEfficiency = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("mwd_ready_to_serve", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.MwdReadyToServe = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("outdoor", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.Outdoor = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("outside_city_service_price", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.OutsideCityServicePrice = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("rate", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.Rate = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("recycled_rate", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.RecycledRate = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("sdcwa_infrastructure", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.SdcwaInfrastructure = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("sewer_price", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.SewerPrice = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("tier_prices", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.TierPrices = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("tier_prices_commodity", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.TierPricesCommodity = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("tier_prices_drought", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.TierPricesDrought = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("tier_rates", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.TierRates = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("tier_starts", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.TierStarts = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("tier_starts_commodity", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.TierStartsCommodity = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("tier_starts_drought", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.TierStartsDrought = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("wrap_discount", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.WrapDiscount = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("capital_facilities_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.CapitalFacilitiesCharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("capital_improvements_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.CapitalImprovementsCharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("carw_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.CarwCharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("commodity_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.CommodityCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("connection_fee", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.ConnectionFee = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("cost_adjustment_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.CostAdjustmentCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("elevation_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.ElevationCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("fixed_sewer_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.FixedSewerCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("fixed_wastewater_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.FixedWastewaterCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("flat_service_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.FlatServiceCharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("minimum_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.MinimumCharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("outside_city_service_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.OutsideCityServiceCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("recycled_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.RecycledCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("reliability_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.ReliabilityCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("sanitation_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.SanitationCharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("service_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.ServiceCharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("sewer_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.SewerCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("variable_wastewater_charge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.VariableWastewaterCharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("drought_surcharge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.DroughtSurcharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("fixed_drought_surcharge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.FixedDroughtSurcharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("safe_drinking_water_surcharge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.SafeDrinkingWaterSurcharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("utility_surcharge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.UtilitySurcharge = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("utility_surcharge_price", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.UtilitySurchargePrice = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("variable_drought_surcharge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.VariableDroughtSurcharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("wrap_surcharge", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.WrapSurcharge = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("landscape_factor", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.LandscapeFactor = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("monthly_plant_factor", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.MonthlyPlantFactor = ParseAgencyList(jRateStructureItem.Value); } else if (jRateStructureItem.Key.Equals("volumetric_conversion_factor", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.VolumetricConversionFactor = jRateStructureItem.Value.ToString(); } else if (jRateStructureItem.Key.Equals("weather_adjustment_factor", StringComparison.InvariantCultureIgnoreCase)) { rateStructure.WeatherAdjustmentFactor = ParseAgencyList(jRateStructureItem.Value); } else { } } } return(rateStructures); }