private void parseField(Scenario s) { if (String.IsNullOrEmpty(fDp.LoadedPath)) { s.Field = new Field() { Enabled = false, Id = "field" }; } else { string id = new DirectoryInfo(fDp.LoadedPath).Parent.ToString(); string area = fDp.GetValueOnly("field", "size"); string isEnabled = fDp.GetValueOnly("field", "enable"); if (String.IsNullOrEmpty(isEnabled)) { isEnabled = "false"; } s.Field = new Field() { Id = id, Enabled = Convert.ToBoolean(isEnabled), Area_ha = Convert.ToDouble(area), Crop = id }; } }
public Scenario Parse() { Scenario s = new Scenario(); #region Scenario s.DetailsUrl = dDp.GetValueOnly("dairy scenario", "details_URL"); s.Description = dDp.GetValue("dairy scenario", "description"); s.Accumulations = Convert.ToInt16(dDp.GetValueOnly("dairy scenario", "accumulations")); s.SimulationPeriodMode = dDp.GetValueOnly("dairy scenario", "simulation_period_mode"); s.IrrigationPumpModel = dDp.GetValueOnly("dairy scenario", "irrigation_pump_model"); s.ParameterizedScenario = Convert.ToInt16(dDp.GetValueOnly("dairy scenario", "parameterized_scenario")); s.Latitude = Convert.ToDouble(dDp.GetValueOnly("dairy scenario", "latitude")); s.Longitude = Convert.ToDouble(dDp.GetValueOnly("dairy scenario", "longitude")); string sd = dDp.GetValueOnly("dairy scenario", "start_date"); s.StartDate = !String.IsNullOrEmpty(sd) ? parseDateFromIniFile(sd) : DateTime.Now; string ed = dDp.GetValueOnly("dairy scenario", "stop_date"); s.StopDate = !String.IsNullOrEmpty(ed) ? parseDateFromIniFile(ed) : DateTime.Now; string w = dDp.GetValueOnly("dairy scenario", "weather"); s.PathToWeatherFile = !String.IsNullOrEmpty(w) ? w : ""; int manureSeparatorCount = Convert.ToInt16(dDp.GetValueOnly("dairy scenario", "manure_separator:count")); int manureStorageCount = Convert.ToInt16(dDp.GetValueOnly("dairy scenario", "manure_storage:count")); int receiveOffFarmBiomassCount = Convert.ToInt16(dDp.GetValueOnly("dairy scenario", "receive_off_farm_biomass:count")); #endregion parseBarn(s); parseCow(s); parseManureSeparators(s, manureSeparatorCount); parseLagoon(s, manureStorageCount); parseFertigationManagement(s); parseReceiveOffFarmBiomass(s, receiveOffFarmBiomassCount); parseField(s); return(s); }