Exemplo n.º 1
0
        public static string KIndexLabelColor(KIndexLabelValues label)
        {
            switch (label)
            {
            case KIndexLabelValues.None:
                return("#000000");

            case KIndexLabelValues.A:
                return("#00A5FF");

            case KIndexLabelValues.B:
                return("#0064B4");

            case KIndexLabelValues.C:
                return("#002D5A");

            case KIndexLabelValues.D:
                return("#9099A3");

            case KIndexLabelValues.E:
                return("#F2B41E");

            case KIndexLabelValues.F:
                return("#D44820");

            default:
                return("#000000");
            }
        }
Exemplo n.º 2
0
        public static string KIndexLabelIconUrl(KIndexLabelValues value, bool local = true, bool showNone = false)
        {
            string url = "";

            if (local == false)
            {
                url = "https://www.hlidacstatu.cz";
            }

            bool hranate = Devmasters.Config.GetWebConfigValue("KIdxIconStyle") == "hranate";

            switch (value)
            {
            case KIndexLabelValues.None:
                if (showNone)
                {
                    return(url + $"/Content/kindex/{(hranate ? "hranate" : "kulate")}/icon-.svg");
                }
                else
                {
                    return(url + "/Content/Img/1x1.png ");
                }

            default:
                return(url + $"/Content/kindex/{(hranate ? "hranate" : "kulate")}/icon{value.ToString()}.svg");
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Returns IMG html tag with path to icon.
 /// </summary>
 public static string KindexImageIcon(KIndexLabelValues label, string style, bool showNone = false, string title = "")
 {
     if (string.IsNullOrEmpty(title))
     {
         return($"<img title='K–Index {label.ToString()} - Index korupčního rizika' src='{KIndexLabelIconUrl(label, showNone: showNone)}' class='kindex' style='{style}'>");
     }
     return($"<img title='{title}' src='{KIndexLabelIconUrl(label, showNone: showNone)}' class='kindex' style='{style}'>");
 }
Exemplo n.º 4
0
        public static KIndexLabelValues CalculateLabel(decimal?value)
        {
            KIndexLabelValues label = KIndexLabelValues.None;

            for (int i = 0; i < KIndexLimits.Length; i++)
            {
                if (value > KIndexLimits[i])
                {
                    label = (KIndexLabelValues)i;
                }
            }

            return(label);
        }
Exemplo n.º 5
0
            private string _kIndexCommentForPart(KIndexParts part, KIndexLabelValues lbl)
            {
                switch (part)
                {
                case KIndexParts.PercentBezCeny:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("U smluv neskrývá ceny.");

                    case KIndexLabelValues.B:
                        return("U většiny smluv netají ceny.");

                    case KIndexLabelValues.C:
                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                        return($"Skrývá ceny u {Devmasters.Lang.Plural.Get(this.AnnualData.Statistika.PocetSmluvBezCeny, "{0} smlouvy;{0} smluv;{0} smluv")}.");

                    case KIndexLabelValues.F:
                        return($"Skrývá ceny u varujícího počtu {Devmasters.Lang.Plural.Get(this.AnnualData.Statistika.PocetSmluvBezCeny, "{0} smlouvy;{0} smluv;{0} smluv")} z {this.AnnualData.Statistika.PocetSmluv} smluv.");

                    default:
                        return("");
                    }

                case KIndexParts.PercSeZasadnimNedostatkem:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("Smlouvy bez zásadních nedostatků.");

                    case KIndexLabelValues.B:
                    case KIndexLabelValues.C:
                        return($"Zásadní nedostatky u {Devmasters.Lang.Plural.Get(this.AnnualData.Statistika.PocetSmluvSeZasadnimNedostatkem, "{0} smlouvy;{0} smluv;{0} smluv")}.");

                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                    case KIndexLabelValues.F:
                        return($"Zásadní nedostatky u <b>{Devmasters.Lang.Plural.Get(this.AnnualData.Statistika.PocetSmluvSeZasadnimNedostatkem, "{0} smlouvy;{0} smluv;{0} smluv")}</b> z {this.AnnualData.Statistika.PocetSmluv} smluv.");

                    default:
                        return("");
                    }

                case KIndexParts.CelkovaKoncentraceDodavatelu:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("Zakázky se nekoncentrují u žádných dodavatelů.");

                    case KIndexLabelValues.B:
                    case KIndexLabelValues.C:
                        return("Žádný dodavatel nedominuje nad ostatními.");

                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                        return("Velké zakázky se koncentrují u malého počtu dodavatelů.");

                    case KIndexLabelValues.F:
                        return($"Většinu peněz {Devmasters.Lang.Plural.Get(this.AnnualData.CelkovaKoncentraceDodavatelu.TopDodavatele().Count(), "dostal {0} dodavatel;dostali {0} dodavatelé;dostalo {0} dodavatelů")} z {this.AnnualData.CelkovaKoncentraceDodavatelu.Dodavatele.Count()}.");

                    default:
                        return("");
                    }

                case KIndexParts.KoncentraceDodavateluBezUvedeneCeny:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("Zakázky se skrytou cenou se nekoncentrují u žádných dodavatelů.");

                    case KIndexLabelValues.B:
                    case KIndexLabelValues.C:
                        return("Zakázky se skrytou cenou uzavřelo více dodavatelů, žádný nedominuje.");

                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                        return($"Zakázky se skrytou cenou se koncentrují u {Devmasters.Lang.Plural.Get(this.AnnualData.KoncentraceDodavateluBezUvedeneCeny.TopDodavatele().Count(), "{0} dodavatele;{0} dodavatelů;{0} dodavatelů")}.");

                    case KIndexLabelValues.F:
                        return($"Většinu zakázek se skrytou cenou {Devmasters.Lang.Plural.Get(this.AnnualData.KoncentraceDodavateluBezUvedeneCeny.TopDodavatele().Count(), "dostal {0} dodavatel;dostali {0} dodavatelé;dostalo {0} dodavatelů")}.");

                    default:
                        return("");
                    }

                case KIndexParts.KoncentraceDodavateluCenyULimitu:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("Zakázky s podezřelou cenou se nekoncentrují u žádných dodavatelů.");

                    case KIndexLabelValues.B:
                    case KIndexLabelValues.C:
                        return("Zakázky s podezřelou cenou uzavřelo více dodavatelů, žádný nedominuje.");

                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                        return("Zakázky s podezřelou cenou se se koncentrují u malého počtu dodavatelů.");

                    case KIndexLabelValues.F:
                        return($"Většinu zakázek s cenou u limitu VZ {Devmasters.Lang.Plural.Get(this.AnnualData.KoncentraceDodavateluCenyULimitu.TopDodavatele().Count(), "dostal {0} dodavatel;dostali {0} dodavatelé;dostalo {0} dodavatelů")}.");

                    default:
                        return("");
                    }

                case KIndexParts.KoncentraceDodavateluObory:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("Zakázky z jednotlivých oborů se u dodavatelů nekoncentrují.");

                    case KIndexLabelValues.B:
                    case KIndexLabelValues.C:
                        return("Zakázky z jednotlivých oborů uzavřelo více dodavatelů, žádný výrazně nedominuje.");

                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                        var oboryE = this.AnnualData.KIndexVypocet.OboroveKoncentrace?
                                     .Radky
                                     .Where(m => KIndexLabelForPart(KIndexParts.KoncentraceDodavateluObory, m.Hodnota) >= KIndexLabelValues.D);

                        return($"Dominance zakázek u dodavatelů se objevuje v {Devmasters.Lang.Plural.Get(oboryE.Count(), "{0} oboru;{0} oborech;{0} oborech")}.");

                    case KIndexLabelValues.F:
                        var oboryF = this.AnnualData.KIndexVypocet.OboroveKoncentrace?
                                     .Radky
                                     .Where(m => KIndexLabelForPart(KIndexParts.KoncentraceDodavateluObory, m.Hodnota) >= KIndexLabelValues.D);

                        return($"Dominance zakázek u dodavatelů je výrazná v {Devmasters.Lang.Plural.Get(oboryF.Count(), "{0} oboru;{0} oborech;{0} oborech")}.");

                    default:
                        return("");
                    }

                case KIndexParts.PercSmluvUlimitu:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("Neobchází limity zákona o veřejných zakázkách.");

                    case KIndexLabelValues.B:
                        return("Velmi málo smluv má hodnotu blízkou limitům pro veřejné zakázky.");

                    case KIndexLabelValues.C:
                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                    case KIndexLabelValues.F:
                        return($"{Devmasters.Lang.Plural.Get(this.AnnualData.Statistika.PocetSmluvULimitu, "{0} smlouva má;{0} smlouvy mají;{0} smluv má")} hodnotu blízkou limitům veřejných zakázek, což může naznačovat snahu se vyhnout řádné veřejné soutěži.");

                    //return $"Zásadní nedostatky evidujeme u {Devmasters.Lang.Plural.Get(data.StatistikaRegistruSmluv.PocetSmluvSeZasadnimNedostatkem, "{0} smlouva;{0} smlouvy;{0} smluv")} z {data.StatistikaRegistruSmluv.PocetSmluv}";
                    default:
                        return("");
                    }

                case KIndexParts.PercNovaFirmaDodavatel:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("Nemá smlouvy s nově založenými firmami.");

                    case KIndexLabelValues.B:
                    case KIndexLabelValues.C:
                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                    case KIndexLabelValues.F:
                        return($"Uzavřeli {Devmasters.Lang.Plural.Get(this.AnnualData.Statistika.PocetSmluvNovaFirma, "{0} smlouvu;{0} smlouvy;{0} smluv")} s nově založenými firmami.");

                    default:
                        return("");
                    }

                case KIndexParts.PercUzavrenoOVikendu:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("Neuzavřeli žádné smlouvy o víkendu či svátku.");

                    case KIndexLabelValues.B:
                    case KIndexLabelValues.C:
                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                    case KIndexLabelValues.F:
                        return($"Uzavřeli {Devmasters.Lang.Plural.Get(this.AnnualData.Statistika.PocetSmluvOVikendu, "{0} smlouvu;{0} smlouvy;{0} smluv")} o víkendu nebo svátku.");

                    default:
                        return("");
                    }

                case KIndexParts.PercSmlouvySPolitickyAngazovanouFirmou:
                    switch (lbl)
                    {
                    case KIndexLabelValues.A:
                        return("Nemá uzavřené smlouvy s firmami, jejichž majitelé či ony samy sponzorovali politické strany.");

                    case KIndexLabelValues.B:
                    case KIndexLabelValues.C:
                    case KIndexLabelValues.D:
                    case KIndexLabelValues.E:
                    case KIndexLabelValues.F:
                        return($"Uzavřeli {Devmasters.Lang.Plural.Get(this.AnnualData.Statistika.PocetSmluvPolitiky, "{0} smlouvu;{0} smlouvy;{0} smluv")} s firmami, jejichž majitelé či ony samy sponzorovali politické strany.");

                    default:
                        return("");
                    }

                case KIndexParts.PercSmlouvyPod50kBonus:
                    var bonusR = this.AnnualData.KIndexVypocet.Radky.FirstOrDefault(m => m.VelicinaPart == part);
                    if (bonusR != null)
                    {
                        if (bonusR.Hodnota == -1 * Consts.BonusPod50K_3)
                        {
                            return("Dobrovolně zveřejňuje velké množství smluv pod 50 000 Kč.");
                        }
                        if (bonusR.Hodnota == -1 * Consts.BonusPod50K_2)
                        {
                            return("Dobrovolně zveřejňuje smlouvy pod 50 000 Kč.");
                        }
                        if (bonusR.Hodnota == -1 * Consts.BonusPod50K_1)
                        {
                            return("Dobrovolně zveřejňuje smlouvy pod 50 000 Kč.");
                        }
                    }
                    return("Nesplňuje podmínku pro udělení bonusu za transparentnost.");

                default:
                    return("");
                }
            }