/// <summary> /// Initializes the amount per cell /// </summary> /// <remarks></remarks> private void InitializeCellArea() { if (!this.IsSpatial) { DataRow drta = this.ResultScenario.GetDataSheet(Strings.DATASHEET_NSIC_NAME).GetDataRow(); this.m_TotalAmount = Convert.ToDouble(drta[Strings.DATASHEET_NSIC_TOTAL_AMOUNT_COLUMN_NAME], CultureInfo.InvariantCulture); this.m_CalcNumCellsFromDist = DataTableUtilities.GetDataBool(drta, Strings.DATASHEET_NSIC_CALC_FROM_DIST_COLUMN_NAME); } else { DataRow drics = this.ResultScenario.GetDataSheet(Strings.DATASHEET_SPPIC_NAME).GetDataRow(); double cellAreaTU = DataTableUtilities.GetDataDbl(drics[Strings.DATASHEET_SPPIC_CELL_AREA_COLUMN_NAME]); if (cellAreaTU.Equals(0)) { throw new STSimException(MessageStrings.ERROR_SPATIAL_NO_CELL_AREA); } this.m_TotalAmount = cellAreaTU * this.m_Cells.Count; DataRow drISC = this.ResultScenario.GetDataSheet(Strings.DATASHEET_SPPIC_NAME).GetDataRow(); //Save the Number of Cells count, now that we have a potentially more accurate value than at config time. if (Convert.ToInt32(drISC[Strings.DATASHEET_SPPIC_NUM_CELLS_COLUMN_NAME], CultureInfo.InvariantCulture) != this.m_Cells.Count) { drISC[Strings.DATASHEET_SPPIC_NUM_CELLS_COLUMN_NAME] = this.m_Cells.Count; } } this.m_AmountPerCell = (this.m_TotalAmount / Convert.ToDouble(this.m_Cells.Count, CultureInfo.InvariantCulture)); }
public override void DeleteRows(IEnumerable <DataRow> rows) { List <DataRow> DeleteRows = new List <DataRow>(); Dictionary <string, DataRow> GroupRows = this.CreateTGRowDictionary(); foreach (DataRow dr in rows) { string AutoGroupName = GetAutoGeneratedGroupName(dr); if (!GroupRows.ContainsKey(AutoGroupName)) { continue; } Debug.Assert(DataTableUtilities.GetDataBool(GroupRows[AutoGroupName], Strings.IS_AUTO_COLUMN_NAME)); DeleteRows.Add(GroupRows[AutoGroupName]); } if (DeleteRows.Count > 0) { ((TransitionGroupDataSheet)this.m_TGDataSheet).DeleteAutoGeneratedRows(DeleteRows); } base.DeleteRows(rows); }
private void OnSLXSLYChanged(object sender, EventArgs e) { DataTable dt = this.GetData(); Dictionary <string, bool> d = CreateExistingNamesDictionary(dt); this.m_AllowRowChangeEvents = false; foreach (DataRow dr in dt.Rows) { if (dr.RowState == DataRowState.Deleted) { continue; } bool IsAutoName = DataTableUtilities.GetDataBool(dr, Strings.DATASHEET_IS_AUTO_NAME_COLUMN_NAME); if (IsAutoName) { string slxname = this.GetSlxName(dr); string slyname = this.GetSlyName(dr); string CurrentName = Convert.ToString(dr[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture); string CurrentNamePart1 = CurrentName; string CurrentNamePart2 = null; if (CurrentName.Contains("(")) { string[] s = CurrentName.Split(' '); CurrentNamePart1 = s[0]; CurrentNamePart2 = s[1]; } string[] Split = CurrentNamePart1.Split(':'); if (Split[0] == slxname && Split[1] == slyname) { string n = slxname + ":" + slyname; if (CurrentNamePart2 != null) { n += " " + CurrentNamePart2; } dr[Strings.DATASHEET_NAME_COLUMN_NAME] = n; } else { string n = GetNextName(slxname + ":" + slyname, d); dr[Strings.DATASHEET_NAME_COLUMN_NAME] = n; d.Add(n, true); } } } this.m_AllowRowChangeEvents = true; }
/// <summary> /// Initializes the IsSpatial run flag /// </summary> /// <remarks></remarks> private void ConfigureIsSpatialRunFlag() { DataRow dr = this.ResultScenario.GetDataSheet(Strings.DATASHEET_RUN_CONTROL_NAME).GetDataRow(); if (dr != null) { this.m_IsSpatial = DataTableUtilities.GetDataBool(dr[Strings.RUN_CONTROL_IS_SPATIAL_COLUMN_NAME]); } }
/// <summary> /// Initializes spatial average output options /// </summary> /// <remarks></remarks> private void InitializeSpatialAverageOutputOptions() { if (!this.m_IsSpatial) { return; } Func <object, int> SafeInt = (object o) => { if (o == DBNull.Value) { return(0); } else { return(Convert.ToInt32(o, CultureInfo.InvariantCulture)); } }; DataRow droo = this.ResultScenario.GetDataSheet(Strings.DATASHEET_OO_SPATIAL_AVERAGE_NAME).GetDataRow(); if (droo == null) { return; } this.m_CreateAvgRasterStateClassOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SC_COLUMN_NAME]); this.m_AvgRasterStateClassOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SC_TIMESTEPS_COLUMN_NAME]); this.m_AvgRasterStateClassCumulative = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SC_CUMULATIVE_COLUMN_NAME]); this.m_CreateAvgRasterAgeOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_AGE_COLUMN_NAME]); this.m_AvgRasterAgeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_AGE_TIMESTEPS_COLUMN_NAME]); this.m_AvgRasterAgeCumulative = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_AGE_CUMULATIVE_COLUMN_NAME]); this.m_CreateAvgRasterStratumOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_ST_COLUMN_NAME]); this.m_AvgRasterStratumOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_ST_TIMESTEPS_COLUMN_NAME]); this.m_AvgRasterStratumCumulative = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_ST_CUMULATIVE_COLUMN_NAME]); this.m_CreateAvgRasterTransitionProbOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TP_COLUMN_NAME]); this.m_AvgRasterTransitionProbOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TP_TIMESTEPS_COLUMN_NAME]); this.m_AvgRasterTransitionProbCumulative = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TP_CUMULATIVE_COLUMN_NAME]); this.m_CreateAvgRasterTSTOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TST_COLUMN_NAME]); this.m_AvgRasterTSTOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TST_TIMESTEPS_COLUMN_NAME]); this.m_AvgRasterTSTCumulative = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TST_CUMULATIVE_COLUMN_NAME]); this.m_CreateAvgRasterStateAttributeOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SA_COLUMN_NAME]); this.m_AvgRasterStateAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SA_TIMESTEPS_COLUMN_NAME]); this.m_AvgRasterStateAttributeCumulative = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SA_CUMULATIVE_COLUMN_NAME]); this.m_CreateAvgRasterTransitionAttributeOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TA_COLUMN_NAME]); this.m_AvgRasterTransitionAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TA_TIMESTEPS_COLUMN_NAME]); this.m_AvgRasterTransitionAttributeCumulative = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TA_CUMULATIVE_COLUMN_NAME]); }
private bool IsSplitByStrata() { DataRow dr = this.ResultScenario.GetDataSheet(Strings.DATASHEET_MULTI_PROCESSING_NAME).GetDataRow(); if (dr == null) { return(false); } return(DataTableUtilities.GetDataBool(dr[Strings.DATASHEET_MULTI_PROCESSING_SPLIT_BY_SS_COLUMN_NAME])); }
public override void Validate(DataTable proposedData, DataTransferMethod transferMethod) { base.Validate(proposedData, transferMethod); foreach (DataRow dr in proposedData.Rows) { if (!DataTableUtilities.GetDataBool(dr, Strings.IS_AUTO_COLUMN_NAME)) { ValidateName(Convert.ToString(dr[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture)); } } }
/// <summary> /// Initializes tabular output options /// </summary> /// <remarks></remarks> private void InitializeTabularOutputOptions() { Func <object, int> SafeInt = (object o) => { if (o == DBNull.Value) { return(0); } else { return(Convert.ToInt32(o, CultureInfo.InvariantCulture)); } }; DataRow droo = this.ResultScenario.GetDataSheet(Strings.DATASHEET_OO_TABULAR_NAME).GetDataRow(); this.m_CreateSummaryStateClassOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SC_COLUMN_NAME]); this.m_SummaryStateClassOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SC_TIMESTEPS_COLUMN_NAME]); this.m_SummaryStateClassOutputAges = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SC_AGES_COLUMN_NAME]); this.m_SummaryStateClassZeroValues = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SC_ZERO_VALUES_COLUMN_NAME]); this.m_CreateSummaryTransitionOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TR_COLUMN_NAME]); this.m_SummaryTransitionOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TR_TIMESTEPS_COLUMN_NAME]); this.m_SummaryTransitionOutputAges = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TR_AGES_COLUMN_NAME]); this.m_SummaryTransitionOutputAsIntervalMean = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TR_INTERVAL_MEAN_COLUMN_NAME]); this.m_CreateSummaryTransitionByStateClassOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TRSC_COLUMN_NAME]); this.m_SummaryTransitionByStateClassOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TRSC_TIMESTEPS_COLUMN_NAME]); this.m_CreateSummaryStateAttributeOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SA_COLUMN_NAME]); this.m_SummaryStateAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SA_TIMESTEPS_COLUMN_NAME]); this.m_SummaryStateAttributeOutputAges = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SA_AGES_COLUMN_NAME]); this.m_CreateSummaryTransitionAttributeOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TA_COLUMN_NAME]); this.m_SummaryTransitionAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TA_TIMESTEPS_COLUMN_NAME]); this.m_SummaryTransitionAttributeOutputAges = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TA_AGES_COLUMN_NAME]); this.m_CreateSummaryExternalVariableOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_EV_COLUMN_NAME]); this.m_SummaryExternalVariableOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_EV_TIMESTEPS_COLUMN_NAME]); this.m_CreateSummaryTSTOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TST_COLUMN_NAME]); this.m_SummaryTSTOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TST_TIMESTEPS_COLUMN_NAME]); this.m_SummaryOmitSecondaryStrata = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_OMIT_SS_COLUMN_NAME]); this.m_SummaryOmitTertiaryStrata = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_OMIT_TS_COLUMN_NAME]); if (this.m_SummaryTransitionOutputAsIntervalMean) { DataSheet ds = this.Project.GetDataSheet(Strings.DATASHEET_SIZE_CLASS_NAME); if (ds.GetData().Rows.Count > 0) { this.RecordStatus(StatusType.Information, "Transition Summary Output won't include size information if Interval Mean selected."); } } }
private void OnColumnChanged(object sender, DataColumnChangeEventArgs e) { if (e.Row.RowState == DataRowState.Detached) { return; } if (!this.m_AllowRowChangeEvents) { return; } DataTable dt = this.GetData(); Dictionary <string, bool> d = CreateExistingNamesDictionary(dt); this.m_AllowRowChangeEvents = false; if (e.Column.ColumnName == Strings.DATASHEET_NAME_COLUMN_NAME) { if (e.Row[Strings.DATASHEET_NAME_COLUMN_NAME] != DBNull.Value && Convert.ToString(e.Row[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture) != TEMP_NAME_VALUE) { e.Row[Strings.DATASHEET_IS_AUTO_NAME_COLUMN_NAME] = Booleans.BoolToInt(false); } } else if ( e.Column.ColumnName == Strings.DATASHEET_STATECLASS_STATE_LABEL_X_ID_COLUMN_NAME || e.Column.ColumnName == Strings.DATASHEET_STATECLASS_STATE_LABEL_Y_ID_COLUMN_NAME) { bool IsAutoName = DataTableUtilities.GetDataBool(e.Row, Strings.DATASHEET_IS_AUTO_NAME_COLUMN_NAME); if (IsAutoName) { string slxname = this.GetSlxName(e.Row); string slyname = this.GetSlyName(e.Row); string CurrentName = Convert.ToString(e.Row[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture); string ProposedName = slxname + ":" + slyname; if (CurrentName != ProposedName) { ProposedName = GetNextName(ProposedName, d); e.Row[Strings.DATASHEET_NAME_COLUMN_NAME] = ProposedName; } } } this.m_AllowRowChangeEvents = true; }
public override void DeleteRows(IEnumerable <DataRow> rows) { List <DataRow> l = new List <DataRow>(); foreach (DataRow dr in rows) { if (!DataTableUtilities.GetDataBool(dr, Strings.IS_AUTO_COLUMN_NAME)) { l.Add(dr); } } if (l.Count > 0) { base.DeleteRows(l); } }
/// <summary> /// Initializes spatial output options /// </summary> /// <remarks></remarks> private void InitializeSpatialOutputOptions() { if (!this.m_IsSpatial) { return; } Func <object, int> SafeInt = (object o) => { if (o == DBNull.Value) { return(0); } else { return(Convert.ToInt32(o, CultureInfo.InvariantCulture)); } }; DataRow droo = this.ResultScenario.GetDataSheet(Strings.DATASHEET_OO_SPATIAL_NAME).GetDataRow(); this.m_CreateRasterStateClassOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_SC_COLUMN_NAME]); this.m_RasterStateClassOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_SC_TIMESTEPS_COLUMN_NAME]); this.m_CreateRasterAgeOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_AGE_COLUMN_NAME]); this.m_RasterAgeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_AGE_TIMESTEPS_COLUMN_NAME]); this.m_CreateRasterStratumOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_ST_COLUMN_NAME]); this.m_RasterStratumOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_ST_TIMESTEPS_COLUMN_NAME]); this.m_CreateRasterTransitionOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TR_COLUMN_NAME]); this.m_RasterTransitionOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TR_TIMESTEPS_COLUMN_NAME]); this.m_CreateRasterTransitionEventOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TE_COLUMN_NAME]); this.m_RasterTransitionEventOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TE_TIMESTEPS_COLUMN_NAME]); this.m_CreateRasterTstOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TST_COLUMN_NAME]); this.m_RasterTstOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TST_TIMESTEPS_COLUMN_NAME]); this.m_CreateRasterStateAttributeOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_SA_COLUMN_NAME]); this.m_RasterStateAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_SA_TIMESTEPS_COLUMN_NAME]); this.m_CreateRasterTransitionAttributeOutput = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TA_COLUMN_NAME]); this.m_RasterTransitionAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TA_TIMESTEPS_COLUMN_NAME]); }
private void RefreshNonCalculatedValues() { DataRow drProp = this.DataFeed.GetDataSheet(Strings.DATASHEET_SPPIC_NAME).GetDataRow(); if (drProp == null) { return; } this.CheckBoxCellSizeOverride.Checked = DataTableUtilities.GetDataBool(drProp[Strings.DATASHEET_SPPIC_CELL_AREA_OVERRIDE_COLUMN_NAME]); this.CheckBoxCellSizeOverride.Enabled = true; this.CheckBoxCellSizeOverride.AutoCheck = true; int NumRows = DataTableUtilities.GetDataInt(drProp[Strings.DATASHEET_SPPIC_NUM_ROWS_COLUMN_NAME]); int NumCols = DataTableUtilities.GetDataInt(drProp[Strings.DATASHEET_SPPIC_NUM_COLUMNS_COLUMN_NAME]); float CellArea = DataTableUtilities.GetDataSingle(drProp[Strings.DATASHEET_SPPIC_CELL_SIZE_COLUMN_NAME]); double cellAreaCalc = DataTableUtilities.GetDataDbl(drProp[Strings.DATASHEET_SPPIC_CELL_AREA_COLUMN_NAME]); this.TextBoxNumRows.Text = NumRows.ToString(CultureInfo.InvariantCulture); this.TextBoxNumColumns.Text = NumCols.ToString(CultureInfo.InvariantCulture); this.TextBoxCellArea.Text = CellArea.ToString("N4", CultureInfo.InvariantCulture); this.TextBoxCellAreaCalc.Text = cellAreaCalc.ToString("N4", CultureInfo.InvariantCulture); }
protected override void OnRowsModified(object sender, DataSheetRowEventArgs e) { List <DataRow> ModifyRows = new List <DataRow>(); string IdColName = this.PrimaryKeyColumn.Name; Dictionary <string, DataRow> GroupRows = this.CreateTGRowDictionary(); Dictionary <string, bool> ExistingNames = new Dictionary <string, bool>(); foreach (string k in GroupRows.Keys) { ExistingNames.Add(k, true); } foreach (DataRow dr in this.m_TTData.Rows) { if (dr.RowState == DataRowState.Deleted) { continue; } int id = Convert.ToInt32(dr[IdColName], CultureInfo.InvariantCulture); if (!this.m_PrevNames.ContainsKey(id)) { continue; } string OldName = this.m_PrevNames[id]; string OldAutoGroupName = GetAutoGeneratedGroupName(OldName); if (!GroupRows.ContainsKey(OldAutoGroupName)) { continue; } string NewName = Convert.ToString(dr[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture); Debug.Assert(DataTableUtilities.GetDataBool(GroupRows[OldAutoGroupName], Strings.IS_AUTO_COLUMN_NAME)); if (OldName != NewName) { ModifyRows.Add(dr); } } if (ModifyRows.Count > 0) { this.m_TGDataSheet.BeginModifyRows(); foreach (DataRow dr in ModifyRows) { string OldName = this.m_PrevNames[Convert.ToInt32(dr[IdColName], CultureInfo.InvariantCulture)]; string NewName = Convert.ToString(dr[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture); Debug.Assert(OldName != NewName); Debug.Assert(!GroupRows.ContainsKey(GetAutoGeneratedGroupName(NewName))); string OldAutoGroupName = GetAutoGeneratedGroupName(OldName); string NewAutoGroupName = GetAutoGeneratedGroupName(NewName); GroupRows[OldAutoGroupName][Strings.DATASHEET_NAME_COLUMN_NAME] = NewAutoGroupName; } this.m_TGDataSheet.EndModifyRows(); } base.OnRowsModified(sender, e); }
private void RefreshCalculatedValues() { DataRow drProp = this.DataFeed.GetDataSheet(Strings.DATASHEET_SPPIC_NAME).GetDataRow(); if (drProp == null) { return; } //Num Cells int NumCells = DataTableUtilities.GetDataInt(drProp[Strings.DATASHEET_SPPIC_NUM_CELLS_COLUMN_NAME]); this.TextBoxNumCells.Text = NumCells.ToString(CultureInfo.InvariantCulture); //Get the units and refresh the units labels - the default Raster Cell Units is Metres^2 string srcSizeUnits = DataTableUtilities.GetDataStr(drProp[Strings.DATASHEET_SPPIC_CELL_SIZE_UNITS_COLUMN_NAME]); string srcAreaUnits = srcSizeUnits + "^2"; string amountlabel = null; TerminologyUnit destUnitsVal = 0; TerminologyUtilities.GetAmountLabelTerminology( this.Project.GetDataSheet(Strings.DATASHEET_TERMINOLOGY_NAME), ref amountlabel, ref destUnitsVal); string destAreaLbl = TerminologyUtilities.TerminologyUnitToString(destUnitsVal); srcAreaUnits = srcAreaUnits.ToLower(CultureInfo.InvariantCulture); amountlabel = amountlabel.ToLower(CultureInfo.InvariantCulture); destAreaLbl = destAreaLbl.ToLower(CultureInfo.InvariantCulture); this.LabelRasterCellArea.Text = string.Format(CultureInfo.InvariantCulture, "Cell size ({0}):", srcAreaUnits); this.LabelCalcCellArea.Text = string.Format(CultureInfo.InvariantCulture, "Cell size ({0}):", destAreaLbl); this.LabelCalcTtlAmount.Text = string.Format(CultureInfo.InvariantCulture, "Total {0} ({1}):", amountlabel, destAreaLbl); // Calculate Cell Area in raster's native units float cellSize = DataTableUtilities.GetDataSingle(drProp[Strings.DATASHEET_SPPIC_CELL_SIZE_COLUMN_NAME]); double cellArea = Math.Pow(cellSize, 2); this.TextBoxCellArea.Text = cellArea.ToString("N4", CultureInfo.InvariantCulture); // Calc Cell Area in terminology units double cellAreaTU = 0; bool SizeOverride = DataTableUtilities.GetDataBool(drProp[Strings.DATASHEET_SPPIC_CELL_AREA_OVERRIDE_COLUMN_NAME]); if (!SizeOverride) { cellAreaTU = InitialConditionsSpatialDataSheet.CalcCellArea(cellArea, srcSizeUnits, destUnitsVal); this.TextBoxCellAreaCalc.Text = cellAreaTU.ToString("N4", CultureInfo.InvariantCulture); drProp[Strings.DATASHEET_SPPIC_CELL_AREA_COLUMN_NAME] = cellAreaTU; TextBoxCellAreaCalc.ReadOnly = true; } else { cellAreaTU = DataTableUtilities.GetDataDbl(drProp[Strings.DATASHEET_SPPIC_CELL_AREA_COLUMN_NAME]); TextBoxCellAreaCalc.ReadOnly = false; } // Now calculate total area in the specified terminology units var ttlArea = cellAreaTU * NumCells; this.TextBoxTotalArea.Text = ttlArea.ToString("N4", CultureInfo.InvariantCulture); }
private static Transition CreatePT(DataRow dr) { int? Iteration = null; int? Timestep = null; int? StratumIdSource = null; int StateClassIdSource = Convert.ToInt32(dr[Strings.DATASHEET_PT_STATECLASSIDSOURCE_COLUMN_NAME], CultureInfo.InvariantCulture); int? StratumIdDest = null; int? StateClassIdDest = null; int? SecondaryStratumId = null; int? TertiaryStratumId = null; double Propn = 1.0; int AgeMin = 0; int AgeMax = int.MaxValue; int AgeRel = 0; bool AgeReset = true; int TstMin = 0; int TstMax = int.MaxValue; int TstRel = 0; if (dr[Strings.DATASHEET_ITERATION_COLUMN_NAME] != DBNull.Value) { Iteration = Convert.ToInt32(dr[Strings.DATASHEET_ITERATION_COLUMN_NAME], CultureInfo.InvariantCulture); } if (dr[Strings.DATASHEET_TIMESTEP_COLUMN_NAME] != DBNull.Value) { Timestep = Convert.ToInt32(dr[Strings.DATASHEET_TIMESTEP_COLUMN_NAME], CultureInfo.InvariantCulture); } if (dr[Strings.DATASHEET_PT_STRATUMIDSOURCE_COLUMN_NAME] != DBNull.Value) { StratumIdSource = Convert.ToInt32(dr[Strings.DATASHEET_PT_STRATUMIDSOURCE_COLUMN_NAME], CultureInfo.InvariantCulture); } if (dr[Strings.DATASHEET_PT_STRATUMIDDEST_COLUMN_NAME] != DBNull.Value) { StratumIdDest = Convert.ToInt32(dr[Strings.DATASHEET_PT_STRATUMIDDEST_COLUMN_NAME], CultureInfo.InvariantCulture); } if (dr[Strings.DATASHEET_PT_STATECLASSIDDEST_COLUMN_NAME] != DBNull.Value) { StateClassIdDest = Convert.ToInt32(dr[Strings.DATASHEET_PT_STATECLASSIDDEST_COLUMN_NAME], CultureInfo.InvariantCulture); } if (dr[Strings.DATASHEET_SECONDARY_STRATUM_ID_COLUMN_NAME] != DBNull.Value) { SecondaryStratumId = Convert.ToInt32(dr[Strings.DATASHEET_SECONDARY_STRATUM_ID_COLUMN_NAME], CultureInfo.InvariantCulture); } if (dr[Strings.DATASHEET_TERTIARY_STRATUM_ID_COLUMN_NAME] != DBNull.Value) { TertiaryStratumId = Convert.ToInt32(dr[Strings.DATASHEET_TERTIARY_STRATUM_ID_COLUMN_NAME], CultureInfo.InvariantCulture); } Transition pt = new Transition( Iteration, Timestep, StratumIdSource, StateClassIdSource, StratumIdDest, StateClassIdDest, SecondaryStratumId, TertiaryStratumId, Convert.ToInt32(dr[Strings.DATASHEET_TRANSITION_TYPE_ID_COLUMN_NAME], CultureInfo.InvariantCulture), Convert.ToDouble(dr[Strings.DATASHEET_PT_PROBABILITY_COLUMN_NAME], CultureInfo.InvariantCulture), Propn, AgeMin, AgeMax, AgeRel, AgeReset, TstMin, TstMax, TstRel); pt.PropnWasNull = true; pt.AgeMinWasNull = true; pt.AgeMaxWasNull = true; pt.AgeRelativeWasNull = true; pt.AgeResetWasNull = true; pt.TstMinimumWasNull = true; pt.TstMaximumWasNull = true; pt.TstRelativeWasNull = true; if (dr[Strings.DATASHEET_PT_PROPORTION_COLUMN_NAME] != DBNull.Value) { pt.Proportion = Convert.ToDouble(dr[Strings.DATASHEET_PT_PROPORTION_COLUMN_NAME], CultureInfo.InvariantCulture); pt.PropnWasNull = false; } if (dr[Strings.DATASHEET_AGE_MIN_COLUMN_NAME] != DBNull.Value) { pt.AgeMinimum = Convert.ToInt32(dr[Strings.DATASHEET_AGE_MIN_COLUMN_NAME], CultureInfo.InvariantCulture); pt.AgeMinWasNull = false; } if (dr[Strings.DATASHEET_AGE_MAX_COLUMN_NAME] != DBNull.Value) { pt.AgeMaximum = Convert.ToInt32(dr[Strings.DATASHEET_AGE_MAX_COLUMN_NAME], CultureInfo.InvariantCulture); pt.AgeMaxWasNull = false; } if (dr[Strings.DATASHEET_PT_AGE_RELATIVE_COLUMN_NAME] != DBNull.Value) { pt.AgeRelative = Convert.ToInt32(dr[Strings.DATASHEET_PT_AGE_RELATIVE_COLUMN_NAME], CultureInfo.InvariantCulture); pt.AgeRelativeWasNull = false; } if (dr[Strings.DATASHEET_PT_AGE_RESET_COLUMN_NAME] != DBNull.Value) { pt.AgeReset = DataTableUtilities.GetDataBool(dr[Strings.DATASHEET_PT_AGE_RESET_COLUMN_NAME]); pt.AgeResetWasNull = false; } if (dr[Strings.DATASHEET_PT_TST_MIN_COLUMN_NAME] != DBNull.Value) { pt.TstMinimum = Convert.ToInt32(dr[Strings.DATASHEET_PT_TST_MIN_COLUMN_NAME], CultureInfo.InvariantCulture); pt.TstMinimumWasNull = false; } if (dr[Strings.DATASHEET_PT_TST_MAX_COLUMN_NAME] != DBNull.Value) { pt.TstMaximum = Convert.ToInt32(dr[Strings.DATASHEET_PT_TST_MAX_COLUMN_NAME], CultureInfo.InvariantCulture); pt.TstMaximumWasNull = false; } if (dr[Strings.DATASHEET_PT_TST_RELATIVE_COLUMN_NAME] != DBNull.Value) { pt.TstRelative = Convert.ToInt32(dr[Strings.DATASHEET_PT_TST_RELATIVE_COLUMN_NAME], CultureInfo.InvariantCulture); pt.TstRelativeWasNull = false; } return(pt); }