示例#1
0
        static void Oprettransaktion(Konto k)
        {
            Console.Write("Tekst: ");
            string tekst = Console.ReadLine();

            Console.Write("Beløb: ");
            try
            {
                float amount = float.Parse(Console.ReadLine());
                if (gemTrans(k, tekst, amount))
                {
                    Console.WriteLine("Transkationen blev gemt. Ny saldo på kontoen: " + findSaldo(k));
                    Gem();
                }
                else
                {
                    Console.WriteLine("Transaktionen kunne ikke gemmes (Der var sikkert ikke penge nok på kontoen)");
                }
            }
            catch (Exception X)
            {
                Console.WriteLine(X);
                Console.ReadKey();
            }
            Console.ReadKey();
            Start();
        }
        static Konto DosFindKonto()
        {
            for (int i = 1; i <= konti.Count; i++)
            {
                Konto konto = konti[i - 1];  // Store the current account to ease readability of the string.
                Console.WriteLine(i + ". " + konto.registreringsnr + " " + konto.kontonr + " ejes af " + konto.ejer);
            }
            Console.WriteLine($"Skriv et tal fra 1 til {konti.Count}, for at vælge en konto.");
            Console.Write(">");
            int tal = 0;

            while (true)
            {
                try
                {
                    tal = int.Parse(Console.ReadLine());
                    break;
                }
                catch (Exception)
                {
                    Console.WriteLine("Ugyldigt tal! Prøv igen: ");
                }
            }

            if (tal < 1 || tal > konti.Count)
            {
                Console.WriteLine("Ugyldigt valg");
                Console.Clear();
                return(null);
            }
            return(konti[tal - 1]);
        }
        static void DosOpretTransaktion(Konto k)
        {
            Console.Write("Indtast transaktion beskrivelse: ");
            string tekst = Console.ReadLine();

            Console.Write("Indtast transaktion beløb: ");
            float amount = 0;

            try
            {
                amount = float.Parse(Console.ReadLine());
            }
            catch (Exception)
            {
                Console.WriteLine("Ugyldigt tal!");
                return;
            }

            if (GemTrans(k, tekst, amount))
            {
                Console.WriteLine("Transkationen blev gemt. Ny saldo på kontoen: " + FindSaldo(k));
                GemTilFil();
            }
            else
            {
                Console.WriteLine("Transaktionen kunne ikke gemmes (Der var sikkert ikke penge nok på kontoen)");
            }
        }
        public static Konto OpretKonto()
        {
            Console.Write("Navn på kontoejer:");
            string ejerInput = Console.ReadLine();
            Konto  k         = new Konto(ejerInput);

            Console.WriteLine("Konto oprettet!");
            Program.Gem();
            return(k);
        }
        static Konto DosOpretKonto()
        {
            Console.Write("Navn på kontoejer:");
            Konto k = new Konto(Console.ReadLine());

            Console.WriteLine("Konto oprettet!");
            konti.Add(k);
            GemTilFil();
            return(k);
        }
        static Konto opretKonto()
        {
            Konto k = lavKonto();

            Console.Write("Navn på kontoejer: ");
            k.ejer = Console.ReadLine();
            Console.WriteLine("Konto oprettet!");
            konti.Add(k);
            gem();
            return(k);
        }
        public static bool gemTrans(Konto konto, string tekst, float beløb)
        {
            var saldo = findSaldo(konto);
            var t     = new Transaktion();

            t.tekst = tekst;
            t.saldo = t.amount + saldo;
            t.dato  = DateTime.Now;

            konto.transaktioner.Add(t);
            return(true);
        }
        static void opretTransaktion(Konto k)
        {
            var t = new Transaktion();

            Console.WriteLine("1. Hæv");
            Console.WriteLine("2. Sæt ind");
            Console.Write("> ");
            string valg2 = Console.ReadLine();

            switch (Convert.ToInt32(valg2))
            {
            case 1:
                Console.WriteLine("Hvor meget ville du hæve?");
                Console.Write("Beløb: ");
                string havBeløb = Console.ReadLine();

                float saldoEfterHav = t.saldo - Convert.ToInt32(havBeløb);

                Console.WriteLine("Du har hævet " + saldoEfterHav);
                string tekst = "Du har hævet penge: ";
                gemTrans(k, tekst, saldoEfterHav);
                gem();
                break;

            case 2:
                Console.WriteLine("Hvor meget ville du sætte ind?");
                Console.Write("Beløb: ");
                string sætIndBeløb = Console.ReadLine();

                float saldeEfterIndsat = t.saldo + Convert.ToInt32(sætIndBeløb);

                Console.WriteLine("Du har sat så mange penge ind: " + saldeEfterIndsat);
                string tekst2 = "Du har ind sat penge: ";
                gemTrans(k, tekst2, saldeEfterIndsat);
                gem();
                break;

            default:
                Console.WriteLine("UGYLDIGT VALGT!!");
                Console.ReadKey();
                break;
            }


            //Console.Write("Tekst: ");
            //string tekst = Console.ReadLine();
            //Console.Write("Beløb: ");
            //float amount = float.Parse(Console.ReadLine());
            //if (gemTrans(k,tekst,amount))
            //{
            //    Console.WriteLine("Transkationen blev gemt. Ny saldo på kontoen: "+findSaldo(k));
            //
        }
 static void udSkrivKonto(Konto k)
 {
     Console.WriteLine("Konto for " + k.ejer + ": " + k.registreringsnr + " " + k.kontonr);
     Console.WriteLine("================");
     Console.WriteLine("Tekst\t\t\t\tBeløb\t\tSaldo");
     foreach (Transaktion t in k.transaktioner)
     {
         Console.Write(t.tekst + "\t\t\t");
         Console.Write(t.amount + "\t\t");
         Console.WriteLine(t.saldo);
     }
     Console.WriteLine("================\n");
 }
        public static float findSaldo(Konto k)
        {
            Transaktion seneste     = new Transaktion();
            DateTime    senesteDato = DateTime.MinValue;

            foreach (var t in k.transaktioner)
            {
                if (t.dato > senesteDato)
                {
                    senesteDato = t.dato;
                    seneste     = t;
                }
            }
            return(seneste.saldo);
        }
        public static bool GemTrans(Konto konto, string tekst, float beløb)
        {
            float saldo = FindSaldo(konto);

            if (saldo + beløb < 0)
            {
                return(false);
            }
            Transaktion t = new Transaktion();

            t.tekst  = tekst;
            t.amount = beløb;
            t.saldo  = t.amount + saldo;
            t.dato   = DateTime.Now;

            konto.transaktioner.Add(t);
            return(true);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Henter alt kontodata");

            Hent(); // Loads accounts into 'konti'
            if (konti.Count == 0)
            {
                Konto k = new Konto("Ejvind Møller");
                konti.Add(k);

                GemTrans(k, "Opsparing", 100);
                GemTrans(konti[0], "Vandt i klasselotteriet", 1000);
                GemTrans(konti[0], "Hævet til Petuniaer", -50);

                GemTilFil();
            }
            DosStart();
        }
        public static Konto FindKonto()
        {
            for (var i = 0; i <= Konti.Count - 1; i++)
            {
                Konto konto = Konti[i];
                Console.WriteLine($"{i + 1} . {konto.RegistreringsNr} {konto.Kontonr} ejes af {konto.Ejer}");
            }
            Console.WriteLine("Vælg et tal fra 1 til " + Konti.Count);
            Console.Write(">");
            int tal = int.Parse(Console.ReadLine());

            if (tal < 1 || tal > Konti.Count)
            {
                Console.WriteLine("Ugyldigt valg");
                Console.Clear();
                return(null);
            }
            return(Konti[tal - 1]);
        }
