protected override int _factor_ldescription(int factorsubscript, cfg_factoraspects aspect, int?factorvalue)
        {
            switch (factorsubscript)
            {
            case 4:
                /* === P(robability) === */
                if (factorvalue.HasValue)
                {
                    switch (factorvalue.Value)
                    {
                    case 1: return(5069);        /* 0.0001% (1 out of 1,000,000) */

                    case 2: return(5068);        /* 0.001% (1 out of 100,000) */

                    case 3: return(5067);        /* 0.01% (1 out of 10,000) */

                    case 4: return(5066);        /* 0.1% (1 out of 1000) */

                    case 5: return(5065);        /* 1% (1 out of 100) */

                    case 6: return(5064);        /* 10% (1 out of 10) */

                    case 7: return(5063);        /* 50% (1 out of 2) */

                    default:
                        throw new ArgumentOutOfRangeException("rsepf::P", factorvalue.Value, "1-7");
                    }
                }
                break;
            }
            return(base._factor_ldescription(factorsubscript, aspect, factorvalue));
        }
Example #2
0
        protected override int _factor_lcaption(int factorsubscript, cfg_factoraspects aspect, int?factorvalue)
        {
            switch (factorsubscript)
            {
            case 0:     /* severity */
                if (factorvalue == null)
                {
                    /* bring the category caption */
                    return(6634);    /* SEVERITY */
                }
                else
                {
                    switch ((int)factorvalue)
                    {
                    case 1: return(6635);       /* very low/insignificant */

                    case 2: return(6636);       /* low/minor */

                    case 3: return(204);        /* moderate */

                    case 4: return(6637);       /* high/major */

                    case 5: return(853);        /* very high */

                    default: return(195);       /* (not specified) */
                    }
                }

            case 1:     /* probability */
                if (factorvalue == null)
                {
                    /* bring the caption */
                    return(6633);    /* LIKELIHOOD */
                }
                else
                {
                    switch ((int)factorvalue)
                    {
                    case 1: return(6638);        /* rare/very unlikely */

                    case 2: return(6639);        /* remote/unlikely */

                    case 3: return(6640);        /* moderate/occasional */

                    case 4: return(6641);        /* likely/probable */

                    case 5: return(6642);        /* almost certain */

                    default: return(195);        /* (not specified) */
                    }
                }

            default:
                return(195);    /* (not specified) */
            }
        }
