Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }