コード例 #1
0
ファイル: MyTestBase.cs プロジェクト: wardzynski/Samples
        public void PrepareData()
        {
            var kasa        = Session.GetKasa();
            var ewidencjasp = (RachunekBankowyFirmy)kasa.EwidencjeSP.RachunekBankowy;
            var przelewy    = kasa.Przelewy.WgEwidencjaSP[ewidencjasp];

            InUITransaction(() =>
            {
                if (przelewy.Any)
                {
                    foreach (var przelew in przelewy)
                    {
                        przelew.Exported = false;
                        przelew.Bufor    = true;
                        przelew.Delete();
                    }
                }
                var abc    = Session.GetCRM().Kontrahenci.WgKodu["Abc"];
                var drynda = Session.GetCRM().Kontrahenci.WgKodu["Drynda"];

                for (int i = 0; i < 30; i++)
                {
                    var p = new Przelew(ewidencjasp);
                    Session.AddRow(p);
                    p.Kwota                  = new Currency(123.33m);
                    p.Data                   = new Date(2020, 1, 1);
                    p.Podmiot                = i < 10 ? abc : drynda;
                    p.Tytulem1               = "Przelew " + i;
                    p.NazwaZleceniodawcy1    = "Soneta sp. z o.o.";
                    p.RachunekOdbiorcy.Numer = "1234567890";
                }
            });
            SaveDispose();
        }
コード例 #2
0
        public void Zaplac(double suma, SposobPlatnosci wybranaPlatnosc)
        {
            Platnosc platnosc = new Platnosc();

            platnosc.zarejestrujPlatnosc();

            switch (wybranaPlatnosc)
            {
            case SposobPlatnosci.Karta:
                try
                {
                    platnosc = new Karta(100);
                    ((Karta)platnosc).Zaplac(suma);
                    platnosc.generujPotwierdzenieZamowienia();
                }
                catch (NotEnoughFundsOnCreditCardException ex)
                {
                    //throw new Exception("Platnosc nieudana: " + ex.Message);
                    Console.WriteLine("Platnosc nieudana: " + ex.Message);
                }
                break;

            case SposobPlatnosci.Przelew:
                platnosc = new Przelew();
                platnosc.generujPotwierdzenieZamowienia();
                break;
            }
        }
コード例 #3
0
        private void Deposit(Przelew payment)
        {
            List <Uczestnik> contributorSupervisors = new ();
            var payer = uczestnicy.FirstOrDefault(u => u.Id == payment.IdNadawcy);

            if (payer.Przelozony == null)
            {
                Transfer(payer.Id, payment.Kwota);
                return;
            }

            var przelozony = payer.Przelozony;

            while (przelozony != null)
            {
                contributorSupervisors.Add(przelozony);
                przelozony = przelozony.Przelozony;
            }

            contributorSupervisors.Reverse();
            int contributorSupervisorsCount = contributorSupervisors.Count();

            int moneyLeft = payment.Kwota;

            for (int i = 0; i < contributorSupervisorsCount; i++)
            {
                int moneyToSend = 0;
                if (i < contributorSupervisorsCount - 1)
                {
                    moneyToSend = moneyLeft / 2;
                }
                else
                {
                    moneyToSend = moneyLeft;
                }

                moneyLeft -= moneyToSend;
                Transfer(contributorSupervisors[i].Id, moneyToSend);
            }
        }