示例#1
0
        public static void HaeAsiakkaatMaalla()
        {
            Console.ForegroundColor = ConsoleColor.Yellow;
            AsiakasRepository    ar = new AsiakasRepository(yhteysasetukset.ConnectionString);
            TilausRiviRepository tr = new TilausRiviRepository(yhteysasetukset.ConnectionString);

            Console.Write("Anna haettavien alku: ");
            string         syotto    = Console.ReadLine();
            List <Asiakas> asiakkaat = ar.HaeMaa(syotto);

            if (asiakkaat.Count == 0)
            {
                Console.Write("Tällä haulla ei valitettavasti löytynyt yhtään asiakasta. Haluatko hakea uudelleen k/e?");
                var hakuUudestaan = Console.ReadKey(true);

                switch (hakuUudestaan.Key)
                {
                case ConsoleKey.K:
                    Console.WriteLine();
                    HaeAsiakkaatMaalla();
                    break;

                case ConsoleKey.E:
                    Alkuvalikko();
                    break;

                default:
                    Console.WriteLine("Valinta ei ole mahdollinen");
                    break;
                }
            }
            else
            {
                Console.WriteLine($"Löydetyt asiakkaat {asiakkaat.Count} kpl");
                int indexNumber = 1;

                foreach (var asiakas in asiakkaat)
                {
                    Console.WriteLine($"{indexNumber}. asiakas: {asiakas.Nimi}, {asiakas.Kaupunki} {asiakas.Maa}");

                    foreach (var tilaus in asiakas.Tilaukset)
                    {
                        Console.WriteLine($"  Tilaus: {tilaus.Id}, tuotteita: {tilaus.TilausRivit.Count}, arvo yhteensä {tilaus.TilausRivit.Sum(x => (x.Hinta * x.Maara)).ToString("f2")}");
                    }
                    if (indexNumber < asiakkaat.Count)
                    {
                        Console.Write("Seuraava painamalla Enter");
                        Console.ReadLine();
                    }
                    indexNumber++;
                }
                Console.WriteLine("Paina Enter.");
                Console.ReadLine();
                Alkuvalikko();
            }
        }
示例#2
0
        /*----------- LISAYS ------------*/
        public static void Lisaa()
        {
            AsiakasRepository ar = new AsiakasRepository(yhteysasetukset.ConnectionString);

            Console.ForegroundColor = ConsoleColor.Yellow;
            Asiakas uusiAsiakas = new Asiakas();

            Console.WriteLine("Uusi asiakas");
            string tunnus;

            do
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write("Anna tunnus: ");
                tunnus = Console.ReadLine();

                if (tunnus.Length > 5)
                {
                    TekstinVarinVaihto("Sallittu merkkikoko on 5", ConsoleColor.Red);
                }
                else if (tunnus == "")
                {
                    TekstinVarinVaihto("Tyhjä merkkijono ei ole sallittu", ConsoleColor.Red);
                }
                else
                {
                    uusiAsiakas.AsiakasId = tunnus;
                    break;
                }
            } while (true);
            Console.Write("Anna nimi: ");
            uusiAsiakas.Nimi = Console.ReadLine();
            Console.Write("Anna maa: ");
            uusiAsiakas.Maa = Console.ReadLine();
            Console.Write("Anna kaupunki: ");
            uusiAsiakas.Kaupunki = Console.ReadLine();

            try
            {
                ar.Lisaa(uusiAsiakas);
                Console.WriteLine("Asiakas lisätty\nPaina Enter");
            }
            catch (Exception e)
            {
                Console.WriteLine($"Lisäys ei onnistunut {e.Message}");
                Console.WriteLine("Asiakasta ei lisätty\nPaina Enter");
            }


            Console.ReadLine();
            Alkuvalikko();
        }
