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; } } }
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}"); } }
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."); }
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 { } }
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"); } } }
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"); }
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); }
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"); } }
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); } } }
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"); } }
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; }
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 { } }
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."); }
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!"); } }
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(); }
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(); }
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"); } }
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); } }