public IActionResult PrzesylanieDanych(IFormFile file)
        {
            string separator = CultureInfo.CurrentUICulture.NumberFormat.NumberDecimalSeparator;

            using (var reader = new StreamReader(file.OpenReadStream()))
            {
                while (reader.Peek() != -1)
                {
                    List <string> KredytWLiscie = new List <string>();

                    KredytWLiscie = reader.ReadLine().Split(';').ToList();

                    if (Convert.ToDouble(KredytWLiscie[1].Replace(",", separator)) < 0.01 || Convert.ToDouble(KredytWLiscie[1].Replace(",", separator)) > 1000000000)
                    {
                        //skip
                    }
                    else
                    {
                        Convert.ToDouble(decimal.Parse(KredytWLiscie[1].Replace(",", separator)));

                        Kredyt kredyt = new Kredyt()
                        {
                            NumerKredytu = KredytWLiscie[0],

                            KwotaKredytu = decimal.Parse(KredytWLiscie[1].Replace(",", separator)),

                            DataKredytu = Convert.ToDateTime(KredytWLiscie[2]),

                            KredytobiorcaPESEL = KredytWLiscie[3],

                            JednostkaPartnerska = KredytWLiscie[4],
                        };
                        _appDbContext.Add(kredyt);

                        if (!_appDbContext.JednostkiPartnerskie.ToList().Any(j => j.NrJednostkiPartnerskiej == KredytWLiscie[4]))
                        {
                            JednostkaPartnerska jednostkaPartnerska = new JednostkaPartnerska()
                            {
                                NrJednostkiPartnerskiej = KredytWLiscie[4]
                            };
                            _appDbContext.Add(jednostkaPartnerska);
                        }
                        _appDbContext.SaveChanges();
                    }
                }
            }
            return(RedirectToAction("Index", new VM()
            {
                Komunikat = "Przesłano plik"
            }));
        }
        public IActionResult NaliczProwizję()
        {
            for (int i = 2015; i <= DateTime.Now.Year; i++)
            {
                for (int j = 1; j <= 12; j++)
                {
                    foreach (var jednostka in _appDbContext.JednostkiPartnerskie.ToList())
                    {
                        kwota = 0;
                        foreach (var kredyt in _kredytRepository.Kredyty().Where(y => y.DataKredytu.Year == i).Where(m => m.DataKredytu.Month == j).Where(p => p.JednostkaPartnerska == jednostka.NrJednostkiPartnerskiej))
                        {
                            kwota += kredyt.KwotaKredytu;

                            Kredyt test = _appDbContext.Kredyty.FirstOrDefault(x => x.NumerKredytu == kredyt.NumerKredytu);

                            test.KwotaKredytuZProwizja = kredyt.KwotaKredytu + Math.Round(kredyt.KwotaKredytu * Convert.ToDecimal(Procent), 2);
                            _appDbContext.SaveChanges();
                        }
                        if (kwota > Poziom)
                        {
                            foreach (var kredyt in _kredytRepository.Kredyty().Where(y => y.DataKredytu.Year == i).Where(m => m.DataKredytu.Month == j).Where(p => p.JednostkaPartnerska == jednostka.NrJednostkiPartnerskiej))
                            {
                                Kredyt kredytZPoziomem = _appDbContext.Kredyty.FirstOrDefault(x => x.NumerKredytu == kredyt.NumerKredytu);

                                decimal X = kredytZPoziomem.KwotaKredytu / kwota;

                                decimal kredytZBonusem = X * Bonus;

                                kredytZPoziomem.KwotaKredytuZProwizja = kredyt.KwotaKredytu + Math.Round(kredyt.KwotaKredytu * Convert.ToDecimal(Procent), 2) + kredytZBonusem;
                                _appDbContext.SaveChanges();
                            }
                        }
                    }
                }
            }
            return(RedirectToAction("Index", new VM()
            {
                Komunikat = "Naliczono Prowizję"
            }));
        }
示例#3
0
        public void TestZaplac()// Dla klasy Zamowienie metoda Oplac Zamowienie sprawdza czy zaplacone
        {
            var zam = new Zamowienie();
            var poz = new PozycjaZamowienia();

            zam.dataRealizacji             = DateTime.Now;
            zam.statusZamowienia           = false;
            zam.identyfikatorZamowienia    = "jeden";
            zam.potwierdzenieElektroniczne = true;
            poz.nazwaTowaru     = "nazwa";
            poz.ilosc           = 5;
            poz.stawkaVat       = 23;
            poz.cenaJednostkowa = 20000;

            zam.DodajPozycjeZamowienia(poz);

            byte   raty           = Convert.ToByte(20);
            string bank           = "ING";
            float  oprocentowanie = (float)Convert.ToDouble(20);
            var    platnosc       = new Kredyt(raty, bank, oprocentowanie);

            Assert.IsTrue(zam.OplacZamowienie(platnosc));// wartośc boolowska czy zaplacone zamówiebnie
        }