public static Dictionary <string, string> PopulateCache()
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         return(db.ZkratkaStrany.ToDictionary(z => z.ICO, e => e.KratkyNazev));
     }
 }
Exemplo n.º 2
0
        public bool Delete(string audituser)
        {
            var zdroj = this.GetUrl(local: false);

            using (DbEntities db = new Data.DbEntities())
            {
                var oe = db.OsobaEvent.Where(m => m.Zdroj == zdroj).FirstOrDefault();
                if (oe != null)
                {
                    oe.Delete(audituser, true);
                }
                else
                {
                    var fe = db.FirmaEvent.Where(m => m.Zdroj == zdroj).FirstOrDefault();
                    if (fe != null)
                    {
                        db.FirmaEvent.Remove(fe);
                    }
                }
                db.SaveChanges();
            }
            var ret = ES.Manager.GetESClient_Ucty().Delete <BankovniPolozka>(this.Id);

            return(ret.Result == Result.Deleted);
        }
Exemplo n.º 3
0
 public static IEnumerable <Osoba> GetAllByNameAscii(string jmeno, string prijmeni, DateTime?narozeni)
 {
     jmeno    = Devmasters.TextUtil.RemoveDiacritics(jmeno);
     prijmeni = Devmasters.TextUtil.RemoveDiacritics(prijmeni);
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         if (narozeni.HasValue)
         {
             return(db.Osoba.AsNoTracking()
                    .Where(m =>
                           m.JmenoAscii == jmeno &&
                           m.PrijmeniAscii == prijmeni &&
                           (m.Narozeni == narozeni)
                           ).ToArray());
         }
         else
         {
             return(db.Osoba.AsNoTracking()
                    .Where(m =>
                           m.JmenoAscii == jmeno &&
                           m.PrijmeniAscii == prijmeni
                           ).ToArray());
         }
     }
 }
Exemplo n.º 4
0
 public static Osoba Get(int Id)
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         return(db.Osoba.Where(m => m.InternalId == Id).AsNoTracking().FirstOrDefault());
     }
 }
Exemplo n.º 5
0
 public void Delete(string user, bool skipTransactionDelete)
 {
     if (this.pk > 0)
     {
         using (DbEntities db = new Data.DbEntities())
         {
             if (skipTransactionDelete == false && this.Zdroj?.StartsWith("https://www.hlidacstatu.cz/ucty/transakce/") == true)
             {
                 //delete link in connected transaction
                 TransparentniUcty.BankovniPolozka bp = TransparentniUcty.BankovniPolozka.Get(this.Zdroj.Replace("https://www.hlidacstatu.cz/ucty/transakce/", ""));
                 if (bp != null)
                 {
                     if (bp.Comments.Length > 0)
                     {
                         bp.Comments = new TransparentniUcty.BankovniPolozka.Comment[] { };
                         bp.Save(user);
                     }
                 }
             }
             db.OsobaEvent.Attach(this);
             db.Entry(this).State = System.Data.Entity.EntityState.Deleted;
             Audit.Add <OsobaEvent>(Audit.Operations.Delete, user, this, null);
             db.SaveChanges();
         }
     }
 }
Exemplo n.º 6
0
 public static IEnumerable <Sponzoring> GetByPrijemce(int osobaId)
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         return(db.Sponzoring
                .Where(s => s.OsobaIdPrijemce == osobaId));
     }
 }
Exemplo n.º 7
0
 public static IEnumerable <Sponzoring> GetByPrijemce(string icoPrijemce)
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         return(db.Sponzoring
                .Where(s => s.IcoPrijemce == icoPrijemce));
     }
 }
Exemplo n.º 8
0
        public static IEnumerable <OsobaEvent> GetByEvent(Expression <Func <OsobaEvent, bool> > predicate)
        {
            using (Lib.Data.DbEntities db = new Data.DbEntities())
            {
                var events = db.OsobaEvent
                             .Where(predicate);

                return(events.ToList());
            }
        }
Exemplo n.º 9
0
 public static OsobaEvent GetById(int id)
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         return(db.OsobaEvent
                .Where(m =>
                       m.pk == id
                       )
                .FirstOrDefault());
     }
 }
Exemplo n.º 10
0
 public OsobaExternalId[] ExternalIds()
 {
     if (_externalIds == null)
     {
         using (Lib.Data.DbEntities db = new Data.DbEntities())
         {
             _externalIds = db.OsobaExternalId.Where(o => o.OsobaId == this.InternalId).ToArray();
         }
     }
     return(_externalIds);
 }
