public Analysis.RatingDataPerYear RatingPerYearForHolding(Data.Relation.AktualnostType aktualnost) { Analysis.RatingDataPerYear myStat = Analysis.ACore.GetRatingForICO(this.ICO); Dictionary <string, Analysis.RatingDataPerYear> PerIcoStat = IcosInHolding(aktualnost) .Select(ico => new { ico = ico, ss = Analysis.ACore.GetRatingForICO(ico) }) .ToDictionary(k => k.ico, v => v.ss); foreach (var icodata in PerIcoStat) { foreach (var kv in icodata.Value.Data) { if (myStat.Data.Keys.Contains(kv.Key)) { myStat.Data[kv.Key].NumBezCeny += kv.Value.NumBezCeny; myStat.Data[kv.Key].NumBezSmluvniStrany += kv.Value.NumBezSmluvniStrany; myStat.Data[kv.Key].NumSPolitiky += kv.Value.NumSPolitiky; myStat.Data[kv.Key].SumKcBezSmluvniStrany += kv.Value.SumKcBezSmluvniStrany; myStat.Data[kv.Key].SumKcSPolitiky += kv.Value.SumKcSPolitiky; } else { myStat.Data.Add(kv.Key, kv.Value); } } } return(new Analysis.RatingDataPerYear(new Analysis.RatingDataPerYear[] { myStat }, StatisticForHolding(aktualnost))); }
public IEnumerable <string> IcosInHolding(Data.Relation.AktualnostType aktualnost) { return(this.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(m => m.Id)); }
static OsobaStatistic Empty(Data.Relation.AktualnostType aktualnost = Data.Relation.AktualnostType.Nedavny) { OsobaStatistic os = new OsobaStatistic(); os.Aktualnost = aktualnost; os.BasicStatPerYear = BasicDataPerYear.Empty(); os.RatingPerYear = RatingDataPerYear.Empty(); return(os); }
public Analysis.BasicDataPerYear StatisticForHolding(Data.Relation.AktualnostType aktualnost) { Analysis.BasicDataPerYear myStat = Analysis.ACore.GetBasicStatisticForICO(this.ICO); Dictionary <string, Analysis.BasicDataPerYear> PerIcoStat = IcosInHolding(aktualnost) .Select(ico => new { ico = ico, ss = Analysis.ACore.GetBasicStatisticForICO(ico) }) .ToDictionary(k => k.ico, v => v.ss); foreach (var kv in PerIcoStat) { myStat.Add(kv.Value); } return(myStat); }
public OsobaStatistic(Data.Osoba o, Data.Relation.AktualnostType aktualnost, bool refresh = false) { this.Item = o.NameId; this._osoba = o; this.Aktualnost = aktualnost; osq = new OsobaStatisticQuery() { NameId = this.Item, Aktualnost = this.Aktualnost }; if (refresh) { osobaStatcache.Delete(osq); } this.InitData(); }
public static RegistrSmluv Calculate(Osoba o, Data.Relation.AktualnostType aktualnost, int?obor) { RegistrSmluv res = new RegistrSmluv(); res.OsobaNameId = o.NameId; res.Aktualnost = aktualnost; res.Obor = (Smlouva.SClassification.ClassificationsTypes?)obor; Dictionary <string, StatisticsSubjectPerYear <Smlouva.Statistics.Data> > statni = new Dictionary <string, StatisticsSubjectPerYear <Smlouva.Statistics.Data> >(); Dictionary <string, StatisticsSubjectPerYear <Smlouva.Statistics.Data> > soukr = new Dictionary <string, StatisticsSubjectPerYear <Smlouva.Statistics.Data> >(); 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 => Firmy.Get(f.Id)) .Where(f => f.Valid == true) .Select(f => new { f = f, ss = f.StatistikaRegistruSmluv(obor) }); foreach (var it in perIcoStat) { if (it.f.PatrimStatu()) { statni.Add(it.f.ICO, it.ss); } else { soukr.Add(it.f.ICO, it.ss); } } res.StatniFirmy = statni; res.SoukromeFirmy = soukr; return(res); }
public OsobaStatistic(string nameId, Data.Relation.AktualnostType aktualnost, bool refresh = false) : this(Data.Osoby.GetByNameId.Get(nameId), aktualnost, refresh) { }
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)); }