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; } }
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)); }
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); } } }
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); }
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)); }