예제 #1
0
        private static void VerificaMoneda(ContBancar contPrincipal, ContBancar contDestinatar, Date db)
        {
            int valuta = Valuta(contPrincipal.Moneda, contDestinatar.Moneda);

            if (contPrincipal.Moneda == contDestinatar.Moneda)
            {
                TransferaBani(contPrincipal, contDestinatar, db, 1);
            }
            else
            {
                Console.WriteLine($"Valutele conturilor nu se potrivesc! Vrei sa faci transferul din {contPrincipal.Moneda} {contDestinatar.Moneda} cu valuta noastra: {valuta} ?");
                Console.WriteLine("1.Da \n2.Nu");
                ConsoleKeyInfo optiune = Console.ReadKey();
                if (optiune.Key == ConsoleKey.D1)
                {
                    TransferaBani(contPrincipal, contDestinatar, db, valuta);
                }
                else if (optiune.Key == ConsoleKey.D2)
                {
                    Console.WriteLine("Nu ai vrut valuta noastra, deci nu putem sa iti facem transferul");
                    return;
                }
                else
                {
                    return;
                }
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: iprog8/G8M3
        private static void VerificaSold(Date db)
        {
            Console.WriteLine("Care este numele dvs?");
            string numeUtilizator = Console.ReadLine();

            Console.WriteLine("Care este parola dvs?");
            string     parolaUtilizator = Console.ReadLine();
            ContBancar contDeVerificat  = null;

            foreach (var cont in db.ConturiBancare)
            {
                if (cont.Nume == numeUtilizator && cont.Parola == parolaUtilizator)
                {
                    contDeVerificat = cont;
                    break;
                }
            }
            if (contDeVerificat == null)
            {
                Console.WriteLine("Contul nu a fost gasit");
                log.Warn("Contul nu a fost gasit");
            }
            else
            {
                Console.WriteLine($"Soldul este {contDeVerificat.Sold}");
                log.Info($"Soldul este {contDeVerificat.Sold}");
            }
        }
예제 #3
0
파일: Program.cs 프로젝트: iprog8/G8M3
        public static void StergeCont(Date db)
        {
            Console.WriteLine("Care este numele dvs?");
            string numeUtilizator = Console.ReadLine();

            Console.WriteLine("Care este parola contului dvs?");
            string     parola      = Console.ReadLine();
            ContBancar contDeSters = null;

            foreach (var cont in db.ConturiBancare)
            {
                if (cont.Nume == numeUtilizator && parola == cont.Parola)
                {
                    contDeSters = cont;
                    break;
                }
            }

            if (contDeSters == null)
            {
                Console.WriteLine($"Contul pe care vreti sa il stergeti nu EXISTA.");
                log.Info($"Contul pe care vreti sa il stergeti nu EXISTA.");
                return;
            }

            db.ConturiBancare.Remove(contDeSters);
            db.SaveData();

            log.Info($"Contul {contDeSters.Nume} - {contDeSters.Moneda} - {contDeSters.CodBancar} a fost sters.");
            Console.WriteLine($"Contul {contDeSters.Nume} - {contDeSters.Moneda} - {contDeSters.CodBancar} a fost sters.");
        }
예제 #4
0
        public static void DepunereNumerar(Date db)
        {
            ContBancar contDeAlimentat = LogheazaUtilizator(db);

            if (contDeAlimentat != null) //am gasit contul...
            {
                Console.WriteLine("Ce suma vreti sa depuneti?");
                string sumaString = Console.ReadLine();
                int    suma       = 0;
                if (int.TryParse(sumaString, out suma))
                {
                    if (suma <= 0)
                    {
                        Console.WriteLine("Suma introdusa este mai mica decat 0");
                        log.Info("Suma introdusa este mai mica decat 0");
                        return;
                    }
                    else
                    {
                        contDeAlimentat.DepunereNumerar(suma);
                        db.SaveData();
                        Console.WriteLine($"A fost depusa suma {suma} in contul {contDeAlimentat.CodBancar}");
                        log.Info($"Contul {contDeAlimentat.CodBancar} a fost alimentat cu suma {suma}.");
                    }
                }
                else
                {
                    Console.WriteLine($"Nu ati introdus o suma corecta");
                    log.Info($"Nu ati introdus o suma corecta");
                }
            }
            else // nu l-am gasit
            {
            }
        }
예제 #5
0
        private static void TransferaBani(ContBancar contPrincipal, ContBancar contDestinatar, Date db, int valuta)
        {
            Console.WriteLine($"Ce suma vrei sa transferi?");
            string sumaString = Console.ReadLine();
            int    sumaInt    = 0;

            if (!int.TryParse(sumaString, out sumaInt))
            {
                Console.WriteLine($"Suma {sumaString} este invalida");
                log.Warn($"Suma {sumaString} introdusa este invalida");
                return;
            }
            else
            {
                if (contPrincipal.Transfera(contDestinatar, sumaInt, valuta))
                {
                    Console.WriteLine($"Transferul a avut succes");
                    db.SaveData();
                }
                else
                {
                    Console.WriteLine($"Transferul nu a avut succes");
                    log.Info("Transferul nu a avut succes");
                }
            }
        }
예제 #6
0
        private static void CreeazaCardDebit(Date db)
        {
            ContBancar cont = LogheazaUtilizator(db);

            if (cont != null)
            {
                CardDebit cardDebit = new CardDebit(cont);
                cont.CarduriDebit.Add(cardDebit);
                Console.WriteLine($"Aproape a fost creat card ul de debit pentru clientul {cont.Nume}");
                Console.WriteLine("Din motive de securitate trebuie sa iti setezi un pin si un cod de card:");
                Console.WriteLine("Introdu un pin nou si apasa enter");
                string pin = Console.ReadLine();
                if (cardDebit.SchimbaPin("0000", pin))
                {
                    Console.WriteLine("Introdu un cod de card nou si apaasa enter");
                    string codCard = Console.ReadLine();
                    cardDebit.CodCard = codCard;
                    string msg1 = "Card ul de debit a fost creat!";
                    Console.WriteLine(msg1);
                    log.Info(msg1);
                    db.SaveData();
                }
                else
                {
                    string msg = "Pin ul nu a putut fi schimbat";
                    Console.WriteLine(msg);
                    log.Warn(msg);
                    return;
                }
            }
            log.Warn($"Cont ul nu a fost gasit in baza de date");
            Console.WriteLine("Cont ul nu a fost gasit in baza de date");
        }
예제 #7
0
        public static ContBancar LogheazaUtilizator(Date db)
        {
            Console.WriteLine($"Nume utilizator: ");
            string utilizator = Console.ReadLine();

            Console.WriteLine($"Parola: ");
            string     parola          = Console.ReadLine();
            ContBancar contDeVerificat = db.ConturiBancare.FirstOrDefault(cont => cont.Nume == utilizator && cont.Parola == parola);

            return(contDeVerificat);
        }
예제 #8
0
파일: Program.cs 프로젝트: iprog8/G8M3
        public static void RetragereNumerar(Date db)
        {
            Console.WriteLine($"Nume utilizator: ");
            string utilizator = Console.ReadLine();

            Console.WriteLine($"Parola: ");
            string parola = Console.ReadLine();

            Console.WriteLine($"Ce suma doriti sa retrageti?");
            string sumaString   = Console.ReadLine();
            int    sumaDeRetras = 0;

            if (!int.TryParse(sumaString, out sumaDeRetras))
            {
                Console.WriteLine("Suma introdusa de tine este invalida");
                log.Warn($"Suma {sumaString} introdusa este invalida");
                return;
            }

            ContBancar contBancar = null;

            foreach (var cont in db.ConturiBancare)
            {
                if (cont.Nume == utilizator && cont.Parola == parola)
                {
                    contBancar = cont;
                    break;
                }
            }

            //ContBancar contBancar = db.ConturiBancare.FirstOrDefault(cont => cont.Nume == utilizator && cont.Parola == parola);

            if (contBancar == null)
            {
                Console.WriteLine($"Contul bancar nu a fost gasit.");
                log.Warn($"Contul bancar nu a fost gasit.");
                return;
            }

            bool rezultatRetragere = contBancar.RegtragereNumerar(sumaDeRetras);

            if (rezultatRetragere)
            {
                Console.WriteLine($"Suma {sumaDeRetras} a fost retrasa cu success");
                log.Info($"Suma {sumaDeRetras} a fost retrasa cu success");

                db.SaveData();
            }
            else
            {
                Console.WriteLine($"Suma nu a fost retrasa");
                log.Warn($"Suma nu a fost retrasa");
            }
        }
예제 #9
0
파일: Program.cs 프로젝트: iprog8/G8M3
        private static void TransferInterbancar(Date db)
        {
            string message = string.Empty;

            Console.WriteLine("Care este numele dvs?");
            string numeUtilizator = Console.ReadLine();

            Console.WriteLine("Care este parola dvs?");
            string     parola            = Console.ReadLine();
            ContBancar contInitializator = null;

            foreach (var cont in db.ConturiBancare)
            {
                if (numeUtilizator == cont.Nume && parola == cont.Parola)
                {
                    contInitializator = cont;
                    break;
                }
            }
            if (contInitializator == null)
            {
                message = $"Contul cautat nu a fost gasit.";
                Console.WriteLine(message);
                log.Warn(message);
                return;
            }
            Console.WriteLine("Introduceti contul Iban");
            string iban = Console.ReadLine();

            Console.WriteLine("Introduceti suma pe care vreti sa o transferati.");
            string sumaDeTransferatstring = Console.ReadLine();
            bool   sumaTransferata        = int.TryParse(sumaDeTransferatstring, out int sumaDeTransferat);

            if (sumaTransferata == true)
            {
                Tranzactie tranzactie = contInitializator.TransferaInterbancar(sumaDeTransferat, iban);
                if (tranzactie != null)
                {
                    db.Tranzactii.Add(tranzactie);
                    db.SaveData();
                    message = "Tranzactia fost trimisa catre procesare.";
                    Console.WriteLine(message);
                    log.Info(message);
                }
                else
                {
                    message = "Tranzactie esuata";
                    Console.WriteLine(message);
                    log.Warn(message);
                }
            }
        }
예제 #10
0
        private static void VerificaSold(Date db)
        {
            ContBancar cont = LogheazaUtilizator(db);

            if (cont != null)
            {
                Console.WriteLine($"Sold ul clientului {cont.Nume} este {cont.InterogareSold()}");
            }
            else
            {
                log.Warn($"Cont ul nu a fost gasit in baza de date");
                Console.WriteLine("Cont ul nu a fost gasit in baza de date");
            }
        }
예제 #11
0
파일: Program.cs 프로젝트: iprog8/G8M3
        static void TestCard()
        {
            ContBancar cb = new ContBancar();

            cb.Nume = "ana";
            cb.DepunereNumerar(100);
            CardDebit cardDebit = new CardDebit(cb);
            decimal   sold      = cardDebit.Sold;

            sold = cardDebit.ContBancar.Sold;
            string nume = cardDebit.Nume;

            nume = cardDebit.ContBancar.Nume;
        }
예제 #12
0
파일: Program.cs 프로젝트: iprog8/G8M3
        public static void DepunereNumerar(Date db)
        {
            Console.WriteLine("Care este numele dvs?");
            string numeUtilizator = Console.ReadLine();

            Console.WriteLine("Care este parola contului dvs ?");
            string     parola          = Console.ReadLine();
            ContBancar contDeAlimentat = null;

            foreach (var cont in db.ConturiBancare)
            {
                if (cont.Nume == numeUtilizator && parola == cont.Parola)
                {
                    contDeAlimentat = cont;
                    break;
                }
            }
            if (contDeAlimentat != null) //am gasit contul...
            {
                Console.WriteLine("Ce suma vreti sa depuneti?");
                string sumaString = Console.ReadLine();
                int    suma       = 0;
                if (int.TryParse(sumaString, out suma))
                {
                    if (suma <= 0)
                    {
                        Console.WriteLine("Suma introdusa este mai mica decat 0");
                        log.Info("Suma introdusa este mai mica decat 0");
                        return;
                    }
                    else
                    {
                        contDeAlimentat.DepunereNumerar(suma);
                        db.SaveData();
                        Console.WriteLine($"A fost depusa suma {suma} in contul {contDeAlimentat.CodBancar}");
                        log.Info($"Contul {contDeAlimentat.CodBancar} a fost alimentat cu suma {suma}.");
                    }
                }
                else
                {
                    Console.WriteLine($"Nu ati introdus o suma corecta");
                    log.Info($"Nu ati introdus o suma corecta");
                }
            }
            else // nu l-am gasit
            {
            }
        }
예제 #13
0
        public static void StergeCont(Date db)
        {
            ContBancar contDeSters = LogheazaUtilizator(db);

            if (contDeSters == null)
            {
                Console.WriteLine($"Contul pe care vreti sa il stergeti nu EXISTA.");
                log.Info($"Contul pe care vreti sa il stergeti nu EXISTA.");
                return;
            }

            db.ConturiBancare.Remove(contDeSters);
            db.SaveData();

            log.Info($"Contul {contDeSters.Nume} - {contDeSters.Moneda} - {contDeSters.CodBancar} a fost sters.");
            Console.WriteLine($"Contul {contDeSters.Nume} - {contDeSters.Moneda} - {contDeSters.CodBancar} a fost sters.");
        }
예제 #14
0
        private static void TransferaBaniIntreConturi(Date db)
        {
            Console.WriteLine("Intrudu datele primului cont:");
            ContBancar contPrincipal = LogheazaUtilizator(db);

            Console.WriteLine("Intrudu codul bancar celui de al doilea cont:");
            string     codBancar      = Console.ReadLine();
            ContBancar contDestinatar = null;

            if ((contPrincipal != null) && (codBancar.Length == 10))
            {
                foreach (var cod in db.ConturiBancare)
                {
                    if (contPrincipal.CodBancar == codBancar)
                    {
                        Console.WriteLine("Datele introduse sunt aceleasi");
                        log.Warn("Datele introduse sunt aceleasi");
                        return;
                    }
                    else if (cod.CodBancar == codBancar)
                    {
                        contDestinatar = cod;
                        break;
                    }
                }
                if (contDestinatar != null)
                {
                    VerificaMoneda(contPrincipal, contDestinatar, db);
                }
                else
                {
                    Console.WriteLine("contul nu a fost gasit in baza de date");
                    log.Warn("contul nu a fost gasit in baza de date");
                }
            }
            else
            {
                log.Warn("Cont ul nu este valid sau codul bancar nu este valid!");
                Console.WriteLine("Cont ul nu este valid sau codul bancar nu este valid!");
            }
        }
예제 #15
0
        private static void SchimbaParola(Date db)
        {
            Console.WriteLine("Care este numele dumneavoastra?");
            string numeUtilizator = Console.ReadLine();

            Console.WriteLine("Care este parola curenta?");
            string parolaVeche = Console.ReadLine();

            Console.WriteLine("Care este parola dorita?");
            string parolaNoua = Console.ReadLine();

            ContBancar contCautat = null;

            foreach (var cont in db.ConturiBancare)
            {
                if (cont.Nume == numeUtilizator)
                {
                    contCautat = cont;
                    break;
                }
            }
            if (contCautat == null)
            {
                Console.WriteLine($"Contul cu utilizatorul {numeUtilizator} nu a fost gasit.");
                return;
            }
            var rezultatSchimbaParola = contCautat.SchimbaParola(parolaVeche, parolaNoua);

            if (rezultatSchimbaParola == true)
            {
                Console.WriteLine($"Contul cu utilizatorul {numeUtilizator}  si-a schimbat parola.");
            }
            else
            {
                Console.WriteLine($"Contul cu utilizatorul {numeUtilizator}  nu a putut sa schimbe parola.");
            }

            db.SaveData();
        }
예제 #16
0
        private static void CreareContBancar(Date db)
        {
            Console.WriteLine("Care este numele dumneavoastra?");
            string numeUtilizator = Console.ReadLine();

            Console.WriteLine("Care este moneda in care doriti sa creati contul?");
            Console.WriteLine("1. EUR, 2. USD, orice alta tasta pentru Leu.");
            ConsoleKeyInfo tastaApasata = Console.ReadKey();
            Moneda         moneda;

            switch (tastaApasata.Key)
            {
            case ConsoleKey.D1:
                moneda = Moneda.Euro;
                break;

            case ConsoleKey.D2:
                moneda = Moneda.Usd;
                break;

            default:
                moneda = Moneda.Leu;
                break;
            }
            ContBancar contBancar = new ContBancar(numeUtilizator, moneda);

            //string parolaVeche = "0000";
            Console.WriteLine("Contul tau este aproape creat. Seteaza-ti parola .");
            string parolaNoua = Console.ReadLine();

            contBancar.SchimbaParola("0000", parolaNoua);
            log.Info($"B. Cont nou {contBancar.Nume} - {contBancar.Moneda} = {contBancar.CodBancar}");
            Console.WriteLine($"Cont nou {contBancar.Nume} - {contBancar.Moneda} = {contBancar.CodBancar}");
            //salvare
            db.ConturiBancare.Add(contBancar);
            db.SaveData();
        }
예제 #17
0
        public static void RetragereNumerar(Date db)
        {
            ContBancar contBancar = LogheazaUtilizator(db);

            Console.WriteLine($"Ce suma doriti sa retrageti?");
            string sumaString   = Console.ReadLine();
            int    sumaDeRetras = 0;

            if (!int.TryParse(sumaString, out sumaDeRetras))
            {
                Console.WriteLine("Suma introdusa de tine este invalida");
                log.Warn($"Suma {sumaString} introdusa este invalida");
                return;
            }

            if (contBancar == null)
            {
                Console.WriteLine($"Contul bancar nu a fost gasit.");
                log.Warn($"Contul bancar nu a fost gasit.");
                return;
            }

            bool rezultatRetragere = contBancar.RegtragereNumerar(sumaDeRetras);

            if (rezultatRetragere)
            {
                Console.WriteLine($"Suma {sumaDeRetras} a fost retrasa cu success");
                log.Info($"Suma {sumaDeRetras} a fost retrasa cu success");
                db.SaveData();
            }
            else
            {
                Console.WriteLine($"Suma nu a fost retrasa");
                log.Warn($"Suma nu a fost retrasa");
            }
        }
예제 #18
0
파일: Program.cs 프로젝트: iprog8/G8M3
        private static void TransferLocal(Date db)
        {
            string message = string.Empty;

            Console.WriteLine("Introaduceti numele utilizatorului.");
            string numeUtilizator = Console.ReadLine();

            Console.WriteLine("Introduceti parola");
            string     parola            = Console.ReadLine();
            ContBancar contInitializator = null;

            foreach (var contCautat in db.ConturiBancare)
            {
                if ((numeUtilizator == contCautat.Nume) && (parola == contCautat.Parola))
                {
                    contInitializator = contCautat;
                    break;
                }
            }
            //aici anunt utilizatorul ca nu am gasit contul conform cu datele trimise de el
            if (contInitializator == null)
            {
                Console.WriteLine("Contul nu a fost gasit.");
                log.Warn("Nu exista contul in baza de date.");
                return;
            }
            //aici cer utilizatorului sa imi zica iban-ul in care vrea sa transfere bani
            Console.WriteLine("Introduceti codul IBAN aferent contului in care doriti sa transferati bani.");
            string     contIban     = Console.ReadLine();
            ContBancar contReceptor = null;

            //aici vreau sa caut contul in care vreau sa trimit bani
            foreach (var contCautat in db.ConturiBancare)
            {
                if (contIban == contCautat.CodBancar)
                {
                    contReceptor = contCautat;
                    break;
                }
            }
            if (contReceptor == null)
            {
                Console.WriteLine("Contul nu a fost gasit.");
                log.Warn("Contul nu a fost gasit.");
                return;
            }
            Console.WriteLine("Ce suma doriti sa transferati?");
            string sumaDeTransferatString = Console.ReadLine();
            bool   sumaTransferata        = int.TryParse(sumaDeTransferatString, out int sumaDeTransferat);

            if (sumaTransferata == true)
            {
                RaspunsComplex raspuns = contInitializator.TransferaLocal(sumaDeTransferat, contReceptor);
                if (raspuns.Succes)
                {
                    db.SaveData();
                    Console.WriteLine(raspuns.Mesaj);
                    log.Info(raspuns.Mesaj);
                }
                else
                {
                    Console.WriteLine(raspuns.Mesaj);
                    log.Warn(raspuns.Mesaj);
                }
            }
            else
            {
                message = $"Suma introdusa nu este valida.";
                Console.WriteLine(message);
                log.Warn(message);
            }
        }