예제 #1
0
        static void Izdavanje()
        {
            //TODO napraviti petlju tako da trazi sifru od korisnika dokle god ne naidje na validnu
            //TODO proveriti kolicinu na stanju pre prodaje, ne smemo da prodamo vise nego sto imamo :)
            //TODO srediti tako da ne ispisuje da nema sifre i kada treba i kada ne :)
            Racun r = new Racun();
            char  u = ' ';

            do
            {
                Console.Write("Unesite sifru: ");
                string sifra         = Console.ReadLine();
                bool   PrikaziGresku = true;
                foreach (Artikal a in Artikli)
                {
                    if (a.sifra == sifra)
                    {
                        //if (r.Art.Contains(a))
                        //{
                        //	Console.WriteLine("Sadrzi!");
                        //}

                        //Ovo je resenje za dve liste

                        /*int indeksDuplikata = -1;
                         *
                         *
                         * for (int indeks = 0; indeks < r.Art.Count; indeks++)
                         * {
                         *      if (r.Art[indeks] == a)
                         *      {
                         *              indeksDuplikata = indeks;
                         *              break;
                         *      }
                         * }
                         *
                         * if (indeksDuplikata == -1)
                         * {
                         *      r.Art.Add(a);
                         * }*/

                        int kolicina;
                        do
                        {
                            Console.Write($"Unesite kolicinu (na stanju: {a.kolicina}): ");
                            kolicina = int.Parse(Console.ReadLine());
                            if (kolicina <= a.kolicina && kolicina > 0)
                            {
                                break;
                            }
                            Console.WriteLine("Losa kolicina :/");
                        } while (true);

                        if (r.ArtikliKolicine.ContainsKey(a))
                        {
                            r.ArtikliKolicine[a] += kolicina;
                        }
                        else
                        {
                            r.ArtikliKolicine.Add(a, kolicina);
                        }

                        /* Ovo je za dve liste
                         * if (indeksDuplikata == -1)
                         * {
                         *      r.Kolicina.Add(kolicina);
                         * } else
                         * {
                         *      r.Kolicina[indeksDuplikata] += kolicina;
                         * }*/

                        a.kolicina -= kolicina;
                        //a.kolicina -= r.Kolicina[r.Kolicina.Count - 1];
                        Console.Write("Nastavite unos?(d/n): ");
                        u = Console.ReadKey().KeyChar;
                        Console.WriteLine();
                        PrikaziGresku = false;
                    }
                }
                if (PrikaziGresku)
                {
                    Console.WriteLine("Sifre nema :(");
                }
            } while (u != 'n');
            r.Rbr = (Racuni.Count + 1).ToString();
            Racuni.Add(r);
        }
예제 #2
0
        static void Main(string[] args)
        {
            /*uint k = 0;
             * Console.WriteLine(k);
             *
             * k--;
             *
             * Console.WriteLine(k);
             *
             * byte b = 255;
             * Console.WriteLine(b);
             * checked
             * {
             *      b++;
             * }
             * Console.WriteLine(b);
             * Console.ReadKey();
             *
             * int broj = 9;
             * decimal brojSaOstatkom = broj;
             * Console.WriteLine(broj / 2);
             * Console.WriteLine(brojSaOstatkom / 2);
             *
             * double aa = 9.999999;
             * int b = (int)aa;
             * Console.WriteLine(aa);
             * Console.WriteLine(b);*/


            if (File.Exists("artikli.txt"))
            {
                foreach (string art in File.ReadLines("artikli.txt"))
                {                  //  0    1    2   3 4
                    //007;Plazam;49;34;56

                    string[] polja = art.Split(';');
                    Artikli.Add(new Artikal(polja[0], polja[1], decimal.Parse(polja[2]), int.Parse(polja[3]),
                                            int.Parse(polja[4])));
                }
            }

            if (File.Exists("racuni.txt"))
            {
                foreach (string rac in File.ReadLines("racuni.txt"))
                {
                    string[] polja = rac.Split(';');
                    Racun    r     = new Racun();
                    r.Rbr = polja[0];
                    List <string> poljaKaoLista = polja.ToList();
                    poljaKaoLista.RemoveAt(0);

                    Artikal zaRacun = null;
                    for (int indeks = 0; indeks < poljaKaoLista.Count; indeks++)
                    {
                        if (indeks % 2 == 0)
                        {
                            foreach (Artikal a in Artikli)
                            {
                                if (a.sifra == poljaKaoLista[indeks])
                                {
                                    zaRacun = a;
                                    break;
                                }
                            }
                        }
                        else
                        {
                            r.ArtikliKolicine.Add(zaRacun, int.Parse(poljaKaoLista[indeks]));
                        }
                    }
                    Racuni.Add(r);
                }
            }


            string unos;

            do
            {
                Meni();
                unos = Console.ReadKey().KeyChar.ToString();
                Console.WriteLine();
                switch (unos)
                {
                case "1":
                    Unos();
                    break;

                case "2":
                    Ispis();
                    break;

                case "3":
                    Izmena();
                    break;

                case "4":
                    Brisanje();
                    break;

                case "5":
                    Izdavanje();
                    break;

                case "6":
                    PrikazRacuna();
                    break;

                case "7":
                    Console.WriteLine("Bye :)");
                    Snimanje();
                    break;
                }
            } while (unos != "7");

            Console.ReadKey();
        }