Exemplo n.º 11
0
 public static Osoba GetByNameId(string nameId)
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         return(db.Osoba
                .Where(m =>
                       m.NameId == nameId
                       )
                .FirstOrDefault());
     }
 }
Exemplo n.º 12
0
 public static Osoba GetByInternalId(int id)
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         return(db.Osoba
                .Where(m =>
                       m.InternalId == id
                       )
                .FirstOrDefault());
     }
 }
Exemplo n.º 13
0
        public void Delete(string user)
        {
            if (this.Id > 0)
            {
                using (DbEntities db = new Data.DbEntities())
                {
                    db.Sponzoring.Attach(this);
                    db.Entry(this).State = System.Data.Entity.EntityState.Deleted;
                    Audit.Add <Sponzoring>(Audit.Operations.Delete, user, this, null);

                    db.SaveChanges();
                }
            }
        }
Exemplo n.º 14
0
        public static Dictionary <int, Osoba> GetAllSponsors()
        {
            using (DbEntities db = new Data.DbEntities())
            {
                var ids = db.OsobaEvent
                          .Where(m => m.Type == (int)OsobaEvent.Types.Sponzor).Distinct().Select(m => m.OsobaId)
                          .Distinct()
                          .ToArray();

                return(ids
                       .Join(StaticData.Politici.Get(), i => i, p => p.InternalId, (i, p) => p)
                       .ToDictionary(k => k.InternalId, o => o));
            }
        }
Exemplo n.º 15
0
 public static Osoba GetByExternalID(string exId, OsobaExternalId.Source source)
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         var oei = db.OsobaExternalId.Where(m => m.ExternalId == exId && m.ExternalSource == (int)source).FirstOrDefault();
         if (oei == null)
         {
             return(null);
         }
         else
         {
             return(Get(oei.OsobaId));
         }
     }
 }
Exemplo n.º 16
0
        public void Delete(string user)
        {
            using (Lib.Data.DbEntities db = new Data.DbEntities())
            {
                db.Osoba.Attach(this);
                db.Entry(this).State = System.Data.Entity.EntityState.Deleted;

                foreach (var oe in this.Events())
                {
                    oe.Delete(user, false);
                }
                Audit.Add <Osoba>(Audit.Operations.Delete, user, this, null);
                db.SaveChanges();
            }
        }
 public static void Add(int osobaId, string externalId, Source externalsource)
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         var exist = db.OsobaExternalId
                     .Where(m => m.OsobaId == osobaId && m.ExternalId == externalId && m.ExternalSource == (int)externalsource)
                     .FirstOrDefault();
         if (exist == null)
         {
             OsobaExternalId oei = new Data.OsobaExternalId(osobaId, externalId, externalsource);
             db.OsobaExternalId.Add(oei);
             db.SaveChanges();
         }
     }
 }
Exemplo n.º 18
0
 public static Firma FromTransactionId(Data.TransparentniUcty.BankovniPolozka transaction)
 {
     using (DbEntities db = new Data.DbEntities())
     {
         string url   = transaction.GetUrl(false);
         var    found = db.FirmaEvent
                        .Where(m => m.Zdroj == url)
                        .FirstOrDefault();
         if (found != null)
         {
             return(FromIco(found.ICO));
         }
     }
     return(null);
 }
Exemplo n.º 19
0
        public void Save()
        {
            using (Lib.Data.DbEntities db = new Data.DbEntities())
            {
                db.Review.Attach(this);
                if (this.Id == 0)
                {
                    db.Entry(this).State = System.Data.Entity.EntityState.Added;
                }
                else
                {
                    db.Entry(this).State = System.Data.Entity.EntityState.Modified;
                }

                db.SaveChanges();
            }
        }
