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); }
private ProbabilisticTransitionLine CreateIncomingPTOffStratumCue(StateClassShape shape, Transition t) { int X1 = shape.Bounds.X - Constants.TRANSITION_DIAGRAM_OFF_STRATUM_CUE_SIZE; int Y1 = shape.Bounds.Y - Constants.TRANSITION_DIAGRAM_OFF_STRATUM_CUE_SIZE; int X2 = shape.Bounds.X; int Y2 = shape.Bounds.Y; ProbabilisticTransitionLine Line = new ProbabilisticTransitionLine( t.TransitionTypeId, Constants.PROBABILISTIC_TRANSITION_LINE_COLOR); this.FillPTLineTransitionGroups(Line); Line.AddLineSegment(X1, Y1, X2, Y2); Line.AddArrowSegments(X2, Y2, BoxArrowDiagramArrowDirection.Southeast); return(Line); }