Esempio n. 1
0
 public static System.Web.IHtmlString SubjektTypTrojice(this HtmlHelper self, Lib.Data.Firma firma, string htmlProOVM, string htmlProStatniFirmu, string htmlProSoukromou)
 {
     if (firma == null)
     {
         return(self.Raw(""));
     }
     if (firma.JsemOVM())
     {
         return(self.Raw(htmlProOVM));
     }
     else if (firma.JsemStatniFirma())
     {
         return(self.Raw(htmlProStatniFirmu));
     }
     else
     {
         return(self.Raw(htmlProSoukromou));
     }
 }
Esempio n. 2
0
        private static Tuple <Dictionary <string, SubjectStatistic>, Dictionary <string, SubjectStatistic> > getStatisticForOsoba(string osobaNameId, Data.Relation.AktualnostType aktualnost)
        {
            var o = Data.Osoby.GetByNameId.Get(osobaNameId);

            if (o == null)
            {
                HlidacStatu.Util.Consts.Logger.Info("Unknown osobaId " + osobaNameId);
                return(new Tuple <Dictionary <string, SubjectStatistic>, Dictionary <string, SubjectStatistic> >(
                           new Dictionary <string, SubjectStatistic>(), new Dictionary <string, SubjectStatistic>()
                           ));
            }

            var perIcoStat = o.AktualniVazby(aktualnost)
                             .Where(v => !string.IsNullOrEmpty(v.To?.UniqId) &&
                                    v.To.Type == HlidacStatu.Lib.Data.Graph.Node.NodeType.Company)
                             .Select(v => v.To)
                             .Distinct(new HlidacStatu.Lib.Data.Graph.NodeComparer())
                             .Select(f => new { ico = f.Id, ss = new Analysis.SubjectStatistic(f.Id) });
            //.OrderByDescending(or => or.ss.BasicStatPerYear.Summary.CelkemCena)
            //.ThenByDescending(or => or.ss.BasicStatPerYear.Summary.Pocet)
            //.ToDictionary(k => k.ico, v => v.ss);

            Dictionary <string, SubjectStatistic> statni = new Dictionary <string, SubjectStatistic>();
            Dictionary <string, SubjectStatistic> soukr  = new Dictionary <string, SubjectStatistic>();

            foreach (var it in perIcoStat)
            {
                Lib.Data.Firma f = Lib.Data.Firmy.Get(it.ico);
                if (f.PatrimStatu())
                {
                    statni.Add(it.ico, it.ss);
                }
                else
                {
                    soukr.Add(it.ico, it.ss);
                }
            }


            return(new Tuple <Dictionary <string, SubjectStatistic>, Dictionary <string, SubjectStatistic> >
                       (statni, soukr));
        }