Exemplo n.º 20
0
            // search all people by name, surname and dob
            public static IEnumerable <Osoba> FindAll(string name, string birthYear, bool extendedSearch = true)
            {
                if (string.IsNullOrWhiteSpace(name) &&
                    string.IsNullOrWhiteSpace(birthYear))
                {
                    return(new Osoba[0]);
                }

                string nquery = Devmasters.TextUtil.RemoveDiacritics(name.NormalizeToPureTextLower());

                birthYear = birthYear?.Trim();
                bool isValidYear = int.TryParse(birthYear, out int validYear);

                // diakritika, velikost

                if (extendedSearch)
                {
                    using (Lib.Data.DbEntities db = new Data.DbEntities())
                    {
                        return(db.Osoba.AsNoTracking()
                               .Where(m =>
                                      (
                                          m.PrijmeniAscii.StartsWith(nquery) == true ||
                                          m.JmenoAscii.StartsWith(nquery) == true ||
                                          (m.JmenoAscii + " " + m.PrijmeniAscii).StartsWith(nquery) == true ||
                                          (m.PrijmeniAscii + " " + m.JmenoAscii).StartsWith(nquery) == true
                                      ) &&
                                      (!isValidYear || m.Narozeni.Value.Year == validYear)
                                      ).Take(200).ToArray());
                    }
                }
                else
                {
                    return(Lib.StaticData.Politici.Get()
                           .Where(m =>
                                  (
                                      m.PrijmeniAscii.StartsWith(nquery, StringComparison.InvariantCultureIgnoreCase) == true ||
                                      m.JmenoAscii.StartsWith(nquery, StringComparison.InvariantCultureIgnoreCase) == true ||
                                      (m.JmenoAscii + " " + m.PrijmeniAscii).StartsWith(nquery, StringComparison.InvariantCultureIgnoreCase) == true ||
                                      (m.PrijmeniAscii + " " + m.JmenoAscii).StartsWith(nquery, StringComparison.InvariantCultureIgnoreCase) == true
                                  ) &&
                                  (!isValidYear || m.Narozeni.Value.Year == validYear)
                                  )
                           .Take(200));
                }
            }
Exemplo n.º 21
0
        public Osoba Save(params OsobaExternalId[] externalIds)
        {
            using (Lib.Data.DbEntities db = new Data.DbEntities())
            {
                this.JmenoAscii           = Devmasters.Core.TextUtil.RemoveDiacritics(this.Jmeno);
                this.PrijmeniAscii        = Devmasters.Core.TextUtil.RemoveDiacritics(this.Prijmeni);
                this.PuvodniPrijmeniAscii = Devmasters.Core.TextUtil.RemoveDiacritics(this.PuvodniPrijmeni);

                if (string.IsNullOrEmpty(this.NameId))
                {
                    this.NameId = GetUniqueNamedId();
                }

                db.Osoba.Attach(this);

                this.LastUpdate = DateTime.Now;



                if (this.InternalId == 0)
                {
                    db.Entry(this).State = System.Data.Entity.EntityState.Added;
                }
                else
                {
                    db.Entry(this).State = System.Data.Entity.EntityState.Modified;
                }
                try
                {
                    db.SaveChanges();
                }
                catch (Exception e)
                {
                    Console.Write(e.ToString());
                }
                if (externalIds != null)
                {
                    foreach (var ex in externalIds)
                    {
                        ex.OsobaId = this.InternalId;
                        OsobaExternalId.Add(ex);
                    }
                }
            }
            return(this);
        }
Exemplo n.º 22
0
        public static IEnumerable <string> GetOrganisations(string jmeno, int?eventTypeId, int maxNumOfResults = 1500)
        {
            using (Lib.Data.DbEntities db = new Data.DbEntities())
            {
                var result = db.OsobaEvent
                             .Where(m => m.Type == eventTypeId)
                             .Where(m => m != null)
                             .Where(m => m.Organizace.Contains(jmeno))
                             //.OrderBy(m => m.AddInfo)
                             .Select(m => m.Organizace)
                             .Distinct()
                             .Take(maxNumOfResults)
                             .ToList();

                return(result);
            }
        }
Exemplo n.º 23
0
 public static Osoba GetByTransactionId(Data.TransparentniUcty.BankovniPolozka transaction)
 {
     if (transaction == null)
     {
         return(null);
     }
     using (DbEntities db = new Data.DbEntities())
     {
         string url   = transaction.GetUrl(local: false);
         var    found = db.OsobaEvent
                        .Where(m => m.Zdroj == url)
                        .FirstOrDefault();
         if (found != null)
         {
             return(GetByInternalId(found.OsobaId));
         }
     }
     return(null);
 }
Exemplo n.º 24
0
 public static IEnumerable <Osoba> GetAllByName(string jmeno, string prijmeni, DateTime?narozeni)
 {
     using (Lib.Data.DbEntities db = new Data.DbEntities())
     {
         if (narozeni.HasValue)
         {
             return(db.Osoba.AsNoTracking()
                    .Where(m =>
                           m.Jmeno == jmeno &&
                           m.Prijmeni == prijmeni &&
                           m.Narozeni == narozeni
                           ).ToArray());
         }
         else
         {
             return(db.Osoba.AsNoTracking()
                    .Where(m =>
                           m.Jmeno == jmeno &&
                           m.Prijmeni == prijmeni
                           ).ToArray());
         }
     }
 }