Example #3
0
        protected override int _factor_ldescription(int factorsubscript, cfg_factoraspects aspect, int?factorvalue)
        {
            switch (factorsubscript)
            {
            case 0:
                if (factorvalue == null)
                {
                    /* bring the category caption */
                    return(208);    /* Severity of possible consequences */
                }
                else
                {
                    switch (aspect)
                    {
                    case cfg_factoraspects.cfg_fa_material:
                    case cfg_factoraspects.cfg_fa_environmental:
                    case cfg_factoraspects.cfg_fa_reliability:
                        return(base._factor_ldescription(factorsubscript, aspect, factorvalue));

                    default:
                        /* safety, personal */
                        switch ((int)factorvalue)
                        {
                        case 1: return(6643);            /* minor injury-first aid (cuts, brushishes,blunts) */

                        case 2: return(6644);            /* medical treatment/non permanent disability */

                        case 3: return(6645);            /* major injury/lost time */

                        case 4: return(6646);            /* fatality/permanent disability */

                        case 5: return(6647);            /* multiple fatalities */

                        default: return(195);            /* (not specified) */
                        }
                    }
                }

            case 1:
                if (factorvalue == null)
                {
                    /* bring the caption */
                    return(209);    /* Likelihood of damage to happen */
                }
                else
                {
                    switch (aspect)
                    {
                    case cfg_factoraspects.cfg_fa_reliability:
                        return(base._factor_ldescription(factorsubscript, aspect, factorvalue));

                    default:
                        switch ((int)factorvalue)
                        {
                        case 1: return(6648);            /* virtually impossible */

                        case 2: return(6649);            /* unlikely but possible */

                        case 3: return(6650);            /* unusual (one can think of a scenario-1/3 years) */

                        case 4: return(6651);            /* possible once every six months */

                        case 5: return(6652);            /* to be expected once per week */

                        default: return(195);            /* (not specified) */
                        }
                    }
                }

            default:
                return(195);    /* (not specified) */
            }
        }
 public override string riskpicker_dialogidentifier(cfg_factoraspects aspect)
 {
     /* they do not distinguish by aspect, all the same */
     return(this.riskpicker_dialogidentifier());
 }
        public override decimal factor_score(int factorsubscript, cfg_factoraspects aspect, int factorvalue)
        {
            switch (factorsubscript)
            {
            case 0:
                /* === S === */
                switch (factorvalue)
                {
                case 1: return(1);        /* little */

                case 2: return(3);        /* average */

                case 3: return(7);        /* high */

                case 4: return(15);       /* very high */

                case 5: return(40);       /* disaster */

                case 6: return(100);      /* major disaster */

                default:
                    throw new ArgumentOutOfRangeException("rsepf::S", factorvalue, "1-6");
                }

            case 3:
                /* === E(xposition) === */
                switch (factorvalue)
                {
                case 1: return(0.5M);     /* Negligible (once a year) */

                case 2: return(1);        /* Minimal (a few times a year) */

                case 3: return(2);        /* Occasionally (once a month) */

                case 4: return(3);        /* Sporadic (once per week) */

                case 5: return(6);        /* Often (daily) */

                case 6: return(10);       /* Permanently */

                default:
                    throw new ArgumentOutOfRangeException("rsepf::E", factorvalue, "1-6");
                }

            case 4:
                /* === P(robability) === */
                switch (factorvalue)
                {
                case 1: return(0.1M);     /* Just theoretically possible */

                case 2: return(0.2M);     /* Practically impossible */

                case 3: return(0.5M);     /* Possible */

                case 4: return(1);        /* Only occasionally possible */

                case 5: return(3);        /* Unlikely, yet possible */

                case 6: return(6);        /* Quite probable */

                case 7: return(10);       /* Very likely */

                default:
                    throw new ArgumentOutOfRangeException("rsepf::P", factorvalue, "1-7");
                }

            default:
                throw new ArgumentOutOfRangeException("rsepf::factorsubscript4score", factorsubscript, "0,3,4");
            }
        }
        protected override int _factor_lcaption(int factorsubscript, cfg_factoraspects aspect, int?factorvalue)
        {
            /* aspect is not used here (customer does not distinguish)
             * remember that factorvalue==null should return the caption of the subscript (what we do) */
            switch (factorsubscript)
            {
            case 0:
                /* === S === */
                if (factorvalue.HasValue == false)
                {
                    return(5005);    /* 1. Potential damage */
                }
                switch (factorvalue.Value)
                {
                case 1: return(5011);        /* little */

                case 2: return(5010);        /* average */

                case 3: return(5009);        /* high */

                case 4: return(5008);        /* very high */

                case 5: return(5007);        /* disaster */

                case 6: return(5006);        /* major disaster */

                default:
                    throw new ArgumentOutOfRangeException("rsepf::S", factorvalue.Value, "1-6");
                }

            case 1:
                /* === S(Pers) === */
                if (factorvalue.HasValue == false)
                {
                    return(5012);    /* Damage to persons */
                }
                switch (factorvalue.Value)
                {
                case 1: return(5018);        /* First aid case */

                case 2: return(5017);        /* Lost time */

                case 3: return(5016);        /* Severe injury */

                case 4: return(5015);        /* Fatality */

                case 5: return(5014);        /* Some fatalities */

                case 6: return(5013);        /* Many fatalities */

                default:
                    throw new ArgumentOutOfRangeException("rsepf::SPer", factorvalue.Value, "1-6");
                }

            case 2:
                /* === S(Mat) === */
                if (factorvalue.HasValue == false)
                {
                    return(5019);    /* Material damage */
                }
                switch (factorvalue.Value)
                {
                case 1: return(5025);        /* Less than EUR 1,200 */

                case 2: return(5024);        /* EUR 1,200 - 6,000 */

                case 3: return(5023);        /* EUR 6,000 - 125,000 */

                case 4: return(5022);        /* EUR 125,000 - 1 mio */

                case 5: return(5021);        /* EUR 1-6 mio */

                case 6: return(5020);        /* More than EUR 6 mio */

                default:
                    throw new ArgumentOutOfRangeException("rsepf::SMat", factorvalue.Value, "1-6");
                }

            case 3:
                /* === E(xposition) === */
                if (factorvalue.HasValue == false)
                {
                    return(5026);    /* 2. Exposition */
                }
                switch (factorvalue.Value)
                {
                case 1: return(5032);        /* Negligible (once a year) */

                case 2: return(5031);        /* Minimal (a few times a year) */

                case 3: return(5030);        /* Occasionally (once a month) */

                case 4: return(5029);        /* Sporadic (once per week) */

                case 5: return(5028);        /* Often (daily) */

                case 6: return(5027);        /* Permanently */

                default:
                    throw new ArgumentOutOfRangeException("rsepf::E", factorvalue.Value, "1-6");
                }

            case 4:
                /* === P(robability) === */
                if (factorvalue.HasValue == false)
                {
                    return(5033);    /* 3. Probability */
                }
                switch (factorvalue.Value)
                {
                case 1: return(5040);        /* Just theoretically possible */

                case 2: return(5039);        /* Practically impossible */

                case 3: return(5038);        /* Possible */

                case 4: return(5037);        /* Only occasionally possible */

                case 5: return(5036);        /* Unlikely, yet possible */

                case 6: return(5035);        /* Quite probable */

                case 7: return(5034);        /* Very likely */

                default:
                    throw new ArgumentOutOfRangeException("rsepf::P", factorvalue.Value, "1-7");
                }

            case 5:
                /* === F(augmentation) === */
                return(5047);    /* Reduction factor */

            default:
                throw new ArgumentOutOfRangeException("rsepf::factorsubscript", factorsubscript, "0-5");
            }
        }
        protected override int _factor_lcaption(int factorsubscript, cfg_factoraspects aspect, int?factorvalue)
        {
            /* aspect is not used here (customer does not distinguish according to their statement
             * remember that factorvalue==null should return the caption of the subscript (what we do) */
            switch (factorsubscript)
            {
            case 0:
                if (factorvalue.HasValue == false)
                {
                    return(4601);    /* Schadensausmaß S */
                }
                switch (factorvalue.Value)
                {
                case 0: return(4892);        /* No health hazard */

                case 1: return(4602);        /* S1: Minor injury */

                case 2: return(4603);        /* S2: severe, irreversible injuries of one or more individuals, death of one individual */

                case 3: return(4604);        /* S3: Multiple fatalities */

                case 4: return(4605);        /* S4: Catastrophic consequences, many casualties */

                default:
                    throw new ArgumentOutOfRangeException("Risikograph::S", factorvalue.Value, "");
                }

            case 1:
                if (factorvalue.HasValue == false)
                {
                    return(4606);    /* Aufenthaltsdauer A */
                }
                switch (factorvalue.Value)
                {
                case 1: return(4607);        /* A1: Rare to occasional exposure to hazard */

                case 2: return(4608);        /* A2: Frequent to permanent exposure to hazard */

                default:
                    throw new ArgumentOutOfRangeException("Risikograph::A", factorvalue.Value, "");
                }

            case 2:
                if (factorvalue.HasValue == false)
                {
                    return(4609);    /* Gefahrenabwendung G */
                }
                switch (factorvalue.Value)
                {
                case 1: return(4610);        /* G1: Possible under certain conditions */

                case 2: return(4611);        /* G2: Hardly possible */

                default:
                    throw new ArgumentOutOfRangeException("Risikograph::G", factorvalue.Value, "");
                }

            case 3:
                if (factorvalue.HasValue == false)
                {
                    return(4612);    /* Eintrittswahrscheinlichkeit W */
                }
                switch (factorvalue.Value)
                {
                case 1: return(4613);        /* W1: Undesirable event very unlikely to occur */

                case 2: return(4614);        /* W2: Undesirable event unlikely to occur */

                case 3: return(4615);        /* W3: Undesirable event rather likely to occur */

                default:
                    throw new ArgumentOutOfRangeException("Risikograph::W", factorvalue.Value, "");
                }

            default:
                throw new ArgumentOutOfRangeException("Risikograph::factorsubscript", factorsubscript, "0-3");
            }
        }
        }                                                              /* added [pkosec 20140707] MEA-2014-00276 */

        #region risk and priority: "Risikograph implementation"

        /* added [yyavorsk 20190226] vdm risk estimation */
        protected override int _factorestimation_lcaption(int factorsubscript, cfg_factoraspects aspect, int?factorvalue)
        {
            switch (factorsubscript)
            {
            case 0:
                if (factorvalue.HasValue == false)
                {
                    return(4612);    /* Likelihood L */
                }
                switch (factorvalue.Value)
                {
                case 1: return(6496);       /* Low */

                case 2: return(218);        /* Moderate */

                case 3: return(220);        /* High */

                default:
                    throw new ArgumentOutOfRangeException("Risk estimation::Likelihood L", factorvalue.Value, "");
                }

            case 1:
                if (factorvalue.HasValue == false)
                {
                    return(4601);    /* Severity S */
                }
                switch (factorvalue.Value)
                {
                case 1: return(7082);        /* No consequences */

                case 2: return(7083);        /* REVERSIBLE: Bagatelle, first aid necessary */

                case 3: return(7084);        /* REVERSIBLE: Treatment by a physician required (moderately severe consequences without permanent disability) */

                case 4: return(7085);        /* IRREVERSIBLE: Serious consequences (without permanent disability possible) */

                case 5: return(7086);        /* IRREVERSIBLE: Fatality */

                default:
                    throw new ArgumentOutOfRangeException("Risk estimation::Severity S", factorvalue.Value, "");
                }

            case 2:
                if (factorvalue.HasValue == false)
                {
                    return(7087);    /* Hazard affects several areas */
                }
                switch (factorvalue.Value)
                {
                case 1: return(7088);       /* Yes, it may also apply to other areas */

                case 2: return(147);        /* No */

                default:
                    throw new ArgumentOutOfRangeException("Risk estimation::Hazard", factorvalue.Value, "");
                }

            default:
                throw new ArgumentOutOfRangeException("Risk estimation::factorsubscript", factorsubscript, "0-3");
            }
        }