Esempio n. 3
0
        public void Update(ref Smlouva item)
        {
            //return; //DOTO
            //check missing DS/ICO

            Lib.Data.Smlouva.Subjekt subj = item.Platce;
            //check formal valid ICO
            string ico = subj.ico;

            if (!string.IsNullOrEmpty(ico) && !Devmasters.Core.TextUtil.IsNumeric(ico))
            {
                //neco spatne v ICO
                ico = System.Text.RegularExpressions.Regex.Replace(ico.ToUpper(), @"[^0-9\-.,]", string.Empty);
                item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Opraveno IČO subjektu", "", "platce.ico", subj.ico, ico, this));
                subj.ico          = ico;
            }

            if (string.IsNullOrEmpty(subj.ico) && !string.IsNullOrEmpty(subj.datovaSchranka))
            {
                HlidacStatu.Lib.Data.Firma f = HlidacStatu.Lib.Data.Firma.FromDS(subj.datovaSchranka, true);
                if (Firma.IsValid(f))
                {
                    item.Platce.ico   = f.ICO;
                    item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Doplněno IČO subjektu", "", "platce.ico", "", f.ICO, this));
                }
            }
            else if (!string.IsNullOrEmpty(subj.ico) && string.IsNullOrEmpty(subj.datovaSchranka))
            {
                HlidacStatu.Lib.Data.Firma f = HlidacStatu.Lib.Data.Firma.FromIco(subj.ico, true);
                if (Firma.IsValid(f) && f.DatovaSchranka != null && f.DatovaSchranka.Length > 0)
                {
                    item.Platce.datovaSchranka = f.DatovaSchranka[0];
                    item.Enhancements          = item.Enhancements.AddOrUpdate(new Enhancement("Doplněna datová schránka subjektu", "", "platce.datovaSchranka", "", f.DatovaSchranka[0], this));
                }
            }
            else if (string.IsNullOrEmpty(subj.ico) && string.IsNullOrEmpty(subj.datovaSchranka) && !string.IsNullOrEmpty(subj.nazev))
            {
                //based on name
                //simple compare now
                if (Lib.Data.Firma.Koncovky.Any(m => subj.nazev.Contains(m)))
                {
                    Lib.Data.Firma f = Lib.Data.Firma.FromName(subj.nazev, true);
                    if (Firma.IsValid(f))
                    {
                        item.Platce.ico            = f.ICO;
                        item.Platce.datovaSchranka = f.DatovaSchranka.Length > 0 ? f.DatovaSchranka[0] : "";
                        item.Enhancements          = item.Enhancements.AddOrUpdate(new Enhancement("Doplněno IČO subjektu", "", "Platce.ico", "", f.ICO, this));
                        if (f.DatovaSchranka.Length > 0)
                        {
                            item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Doplněna datová schránka subjektu", "", "Platce.datovaSchranka", "", f.DatovaSchranka[0], this));
                        }
                    }
                    else
                    {
                        //malinko uprav nazev, zrus koncovku  aposledni carku
                        string modifNazev = Lib.Data.Firma.JmenoBezKoncovky(subj.nazev);


                        f = Lib.Data.Firma.FromName(modifNazev, true);
                        if (Firma.IsValid(f))
                        {
                            item.Platce.ico            = f.ICO;
                            item.Platce.datovaSchranka = f.DatovaSchranka.Length > 0 ? f.DatovaSchranka[0] : "";
                            item.Enhancements          = item.Enhancements.AddOrUpdate(new Enhancement("Doplněno IČO subjektu", "", "Platce.ico", "", f.ICO, this));
                            if (f.DatovaSchranka.Length > 0)
                            {
                                item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Doplněna datová schránka subjektu", "", "Platce.datovaSchranka", "", f.DatovaSchranka[0], this));
                            }
                        }
                    }
                }
            }
            if (string.IsNullOrEmpty(subj.nazev) && !string.IsNullOrEmpty(subj.ico))
            {
                //dopln chybejici jmeno a adresu
                HlidacStatu.Lib.Data.Firma f = HlidacStatu.Lib.Data.Firma.FromIco(subj.ico, true);
                if (Firma.IsValid(f))
                {
                    subj.nazev        = f.Jmeno;
                    item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Doplněn Název subjektu", "", "Platce.nazev", "", f.ICO, this));
                }
            }


            for (int i = 0; i < item.Prijemce.Count(); i++)
            {
                Smlouva.Subjekt ss = item.Prijemce[i];
                ico = ss.ico;
                if (!string.IsNullOrEmpty(ico) && !Devmasters.Core.TextUtil.IsNumeric(ico))
                {
                    //neco spatne v ICO
                    ico = System.Text.RegularExpressions.Regex.Replace(ico.ToUpper(), @"[^A-Z0-9\-.,]", string.Empty);
                    item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Opraveno IČO subjektu", "", "item.Prijemce[" + i.ToString() + "].ico", ss.ico, ico, this));
                    ss.ico            = ico;
                }

                if (string.IsNullOrEmpty(ss.ico) && !string.IsNullOrEmpty(ss.datovaSchranka))
                {
                    HlidacStatu.Lib.Data.Firma f = HlidacStatu.Lib.Data.Firma.FromDS(ss.datovaSchranka, true);
                    if (Firma.IsValid(f))
                    {
                        item.Prijemce[i].ico = f.ICO;
                        item.Enhancements    = item.Enhancements.AddOrUpdate(new Enhancement("Doplněno IČO smluvní strany", "", "Prijemce[" + i.ToString() + "].ico", "", f.ICO, this));
                    }
                }
                else if (!string.IsNullOrEmpty(ss.ico) && string.IsNullOrEmpty(ss.datovaSchranka))
                {
                    HlidacStatu.Lib.Data.Firma f = HlidacStatu.Lib.Data.Firma.FromIco(ss.ico, true);
                    if (Firma.IsValid(f) && f.DatovaSchranka != null && f.DatovaSchranka.Length > 0)
                    {
                        item.Prijemce[i].datovaSchranka = f.DatovaSchranka[0];
                        item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Doplněna datová schránka smluvní strany", "", "item.Prijemce[" + i.ToString() + "].datovaSchranka", "", f.DatovaSchranka[0], this));
                    }
                }
                else if (string.IsNullOrEmpty(ss.ico) && string.IsNullOrEmpty(ss.datovaSchranka) && !string.IsNullOrEmpty(ss.nazev))
                {
                    //based on name
                    //simple compare now
                    if (Lib.Data.Firma.Koncovky.Any(m => ss.nazev.Contains(m)))
                    {
                        Lib.Data.Firma f = Lib.Data.Firma.FromName(ss.nazev, true);
                        if (Firma.IsValid(f))
                        {
                            item.Prijemce[i].ico            = f.ICO;
                            item.Prijemce[i].datovaSchranka = f.DatovaSchranka.Length > 0 ? f.DatovaSchranka[0] : "";
                            item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Doplněno IČO smluvní strany", "", "item.Prijemce[" + i.ToString() + "].ico", "", f.ICO, this));
                            if (f.DatovaSchranka.Length > 0)
                            {
                                item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Doplněna datová schránka smluvní strany", "", "item.Prijemce[" + i.ToString() + "].datovaSchranka", "", f.DatovaSchranka[0], this));
                            }
                        }
                        else
                        {
                            //malinko uprav nazev, zrus koncovku  aposledni carku
                            string modifNazev = Lib.Data.Firma.JmenoBezKoncovky(ss.nazev);


                            f = Lib.Data.Firma.FromName(modifNazev, true);
                            if (Firma.IsValid(f))
                            {
                                item.Prijemce[i].ico            = f.ICO;
                                item.Prijemce[i].datovaSchranka = f.DatovaSchranka.Length > 0 ? f.DatovaSchranka[0] : "";
                                item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Doplněno IČO subjektu", "", "item.Prijemce[" + i.ToString() + "].ico", "", f.ICO, this));
                                if (f.DatovaSchranka.Length > 0)
                                {
                                    item.Enhancements = item.Enhancements.AddOrUpdate(new Enhancement("Doplněna datová schránka subjektu", "", "item.Prijemce[" + i.ToString() + "].datovaSchranka", "", f.DatovaSchranka[0], this));
                                }
                            }
                        }
                    }
                }
                if (string.IsNullOrEmpty(ss.nazev) && !string.IsNullOrEmpty(ss.ico))
                {
                    //dopln chybejici jmeno a adresu
                    HlidacStatu.Lib.Data.Firma f = HlidacStatu.Lib.Data.Firma.FromIco(ss.ico, true);
                    if (Firma.IsValid(f))
                    {
                        item.Prijemce[i].nazev = f.Jmeno;
                        item.Enhancements      = item.Enhancements.AddOrUpdate(new Enhancement("Doplněn název subjektu", "", "Platce.Prijemce[" + i.ToString() + "].nazev", "", f.Jmeno, this));
                    }
                }
            }
        }