示例#14
0
        static void Start()
        {
            Console.WriteLine("Velkommen til Rap Finans af Konrad Sommer");
            Console.WriteLine("Hvad vil du gøre nu?");

            bool blivVedOgVed = true;

            while (blivVedOgVed)
            {
                Console.WriteLine("1. Opret ny konto");
                Console.WriteLine("2. Hæv/sæt ind");
                Console.WriteLine("3. Se en oversigt");
                Console.WriteLine("0. Afslut");

                Console.Write(">");
                int valg = GetInputInteger();

                switch (valg)
                {
                case 1:
                    Konto.OpretKonto();
                    break;

                case 2:
                    Konto.FindKonto().OpretTransaktion();
                    break;

                case 3:
                    Konto.FindKonto().Udskriv();
                    break;

                case 0:
                    blivVedOgVed = false;
                    break;

                default:
                    Console.WriteLine("UGYLDIGT VALGT!!");
                    Console.ReadKey();
                    break;
                }
            }
            Console.Clear();
        }
示例#15
0
        static void Main(string[] args)
        {
            Console.WriteLine(Datafil);
            Console.WriteLine("Henter alt kontodata");

            Hent();
            if (Konto.Konti.Count == 0)
            {
                var k = new Konto("Ejvind Møller");

                k.GemTrans("Opsparing", 100);
                k.GemTrans("Vandt i klasselotteriet", 1000);
                k.GemTrans("Hævet til Petuniaer", -50);

                Gem();
            }

            Start();
        }