示例#3
0
        /*----------- POISTO ------------*/

        public static void Poista()
        {
            AsiakasRepository ar = new AsiakasRepository(yhteysasetukset.ConnectionString);

            Console.ForegroundColor = ConsoleColor.Yellow;

            List <Asiakas> asiakkaat;

            asiakkaat = ar.HaeKaikki();

            var asiakkaatJoillaEiTilauksia = asiakkaat.Where(x => x.Tilaukset.Count == 0);

            Console.WriteLine("Asiakkaan poistaminen");
            Console.WriteLine("Seuraavilla asiakkailla ei ole tilauksia: ");

            foreach (var asiakas in asiakkaatJoillaEiTilauksia)
            {
                Console.WriteLine($"{asiakas.AsiakasId} {asiakas.Nimi} {asiakas.Kaupunki}, {asiakas.Maa}");
            }

            string tunnus;
            bool   tunnusOnTosi;

            do
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                tunnusOnTosi            = true;
                Console.Write("Anna poistettava tunnus: ");
                tunnus = Console.ReadLine();

                if (!asiakkaatJoillaEiTilauksia.Any(x => x.AsiakasId == tunnus.PadRight(5)))
                {
                    TekstinVarinVaihto("Tunnusta ei löydy listalta.", ConsoleColor.Red);
                    tunnusOnTosi = false;
                }
                else
                {
                    tunnusOnTosi = true;
                }
            } while (!tunnusOnTosi);


            bool poistoOnTosi;

            do
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine($"Haluatko varmasti poistaa asiakkaan {tunnus} (k/e)?");
                poistoOnTosi = true;

                var valinta = Console.ReadKey(true);

                switch (valinta.Key)
                {
                case ConsoleKey.K:
                    poistoOnTosi = true;
                    try
                    {
                        ar.Poista(tunnus);
                        Console.WriteLine("Asiakas poistettu.\nPaina Enter.");
                        Console.ReadLine();
                        Alkuvalikko();
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("Asiakkaan poistaminen ei onnistunut.\nPaina Enter.");
                        Console.ReadLine();
                        Alkuvalikko();
                    }
                    break;

                case ConsoleKey.E:
                    poistoOnTosi = true;
                    Console.WriteLine("Poistoa ei tehty\nPaina Enter.");
                    Console.ReadLine();
                    Alkuvalikko();
                    break;

                default:
                    TekstinVarinVaihto("Valinta on virheellinen", ConsoleColor.Red);
                    poistoOnTosi = false;
                    break;
                }
            } while (!poistoOnTosi);
        }
示例#4
0
        /*----------- MUUTOS ------------*/
        public static void Muuta()
        {
            AsiakasRepository ar = new AsiakasRepository(yhteysasetukset.ConnectionString);

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Asiakkaan muuttaminen");
            Console.Write("Anna muutettavan asiakkaan tunnus: ");
            string  annettuTunnus = Console.ReadLine();
            Asiakas haettuAsiakas;
            string  nimi;
            string  kaupunki;
            string  maa;

            try
            {
                haettuAsiakas = ar.Hae(annettuTunnus);
                Console.Write($"Asiakkaan tiedot: {haettuAsiakas.AsiakasId} {haettuAsiakas.Nimi}, {haettuAsiakas.Kaupunki} {haettuAsiakas.Maa}\n");

                Console.Write("Anna uusi nimi tai tyhjä: ");
                nimi = Console.ReadLine();
                if (nimi != "")
                {
                    haettuAsiakas.Nimi = nimi;
                }

                Console.Write("Anna uusi kaupunki tai tyhjä: ");
                kaupunki = Console.ReadLine();
                if (kaupunki != "")
                {
                    haettuAsiakas.Kaupunki = kaupunki;
                }

                Console.Write("Anna uusi maa tai tyhjä: ");
                maa = Console.ReadLine();
                if (maa != "")
                {
                    haettuAsiakas.Maa = maa;
                }

                ar.Muuta(haettuAsiakas);
            }
            catch (Exception virhe)
            {
                if (virhe is ApplicationException)
                {
                    Console.WriteLine("Asiakasta ei löynyt.\nPaina Enter");
                    Console.ReadLine();
                    Alkuvalikko();
                }
                else
                {
                    Console.WriteLine("Muutos ei onnistunut.\nPaina Enter");
                    Console.ReadLine();
                    Alkuvalikko();
                }
            }

            Console.WriteLine("Asiakas muutettu.\nPaina Enter.");
            Console.ReadLine();
            Alkuvalikko();
        }