示例#1
0
        static void OverschrijvenTransaction(string vanRekeningNr, string naarRekeningNr, decimal bedrag)
        {
            var transactionOptions = new TransactionOptions {
                IsolationLevel = System.Transactions.IsolationLevel.RepeatableRead
            };

            using (var transactionScope = new TransactionScope(TransactionScopeOption.Required, transactionOptions))
            {
                using (var entities = new EFBankEntities())
                {
                    var vanRekening = entities.Rekeningen.Find(vanRekeningNr);
                    if (vanRekening != null)
                    {
                        var naarRekening = entities.Rekeningen.Find(naarRekeningNr);
                        if (naarRekening != null)
                        {
                            vanRekening.Overschrijven(naarRekening, bedrag);
                        }
                        else
                        {
                            Console.WriteLine("Naar-rekening niet gevonden");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Van-rekening niet gevonden");
                    }
                    Console.ReadLine();
                    entities.SaveChanges();
                }
                transactionScope.Complete();
            }
        }
示例#2
0
 static List <Klant> GetKlant()
 {
     using (var entities = new EFBankEntities())
     {
         return((from klanten in entities.Klanten.Include("Rekeningen")
                 orderby klanten.Voornaam
                 select klanten).ToList());
     }
 }
示例#3
0
        static void Main(string[] args)
        {
            //Taak 02:Klanten en hun rekeningen*******************************************************************
            //var klantInfo = GetKlant();
            //foreach (var info in klantInfo)
            //{
            //    Console.WriteLine(info.Voornaam);
            //    decimal totaal = 0m;
            //    if (info.Rekeningen != null)
            //    {
            //        foreach (var rekening in info.Rekeningen)
            //        {
            //            Console.WriteLine(rekening.RekeningNr + ":" + rekening.Saldo);
            //            totaal += rekening.Saldo;
            //        }
            //    }
            //    Console.WriteLine("Totaal:" + totaal);
            //    Console.WriteLine();
            //}
            //Console.ReadLine();

            //Taak03: Zichtrekening toevoegen*******************************************************************
            //using (var entities = new EFBankEntities())
            //{
            //    foreach (var info in entities.Klanten.OrderBy(x => x.Voornaam).ToList())
            //        Console.WriteLine(info.KlantNr + ":" + info.Voornaam);
            //    Console.WriteLine("KlantNr:");
            //    try
            //    {
            //        if (int.TryParse(Console.ReadLine(), out int GekozenKlantNr))
            //        {
            //            var klant1 = entities.Klanten.Find(GekozenKlantNr);
            //            if (klant1 == null)
            //                Console.WriteLine("Klant niet gevonden");
            //            else
            //            {
            //                Console.WriteLine("Voer een zichtrekening toe:");
            //                var zichtRekeningNr = Console.ReadLine();
            //                var zichtRekening = new Rekening { RekeningNr = zichtRekeningNr, Saldo = 0m, Soort = "Z" };
            //                klant1.Rekeningen.Add(zichtRekening);
            //                entities.SaveChanges();
            //            }
            //        }
            //        else
            //            Console.WriteLine("Tik een getal");
            //    }
            //    catch(Exception ex)
            //    {
            //        Console.WriteLine(ex.Message);
            //    }
            //}

            //Taak04:Storten*******************************************************************
            //using (var entities = new EFBankEntities())
            //{
            //    Console.Write("Geef rekeningsNr:");
            //    var rekening = entities.Rekeningen.Find(Console.ReadLine());

            //    if(rekening != null)
            //    {
            //        Console.Write("Geef te storten bedrag:");
            //        bool boolTest = false;
            //        while (boolTest == false)
            //        {
            //            decimal bedrag = 0;
            //            while (!decimal.TryParse(Console.ReadLine(), out bedrag))
            //            {
            //                Console.WriteLine("Tik een getal");
            //            }
            //            if(bedrag <= 0)
            //            {
            //                Console.WriteLine("Tik een positief getal");
            //            }
            //            else
            //            {
            //                rekening.Storten(bedrag);
            //                entities.SaveChanges();
            //                boolTest = true;
            //            }
            //        }
            //    }
            //    else
            //        Console.WriteLine("Rekening niet gevonden");
            //}

            //Console.ReadLine();

            //Taak05:Klant Verwijderen*******************************************************************
            //using (var entities = new EFBankEntities())
            //{
            //    Console.Write("Geef klantennummer:");
            //    int klantNr = 0;
            //    while(!int.TryParse(Console.ReadLine(), out klantNr))
            //    {
            //        Console.WriteLine("Tik een getal");
            //    }
            //    var klant = entities.Klanten.Find(klantNr);
            //    if(klant != null)
            //    {
            //        if(klant.Rekeningen.Count <= 0)
            //        {
            //            entities.Klanten.Remove(klant);
            //            entities.SaveChanges();
            //        }
            //        else
            //            Console.WriteLine("Klant heeft nog rekeningen");
            //    }
            //    else
            //        Console.WriteLine("Klant niet gevonden");
            //}
            //Console.ReadLine();

            //Taak06: Overschrijven*******************************************************************

            //Console.WriteLine("van rekeningsnummer:");
            //var vanRekeningsNr = Console.ReadLine();

            //Console.WriteLine("naar rekeningsnummer:");
            //var naarRekeningsNr = Console.ReadLine();

            //Console.WriteLine("te storten bedrag:");
            //decimal bedrag = 0m;
            //bool testBool = false;
            //while (testBool == false)
            //{
            //    while (!decimal.TryParse(Console.ReadLine(), out bedrag))
            //    {
            //        Console.WriteLine("Tik een getal");
            //    }
            //    if (bedrag <= 0)
            //        Console.WriteLine("Tik een positief getal");
            //    else
            //        testBool = true;
            //}
            //try
            //{
            //    OverschrijvenTransaction(vanRekeningsNr, naarRekeningsNr, bedrag);
            //}
            //catch(SaldoOntoereikendException)
            //{
            //    Console.WriteLine("Saldo ontoereikend");
            //}

            //Console.ReadLine();

            //Taak07:Klant wijzigen*******************************************************************
            //try
            //{
            //    Console.Write("Klantnummer:");
            //    if (!int.TryParse(Console.ReadLine(), out int klantNr))
            //        throw new Exception("Tik een getal");

            //    using (var entities = new EFBankEntities())
            //    {
            //        var klant = entities.Klanten.Find(klantNr);

            //        if (klant != null)
            //        {
            //            Console.Write("Gecorrigeerde naam:");
            //            klant.Voornaam = Console.ReadLine();
            //            try
            //            {
            //                entities.SaveChanges();
            //            }
            //            catch (DbUpdateConcurrencyException)
            //            {
            //                Console.WriteLine("Een andere gebruiker wijzigde deze klant");
            //            }
            //        }
            //        else
            //            throw new Exception("Klant niet gevonden");
            //    }
            //}
            //catch(Exception ex)
            //{
            //    Console.WriteLine(ex.Message);
            //}

            //Taak08:Personeel*******************************************************************
            //using (var entities = new EFBankEntities())
            //{
            //    var query = (from personeel in entities.Personeel.Include("Personeelsleden")
            //                where personeel.ManagerNr == null
            //                select personeel).ToList();

            //    SelfLoop(query, 0);

            //}
            //Console.ReadLine();

            //Taak09:Zichtrekeningen - Spaarrekeningen*******************************************************************
            //using (var entities = new EFBankEntities())
            //{
            //    var query = from x in entities.Rekeningen
            //                where x is Zichtrekening
            //                select x;

            //    foreach (var zichtrekening in query)
            //    {
            //        Console.WriteLine("{0} - {1}", zichtrekening.RekeningNr, zichtrekening.Saldo);
            //    }
            //}
            //Console.ReadLine();

            //Taak10:Totale Saldo Per Klant*******************************************************************
            //using (var entities = new EFBankEntities())
            //{
            //    var query = from x in entities.TotaleSaldoPerKlant
            //                orderby x.Voornaam
            //                select x;

            //    foreach (var klant in query)
            //    {
            //        Console.WriteLine("{0} : {1}", klant.Voornaam, klant.TotaleSaldo);
            //    }
            //}

            //Taak11:Administratieve Kost*******************************************************************
            Console.WriteLine("Hoeveel bedraagt de kost?");
            if (decimal.TryParse(Console.ReadLine(), out decimal kost))
            {
                using (var entities = new EFBankEntities())
                {
                    var aantalAangepast = entities.AdministratieveKost(kost);
                    Console.WriteLine("aantal aangepaste rekeningen:{0}", aantalAangepast);
                }
            }
            else
            {
                Console.WriteLine("Tik een getal");
            }
            Console.ReadLine();
        }