Пример #1
0
        /// <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);
                    }
                }
            }
        }
Пример #2
0
        /// <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);
                    }
                }
            }
        }
Пример #3
0
        /// <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);
                }
            }
        }
Пример #4
0
        /// <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);
                }
            }
        }