Example #9
0
        protected override int _factor_lcaption(int factorsubscript, cfg_factoraspects aspect, int?factorvalue)
        {
            /* remember that factorvalue==null should return the caption of the subscript (what we do) */
            switch (factorsubscript)
            {
            case 0:
                if (factorvalue.HasValue == false)
                {
                    return(193);    /* Severity */
                }
                switch (aspect)
                {
                case cfg_factoraspects.cfg_fa_environmental:
                    switch (factorvalue.Value)
                    {
                    case 1: return(5850);            /* Negligible impact */

                    case 2: return(5849);            /* Minor impact */

                    case 3: return(5848);            /* Local impact */

                    case 4: return(5847);            /* Significant impact */

                    case 5: return(5846);            /* Massive impact */

                    default:
                        throw new ArgumentOutOfRangeException("TAGRiskMatrix::S[env]", factorvalue.Value, "");
                    }

                case cfg_factoraspects.cfg_fa_material:
                    switch (factorvalue.Value)
                    {
                    case 1: return(5855);            /* No disruption; < 10 000 € material damage */

                    case 2: return(5854);            /* Short disruption; < 100 000 € material damage */

                    case 3: return(5853);            /* Partially out of order; 0.1-2 Mio € material damage */

                    case 4: return(5852);            /* Partial loss; 2-10 Mio € damage */

                    case 5: return(5851);            /* Total loss; major damage > 10 Mio € */

                    default:
                        throw new ArgumentOutOfRangeException("TAGRiskMatrix::S[mat]", factorvalue.Value, "");
                    }

                case cfg_factoraspects.cfg_fa_reputational:
                    switch (factorvalue.Value)
                    {
                    case 1: return(5860);            /* Known; no external attention */

                    case 2: return(5859);            /* Local attention, minor impact and/or individual complaints */

                    case 3: return(5858);            /* Regional attention and/or many complaints */

                    case 4: return(5857);            /* National attention */

                    case 5: return(5856);            /* International Attention */

                    default:
                        throw new ArgumentOutOfRangeException("TAGRiskMatrix::S[rep]", factorvalue.Value, "");
                    }

                default:
                    switch (factorvalue.Value)
                    {
                    case 1: return(621);            /* First aid; can continue to work */

                    case 2: return(622);            /* 1-2 lost days, and/or MTI */

                    case 3: return(624);            /* Major injury; 3+ lost days */

                    case 4: return(625);            /* Fatality/Permanent Disability */

                    case 5: return(2048);           /* Fatality */

                    default:
                        throw new ArgumentOutOfRangeException("TAGRiskMatrix::S[per]", factorvalue.Value, "");
                    }
                }

            case 1:
                if (factorvalue.HasValue == false)
                {
                    return(194);    /* Probability */
                }
                switch (factorvalue.Value)
                {
                case 1: return(197);        /* Highly unlikely */

                case 2: return(198);        /* Unlikely */

                case 3: return(199);        /* Possible */

                case 4: return(200);        /* Likely */

                case 5: return(201);        /* Inevitable */

                default:
                    throw new ArgumentOutOfRangeException("TAGRiskMatrix::P", factorvalue.Value, "");
                }

            default:
                throw new ArgumentOutOfRangeException("TAGRiskMatrix::factorsubscript", factorsubscript, "0-1");
            }
        }