Esempio n. 4
0
        public void CheckSubjekt(Lib.Data.Smlouva.Subjekt d, Lib.Data.Smlouva item, ref List <Issue> issues)
        {
            List <Issue> tmpIss = new List <Issue>();

            bool   osoba = false;
            bool   isZahranicniSubjekt = false;
            string lnazev = d.nazev.ToLowerInvariant();

            isZahranicniSubjekt = (lnazev.Contains("ltd.") || lnazev.Contains("inc.") || lnazev.Contains("gmbh"));

            isZahranicniSubjekt = isZahranicniSubjekt || HlidacStatu.Util.DataValidators.IsZahranicniAdresa(d.adresa);

            //zjisti, zda nejde o 340/2015
            string dnazev = Devmasters.TextUtil.RemoveDiacritics(d.nazev).Trim();

            // obchodní tajemství
            string[] obchodni_taj_regex = new string[] {
                "340\\s* / \\s*2015",
                "(obchodni|bankovni|) \\s* (tajemstvi)",
                "nezverejnuje",
                "fyzicka \\s* osoba",
                "§ \\s* 5 \\s* odst.\\s*",
                "vylouceno \\s* z \\s* uverejneni"
            };
            bool obchodni_tajemstvi = false;

            foreach (var r in obchodni_taj_regex)
            {
                if (System.Text.RegularExpressions.Regex.IsMatch(dnazev, r, regexOptions))
                {
                    obchodni_tajemstvi = true;
                    break;
                }
            }


            bool hasIco = false;
            bool hasDS  = false;

            if (string.IsNullOrEmpty(d.ico))
            {
                //tmpIss.Add(new Issue(this,16, "Chybí IČO", string.Format("Neuvedeno IČO u dodavatele '{0}'", d.nazev)));
            }
            else if (Util.DataValidators.CheckCZICO(d.ico) == false && Util.DataValidators.IsZahranicniAdresa(d.ico) == false)
            {
                tmpIss.Add(new Issue(this, (int)IssueType.IssueTypes.Vadne_ICO, "Vadné IČO", string.Format("Subjekt '{0}' má neplatné IČO", d.nazev)));
            }
            else
            {
                hasIco = true;
            }

            if (hasIco && Util.DataValidators.IsZahranicniAdresa(d.ico) == false)
            {
                //check ICO in registers
                Lib.Data.Firma f = Lib.Data.Firma.FromIco(d.ico, true);
                if (!Lib.Data.Firma.IsValid(f))
                {
                    issues.Add(new Issue(this, (int)IssueType.IssueTypes.Neexistujici_ICO, "Neexistující IČO", string.Format("Subjekt '{0}' má neexistující IČO", d.nazev)));
                    hasIco = false;
                }
            }

            if (string.IsNullOrEmpty(d.datovaSchranka))
            {
                //tmpIss.Add(new Issue(this, "Chybí datová schránka", string.Format("Dodavatel '{0}' bez datove schránky", d.nazev)));
            }
            else
            {
                hasDS = true;
            }



            if (hasDS == false && hasIco == false && string.IsNullOrEmpty(d.nazev))
            {
                issues.Add(new Issue(this, (int)IssueType.IssueTypes.Zcela_Chybi_identifikace_smluvni_strany, "Chybí identifikace smluvní strany", "Smluvní strana není nijak identifikována"));
            }
            else if (hasDS == false && hasIco == false && !string.IsNullOrEmpty(d.nazev))
            {
                if (obchodni_tajemstvi)
                {
                    issues.Add(new Issue(this, (int)IssueType.IssueTypes.NeverejnyUdaj, "Identifikace smluvní strany", "Údaj není veřejný na základě § 5 odst. 6 zákona č. 340/2015 Sb., o registru smluv. Utajení smluvní strany je možné pouze v odůvodněných případech, což při této kontrole nehodnotíme."));
                }
                else if (isZahranicniSubjekt)
                {
                    issues.Add(new Issue(this, (int)IssueType.IssueTypes.Firma_Cizi_Stat, "Identifikace smluvní strany", string.Format("Smluvní strana '{0}' bez datove schránky a platného IČO. Jedná se pravděpodobně o zahraniční subjekt", d.nazev)));
                }
                else
                {
                    //zjisti, zda nejde o osobu
                    osoba = Lib.Validators.IsOsoba(dnazev);


                    if (osoba)
                    {
                        issues.Add(new Issue(this, (int)IssueType.IssueTypes.Osoba, "Identifikace smluvní strany", string.Format("Smluvní strana '{0}' bez datove schránky a platného IČO. Jedná se pravděpodobně o fyzickou osobu", d.nazev)));
                    }
                    else
                    {
                        issues.Add(new Issue(this, (int)IssueType.IssueTypes.Chybi_identifikace_smluvni_strany, "Chybí identifikace smluvní strany", string.Format("Smluvní strana '{0}' bez datove schránky a platného IČO.", d.nazev)));
                    }
                }
            }
            else
            {
                issues.AddRange(tmpIss);
            }


            //casove posloupnosti

            //datum vzniku firmy
            HlidacStatu.Lib.Data.Firma firma = null;
            if (hasIco)
            {
                firma = Lib.Data.Firma.FromIco(d.ico, true);
            }
            if (!Lib.Data.Firma.IsValid(firma) && hasDS)
            {
                firma = Lib.Data.Firma.FromDS(d.datovaSchranka, true);
            }

            if (Lib.Data.Firma.IsValid(firma))
            {
                if (firma.IsNespolehlivyPlatceDPH())
                {
                    var nespoleh = firma.NespolehlivyPlatceDPH();
                    if ((nespoleh.FromDate.HasValue && nespoleh.ToDate.HasValue &&
                         nespoleh.FromDate.Value <= item.datumUzavreni && item.datumUzavreni <= nespoleh.ToDate.Value
                         )
                        ||
                        (nespoleh.FromDate.HasValue && nespoleh.ToDate.HasValue == false &&
                         nespoleh.FromDate.Value <= item.datumUzavreni
                        )
                        )
                    {
                        issues.Add(new Issue(this,
                                             (int)IssueType.IssueTypes.SmlouvaUzavrena_s_NespolehlivymPlatcemDPH,
                                             "Smlouva uzavřena s nespolehlivým plátcem DPH.",
                                             string.Format("Smlouva byla uzavřena v den, kdy byl dodavatel {0} v registru nespolehlivých plátců DPH Finanční správy.", d.nazev)));
                    }
                }
            }

            if (Lib.Data.Firma.IsValid(firma) && firma.Datum_Zapisu_OR.HasValue)
            {
                double zalozeniPredPodpisem = (item.datumUzavreni - firma.Datum_Zapisu_OR.Value).TotalDays;

                if (zalozeniPredPodpisem < 0) //zalozeno po podpisu
                {
                    issues.Add(new Issue(this, (int)IssueType.IssueTypes.Firma_vznikla_az_po, "Firma vznikla až po podpisu smlouvy",
                                         string.Format("Firma {0} vznikla {1} dní po podpisu smlouvy", d.nazev, Math.Abs((int)zalozeniPredPodpisem)),
                                         null, new { days = (int)zalozeniPredPodpisem }
                                         ));
                }
                else if (zalozeniPredPodpisem < 60)
                {
                    issues.Add(new Issue(this, (int)IssueType.IssueTypes.Firma_vznikla_kratce_pred, "Firma vznikla krátce před podpisem smlouvy",
                                         string.Format("Firma {0} vznikla {1} dní před podpisem smlouvy", d.nazev, (int)zalozeniPredPodpisem),
                                         null, new { days = (int)zalozeniPredPodpisem }, false
                                         ));
                }
            }
        }
