Ejemplo n.º 1
0
            public GenericSponzorItem(FirmaEvent fe)
            {
                this.Name       = Firmy.GetJmeno(fe.ICO);
                this.Amount     = fe.AddInfoNum ?? 0;
                this.SubjectUrl = Firmy.Get(fe.ICO).GetUrlOnWebsite(false);
                this.Strana     = fe.AddInfo;

                //transaction
                if (!string.IsNullOrEmpty(fe.Zdroj) && fe.Zdroj.ToLower().StartsWith("https://www.hlidacstatu.cz/ucty/transakce/"))
                {
                    //https://www.hlidacstatu.cz/ucty/transakce/7CCEEC74486A0B58A13DE15369B3CE74
                    var res = HlidacStatu.Lib.ES.Manager.GetESClient_Ucty()
                              .Get <HlidacStatu.Lib.Data.TransparentniUcty.BankovniPolozka>(fe.Zdroj.ToLower().Replace("https://www.hlidacstatu.cz/ucty/transakce/", ""));
                    if (res.Found)
                    {
                        this.Transaction    = res.Source;
                        this.TransactionUrl = this.Transaction.GetUrl(false);
                        this.Date           = this.Transaction.Datum;
                    }
                }
                if (this.Transaction == null)
                {
                    this.Date = fe.DatumOd ?? fe.Created;
                }
            }
Ejemplo n.º 2
0
        public FirmaEvent AddSponsoring(string strana, int rok, decimal castka, string zdroj, string user, bool rewrite = false, bool checkDuplicates = true)
        {
            strana = ParseTools.NormalizaceStranaShortName(strana);
            var t = FirmaEvent.Types.Sponzor;

            if (zdroj?.Contains("https://www.hlidacstatu.cz/ucty/transakce/") == true)
            {
                t = FirmaEvent.Types.SponzorZuctu;
            }

            FirmaEvent oe = new FirmaEvent(this.ICO, string.Format("Sponzor {0}", strana), "", t);

            oe.AddInfoNum = castka;
            oe.Zdroj      = zdroj;
            oe.SetYearInterval(rok);
            oe.AddInfo = strana;
            return(AddOrUpdateEvent(oe, user, checkDuplicates: false));
        }
Ejemplo n.º 3
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);
                }
            }
        }
Ejemplo n.º 4
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);
        }
Ejemplo n.º 5
0
 public static string RenderDatum(this FirmaEvent oEvent, string txtOd = "", string txtDo = " - ", string dateFormat = "yyyy", string template = "{0}")
 {
     return(RenderDatum(oEvent.DatumOd, oEvent.DatumDo, txtOd, txtDo, dateFormat, template));
 }