Exemplo n.º 25
0
        public string GetUniqueNamedId()
        {
            string basic = Devmasters.Core.TextUtil.ShortenText(this.JmenoAscii, 23) + "-" + Devmasters.Core.TextUtil.ShortenText(this.PrijmeniAscii, 23).Trim();

            basic = basic.ToLowerInvariant().Replace(" ", "-");
            Osoba  exists          = null;
            int    num             = 0;
            string checkUniqueName = basic;

            using (Lib.Data.DbEntities db = new Data.DbEntities())
            {
                do
                {
                    exists = db.Osoba
                             .Where(m => m.NameId.StartsWith(checkUniqueName))
                             .OrderByDescending(m => m.NameId)
                             .FirstOrDefault();
                    if (exists != null)
                    {
                        System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@"(?<num>\d{1,})$", System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace);
                        var m = r.Match(exists.NameId);
                        if (m.Success)
                        {
                            num = Convert.ToInt32(m.Groups["num"].Value);
                        }
                        num++;
                        checkUniqueName = basic + "-" + num.ToString();
                    }
                    else
                    {
                        return(checkUniqueName);
                    }
                } while (exists != null);
            }

            return(basic);
        }
Exemplo n.º 26
0
        public FirmaEvent AddOrUpdateEvent(FirmaEvent ev, string user, bool rewrite = false, bool checkDuplicates = true)
        {
            if (ev == null)
            {
                return(null);
            }

            //if (ev.Type == (int)OsobaEvent.Types.Sponzor)
            //{
            //    return AddSponsoring(ev.AddInfo, ev.DatumOd.Value.Year, ev.AddInfoNum.Value, ev.Zdroj, user);
            //}

            //check duplicates
            using (DbEntities db = new Data.DbEntities())
            {
                FirmaEvent exists = null;
                if (ev.pk > 0 && checkDuplicates)
                {
                    exists = db.FirmaEvent
                             .AsNoTracking()
                             .FirstOrDefault(m =>
                                             m.pk == ev.pk
                                             );
                }
                else if (checkDuplicates)
                {
                    exists = db.FirmaEvent
                             .AsNoTracking()
                             .FirstOrDefault(m =>
                                             m.ICO == this.ICO &&
                                             m.Type == ev.Type &&
                                             m.AddInfo == ev.AddInfo &&
                                             m.AddInfoNum == ev.AddInfoNum &&
                                             m.DatumOd == ev.DatumOd &&
                                             m.DatumDo == ev.DatumDo &&
                                             m.Zdroj == ev.Zdroj
                                             );
                    if (exists != null)
                    {
                        ev.pk = exists.pk;
                    }
                }
                if (exists != null && rewrite)
                {
                    db.FirmaEvent.Remove(exists);
                    Audit.Add <FirmaEvent>(Audit.Operations.Delete, user, exists, null);
                    db.SaveChanges();
                    exists = null;
                }

                if (exists == null)
                {
                    ev.ICO = this.ICO;
                    db.FirmaEvent.Add(ev);
                    Audit.Add(Audit.Operations.Create, user, ev, null);
                    db.SaveChanges();
                    return(ev);
                }
                else
                {
                    ev.ICO = this.ICO;
                    ev.pk  = exists.pk;
                    db.FirmaEvent.Attach(ev);
                    db.Entry(ev).State = System.Data.Entity.EntityState.Modified;
                    Audit.Add(Audit.Operations.Create, user, ev, exists);
                    db.SaveChanges();
                    return(ev);
                }
            }
        }