Esempio n. 5
0
        public bool UpdateSubj(Smlouva.Subjekt subj, Smlouva _item, string path)
        {
            bool changed = false;
            var  zahr    = Util.DataValidators.ZahranicniAdresa(subj.adresa);

            if (!string.IsNullOrEmpty(zahr) && !string.IsNullOrEmpty(subj.ico))
            {
                var currPref = Devmasters.RegexUtil.GetRegexGroupValue(subj.ico, @"^(?<pref>\w{2}-).{1,}", "pref");
                if (string.IsNullOrEmpty(currPref))
                {
                    //NENI PREFIX, DOPLN HO
                    string newico = zahr + "-" + subj.ico;
                    _item.Enhancements = _item.Enhancements.AddOrUpdate(new Enhancement("Doplněno zahraniční ID subjektu. Doplněn prefix před ID firmy", "", path + ".ico", newico, subj.ico, this));
                    subj.ico           = newico;
                    changed            = true;
                }
                else if (currPref != zahr)
                {
                    //je jiny PREFIX, uprav ho
                    string newico = zahr + subj.ico.Substring(2);
                    _item.Enhancements = _item.Enhancements.AddOrUpdate(new Enhancement("Upraveno zahraniční ID subjektu. Doplněn prefix před ID firmy", "", path + ".ico", zahr + "-" + subj.ico, subj.ico, this));
                    subj.ico           = newico;
                    changed            = true;
                }
            }
            else
            {
                var currPref2 = Devmasters.RegexUtil.GetRegexGroupValue(subj.ico, @"^(?<pref>\w{2}-).{1,}", "pref");
                if (!string.IsNullOrEmpty(currPref2) && subj.ico != null)
                {
                    subj.ico = subj.ico.Replace(currPref2, "");
                    changed  = true;
                }
            }
            //check formal valid ICO
            string ico = subj.ico;

            if (!string.IsNullOrEmpty(ico) &&
                !Devmasters.TextUtil.IsNumeric(ico) &&
                Util.DataValidators.IsZahranicniAdresa(subj.adresa) == false
                )
            {
                //neco spatne v ICO
                ico = System.Text.RegularExpressions.Regex.Replace(ico.ToUpper(), @"[^0-9\-.,]", string.Empty);
                if (Util.DataValidators.CheckCZICO(ico))
                {
                    _item.Enhancements = _item.Enhancements.AddOrUpdate(new Enhancement("Opraveno IČO subjektu", "", path + ".ico", subj.ico, ico, this));
                    subj.ico           = ico;
                    changed            = true;
                }
            }

            if (string.IsNullOrEmpty(subj.ico) &&
                !string.IsNullOrEmpty(subj.datovaSchranka) &&
                Util.DataValidators.IsZahranicniAdresa(subj.adresa) == false
                )
            {
                HlidacStatu.Lib.Data.Firma f = HlidacStatu.Lib.Data.Firma.FromDS(subj.datovaSchranka, true);
                if (Firma.IsValid(f))
                {
                    subj.ico           = f.ICO;
                    _item.Enhancements = _item.Enhancements.AddOrUpdate(new Enhancement("Doplněno IČO subjektu", "", path + ".ico", "", f.ICO, this));
                    changed            = true;
                }
            }
            else if (!string.IsNullOrEmpty(subj.ico) && string.IsNullOrEmpty(subj.datovaSchranka))
            {
                HlidacStatu.Lib.Data.Firma f = HlidacStatu.Lib.Data.Firma.FromIco(subj.ico, true);
                if (Firma.IsValid(f) && f.DatovaSchranka != null && f.DatovaSchranka.Length > 0)
                {
                    subj.datovaSchranka = f.DatovaSchranka[0];
                    _item.Enhancements  = _item.Enhancements.AddOrUpdate(new Enhancement("Doplněna datová schránka subjektu", "", path + ".datovaScranka", "", f.DatovaSchranka[0], this));
                    changed             = true;
                }
            }
            else if (string.IsNullOrEmpty(subj.ico) &&
                     string.IsNullOrEmpty(subj.datovaSchranka) &&
                     !string.IsNullOrEmpty(subj.nazev) &&
                     Util.DataValidators.IsZahranicniAdresa(subj.adresa) == false
                     )
            {
                //based on name
                //simple compare now
                if (Lib.Data.Firma.Koncovky.Any(m => subj.nazev.Contains(m)))
                {
                    Lib.Data.Firma f = Lib.Data.Firma.FromName(subj.nazev, true);
                    if (Firma.IsValid(f))
                    {
                        subj.ico            = f.ICO;
                        subj.datovaSchranka = f.DatovaSchranka.Length > 0 ? f.DatovaSchranka[0] : "";
                        _item.Enhancements  = _item.Enhancements.AddOrUpdate(new Enhancement("Doplněno IČO subjektu", "", path + ".ico", "", f.ICO, this));
                        if (f.DatovaSchranka.Length > 0)
                        {
                            _item.Enhancements = _item.Enhancements.AddOrUpdate(new Enhancement("Doplněna datová schránka subjektu", "", path + ".datovaSchranka", "", f.DatovaSchranka[0], this));
                        }
                        changed = true;
                    }
                    else
                    {
                        //malinko uprav nazev, zrus koncovku  aposledni carku
                        string modifNazev = Lib.Data.Firma.JmenoBezKoncovky(subj.nazev);


                        f = Lib.Data.Firma.FromName(modifNazev, true);
                        if (Firma.IsValid(f))
                        {
                            subj.ico            = f.ICO;
                            subj.datovaSchranka = f.DatovaSchranka.Length > 0 ? f.DatovaSchranka[0] : "";
                            _item.Enhancements  = _item.Enhancements.AddOrUpdate(new Enhancement("Doplněno IČO subjektu", "", path + ".ico", "", f.ICO, this));
                            if (f.DatovaSchranka.Length > 0)
                            {
                                _item.Enhancements = _item.Enhancements.AddOrUpdate(new Enhancement("Doplněna datová schránka subjektu", "", path + ".datovaSchranka", "", f.DatovaSchranka[0], this));
                            }
                            changed = true;
                        }
                    }
                }
            }
            if (string.IsNullOrEmpty(subj.nazev) && !string.IsNullOrEmpty(subj.ico))
            {
                //dopln chybejici jmeno
                HlidacStatu.Lib.Data.Firma f = HlidacStatu.Lib.Data.Firma.FromIco(subj.ico, true);
                if (Firma.IsValid(f))
                {
                    subj.nazev         = f.Jmeno;
                    _item.Enhancements = _item.Enhancements.AddOrUpdate(new Enhancement("Doplněn Název subjektu", "", path + ".nazev", "", f.ICO, this));
                    changed            = true;
                }
            }
            if (string.IsNullOrEmpty(subj.adresa) && !string.IsNullOrEmpty(subj.ico))
            {
                //dopln chybejici jmeno
                var fm = HlidacStatu.Lib.Data.External.Merk.FromIcoFull(subj.ico);
                if (fm != null)
                {
                    subj.adresa        = fm.address.street + " " + fm.address.number + ", " + fm.address.municipality;
                    _item.Enhancements = _item.Enhancements.AddOrUpdate(new Enhancement("Doplněna adresa subjektu", "", path + ".nazev", "", subj.ico, this));
                    changed            = true;
                }
            }

            return(changed);
        }
Esempio n. 6
0
 public SubjectStatistic(Lib.Data.Firma subject)
     : base(subject.ICO)
 {
 }
Esempio n. 7
0
 public SubjectStatisticWithDetail(Lib.Data.Firma subject)
 {
     Statistic = new SubjectStatistic(subject.ICO);
 }