internal static Util.Cache.CouchbaseCacheManager <Analytics.StatisticsSubjectPerYear <Statistics.RegistrSmluv>, Firma> RegistrSmluvCache(int?obor)
 {
     obor = obor ?? 0;
     if (registrSmluvCaches.ContainsKey(obor.Value) == false)
     {
         lock (_registrSmluvCachesLock)
         {
             if (registrSmluvCaches.ContainsKey(obor.Value) == false)
             {
                 registrSmluvCaches.Add(obor.Value,
                                        Util.Cache.CouchbaseCacheManager <Analytics.StatisticsSubjectPerYear <Statistics.RegistrSmluv>, Firma>
                                        .GetSafeInstance("Firma_SmlouvyStatistics_" + obor.Value.ToString(),
                                                         (firma) => RegistrSmluv.Create(firma, null),
                                                         TimeSpan.FromHours(12),
                                                         System.Configuration.ConfigurationManager.AppSettings["CouchbaseServers"].Split(','),
                                                         System.Configuration.ConfigurationManager.AppSettings["CouchbaseBucket"],
                                                         System.Configuration.ConfigurationManager.AppSettings["CouchbaseUsername"],
                                                         System.Configuration.ConfigurationManager.AppSettings["CouchbasePassword"],
                                                         f => f.ICO)
                                        );
             }
         }
     }
     return(registrSmluvCaches[obor.Value]);
 }
Esempio n. 2
0
            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);
            }