Exemplo n.º 27
0
        public static FirmaEvent CreateOrUpdate(FirmaEvent firmaEvent, string user)
        {
            using (Lib.Data.DbEntities db = new Data.DbEntities())
            {
                // create
                if (firmaEvent.pk == 0 && firmaEvent.ICO.Length > 0)
                {
                    //firmaEvent.Organizace = ParseTools.NormalizaceStranaShortName(firmaEvent.Organizace);
                    firmaEvent.Created = DateTime.Now;

                    // check if event exists so we are not creating duplicities...
                    var oe = db.FirmaEvent
                             .Where(ev =>
                                    ev.ICO == firmaEvent.ICO &&
                                    ev.AddInfo == firmaEvent.AddInfo &&
                                    ev.DatumOd == firmaEvent.DatumOd &&
                                    ev.Type == firmaEvent.Type)
                             //&& ev.Organizace == firmaEvent.Organizace)
                             .FirstOrDefault();

                    if (oe != null)
                    {
                        return(oe);
                    }

                    db.FirmaEvent.Add(firmaEvent);
                    db.SaveChanges();
                    //Firmy.Get(firmaEvent.ICO).FlushCache();
                    Audit.Add(Audit.Operations.Update, user, firmaEvent, null);
                    return(firmaEvent);
                }

                // update
                if (firmaEvent.pk > 0)
                {
                    var eventToUpdate = db.FirmaEvent
                                        .Where(ev =>
                                               ev.pk == firmaEvent.pk
                                               ).FirstOrDefault();

                    var eventOriginal = eventToUpdate.ShallowCopy();

                    if (eventToUpdate != null)
                    {
                        eventToUpdate.DatumOd = firmaEvent.DatumOd;
                        eventToUpdate.DatumDo = firmaEvent.DatumDo;
                        //eventToUpdate.Organizace = ParseTools.NormalizaceStranaShortName(firmaEvent.Organizace);
                        eventToUpdate.AddInfoNum = firmaEvent.AddInfoNum;
                        eventToUpdate.AddInfo    = firmaEvent.AddInfo;
                        eventToUpdate.Title      = firmaEvent.Title;
                        eventToUpdate.Type       = firmaEvent.Type;
                        eventToUpdate.Zdroj      = firmaEvent.Zdroj;
                        //eventToUpdate.Status = firmaEvent.Status;

                        eventToUpdate.Created = DateTime.Now;

                        db.SaveChanges();
                        //Osoby.GetById.Get(firmaEvent.OsobaId).FlushCache();
                        Audit.Add(Audit.Operations.Update, user, eventToUpdate, eventOriginal);

                        return(eventToUpdate);
                    }
                }
            }
            return(firmaEvent);
        }
Exemplo n.º 28
0
        public static OsobaEvent CreateOrUpdate(OsobaEvent osobaEvent, string user)
        {
            using (Lib.Data.DbEntities db = new Data.DbEntities())
            {
                // create
                if (osobaEvent.pk == 0 && osobaEvent.OsobaId > 0)
                {
                    osobaEvent.Organizace = ParseTools.NormalizaceStranaShortName(osobaEvent.Organizace);
                    osobaEvent.Created    = DateTime.Now;

                    // check if event exists so we are not creating duplicities...
                    var oe = db.OsobaEvent
                             .Where(ev =>
                                    ev.OsobaId == osobaEvent.OsobaId &&
                                    ev.Title == osobaEvent.Title &&
                                    ev.DatumOd == osobaEvent.DatumOd &&
                                    ev.Type == osobaEvent.Type &&
                                    ev.Organizace == osobaEvent.Organizace)
                             .FirstOrDefault();

                    if (oe != null)
                    {
                        return(oe);
                    }

                    db.OsobaEvent.Add(osobaEvent);
                    db.SaveChanges();
                    Audit.Add(Audit.Operations.Update, user, osobaEvent, null);
                    return(osobaEvent);
                }

                // update
                if (osobaEvent.pk > 0)
                {
                    var eventToUpdate = db.OsobaEvent
                                        .Where(ev =>
                                               ev.pk == osobaEvent.pk
                                               ).FirstOrDefault();

                    var eventOriginal = eventToUpdate.ShallowCopy();

                    if (eventToUpdate != null)
                    {
                        eventToUpdate.DatumOd    = osobaEvent.DatumOd;
                        eventToUpdate.DatumDo    = osobaEvent.DatumDo;
                        eventToUpdate.Organizace = ParseTools.NormalizaceStranaShortName(osobaEvent.Organizace);
                        eventToUpdate.AddInfoNum = osobaEvent.AddInfoNum;
                        eventToUpdate.AddInfo    = osobaEvent.AddInfo;
                        eventToUpdate.Title      = osobaEvent.Title;
                        eventToUpdate.Type       = osobaEvent.Type;
                        eventToUpdate.Zdroj      = osobaEvent.Zdroj;

                        eventToUpdate.Created = DateTime.Now;

                        db.SaveChanges();
                        Audit.Add(Audit.Operations.Update, user, eventToUpdate, eventOriginal);

                        return(eventToUpdate);
                    }
                }
            }
            return(osobaEvent);
        }