/// <summary> /// Uploads new donations to FirmaEvent table /// </summary> /// <param name="donations"></param> public static void UploadCompanyDonations(Donations donations) { foreach (var companyDonations in donations.GetDonations()) { var donor = companyDonations.Key; Firma firma = null; try { firma = Firma.FromIco(donor.CompanyId); } catch (Exception) { } if (firma is null) { Console.WriteLine($"Chybějící firma v db - ICO: {donor.CompanyId}, nazev: {donor.Name}"); continue; } var firmaEvents = firma.Events(ev => ev.Type == (int)FirmaEvent.Types.Sponzor).ToList(); foreach (var donation in companyDonations.Value) { var eventToRemove = firmaEvents.Where(oe => oe.AddInfoNum == donation.Amount && oe.Description == donation.ICO && oe.DatumOd.HasValue && oe.DatumOd.Value.Year == donation.Date.Year).FirstOrDefault(); if (eventToRemove is null) { // add event var newEvent = new FirmaEvent() { AddInfo = NormalizePartyName(donation.Party, donation.ICO), DatumOd = donation.Date, AddInfoNum = donation.Amount, Description = donation.ICO, Zdroj = _zdroj, Note = donation.Description, Type = (int)FirmaEvent.Types.Sponzor }; firma.AddOrUpdateEvent(newEvent, _user, checkDuplicates: false); } else { firmaEvents.Remove(eventToRemove); } } } }
/// <summary> /// Uploads new donations to OsobaEvent table /// </summary> /// <param name="donations"></param> public static void UploadPeopleDonations(Donations donations) { foreach (var personDonations in donations.GetDonations()) { var donor = personDonations.Key; Osoba osoba = Osoba.GetOrCreateNew(donor.TitleBefore, donor.Name, donor.Surname, donor.TitleAfter, donor.DateOfBirth, Osoba.StatusOsobyEnum.Sponzor, _user); var osobaEvents = osoba.NoFilteredEvents(ev => ev.Type == (int)OsobaEvent.Types.Sponzor).ToList(); foreach (var donation in personDonations.Value) { var eventToRemove = osobaEvents.Where(oe => oe.AddInfoNum == donation.Amount && oe.AddInfo == donation.ICO && oe.DatumOd.HasValue && oe.DatumOd.Value.Year == donation.Date.Year).FirstOrDefault(); if (eventToRemove is null) { // add event var newEvent = new OsobaEvent() { Organizace = NormalizePartyName(donation.Party, donation.ICO), DatumOd = donation.Date, AddInfoNum = donation.Amount, AddInfo = donation.ICO, Zdroj = _zdroj, Note = donation.Description, Type = (int)OsobaEvent.Types.Sponzor }; osoba.AddOrUpdateEvent(newEvent, _user, checkDuplicates: false); } else { osobaEvents.Remove(eventToRemove); } } } }
/// <summary> /// Uploads new donations to FirmaEvent table /// </summary> public static void UploadCompanyDonations(Donations donations) { foreach (var companyDonations in donations.GetDonations()) { var donor = companyDonations.Key; Firma firma = null; try { firma = Firma.FromIco(donor.CompanyId); } catch (Exception ex) { Console.WriteLine(ex.Message); } if (firma is null) { Console.WriteLine($"Chybějící firma v db - ICO: {donor.CompanyId}, nazev: {donor.Name}"); continue; } foreach (var donation in companyDonations.Value) { // add event var sponzoring = new Sponzoring() { DarovanoDne = donation.Date, Hodnota = donation.Amount, IcoPrijemce = donation.ICO, Zdroj = _zdroj, Popis = donation.Description, Typ = (int)donation.GiftType }; firma.AddSponsoring(sponzoring, _user); } } }
/// <summary> /// Uploads new donations to OsobaEvent table /// </summary> public static void UploadPeopleDonations(Donations donations) { foreach (var personDonations in donations.GetDonations()) { var donor = personDonations.Key; Osoba osoba = Osoba.GetOrCreateNew(donor.TitleBefore, donor.Name, donor.Surname, donor.TitleAfter, donor.DateOfBirth, Osoba.StatusOsobyEnum.Sponzor, _user); // Výjimka pro Radek Jonke 24.12.1970 if (osoba.Jmeno == "Radek" && osoba.Prijmeni == "Jonke" && osoba.Narozeni != null && osoba.Narozeni.Value.Year == 1970 && osoba.Narozeni.Value.Month == 12 && osoba.Narozeni.Value.Day == 24) { continue; } foreach (var donation in personDonations.Value) { // add event var sponzoring = new Sponzoring() { DarovanoDne = donation.Date, Hodnota = donation.Amount, IcoPrijemce = donation.ICO, Zdroj = _zdroj, Popis = donation.Description, Typ = (int)donation.GiftType }; osoba.AddOrUpdateSponsoring(sponzoring, _user); } } }