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); }
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(); }