public void stavka(string korisnik, int broj) { Ucitavanje u = new Ucitavanje(); u.ucitajartikle(); bool neuspjesno = true; while (neuspjesno) { Console.Clear(); Console.WriteLine("{0,7}{1,15}{2,11}{3,9}{4,6}", "Šifra", "Naziv", "Cijena", "Normativ", "PDV"); Console.WriteLine("__________________________________________________\n"); foreach (Artikl artikal in u.artikli) { Console.WriteLine("{0,7}{1,15}{2,9}kn{3,9}{4,5}%", artikal.sifra, artikal.naziv, artikal.cijena, artikal.normativ, artikal.stopaPDV * 100); } Console.Write("\nUnesi šifru artikla: "); this.broj = broj; string h = Console.ReadLine(); if (h == "") { continue; } this.sifra = Int32.Parse(h); foreach (Artikl artikal in u.artikli) { if (artikal.sifra == this.sifra) { this.naziv = artikal.naziv; this.cijena = artikal.cijena; this.pdv = artikal.stopaPDV; neuspjesno = false; break; } } } while (!neuspjesno) { Console.Write("Unesi količinu: "); string g = Console.ReadLine(); g.Replace(",", "."); if (g == "") { continue; } this.kolicina = float.Parse(g, CultureInfo.InvariantCulture.NumberFormat); this.iznos = this.cijena * this.kolicina; this.pdvizracun = this.iznos * this.pdv; neuspjesno = true; } }
public void dodajartikl(string korisnik) { Ucitavanje u = new Ucitavanje(); u.ucitajartikle(); Artikl novi = new POS.Artikl(); int sifra = u.artikli[u.artikli.Count - 1].sifra + 1; string upis = sifra.ToString() + " "; Console.Clear(); Console.WriteLine("*************************************************************************"); Console.WriteLine("|\t*Bagajna POS*\t\t\t\t\t\t\t|\n|\tDatum: {0}\t\t\t\t\t\t|\n|\tVrijeme: {1}\t\t\t\t\t\t\t|", DateTime.Now.ToString("dd.MM.yyyy"), DateTime.Now.ToString("HH:mm")); Console.WriteLine("|\t\t\t\t\t\t\t\t\t|"); Console.WriteLine("|\tDobrodošao, {0}!\t\t\t\t\t\t|", korisnik); Console.WriteLine("|\tpritisni ENTER za povratak\t\t\t\t\t|"); Console.WriteLine("|\t\t\t\t\t\t\t\t\t|"); Console.WriteLine("|_______________________________________________________________________|\n"); Console.WriteLine("\tKreiranje novog artikla: \n"); Console.Write("\t\tUnesi naziv: "); string x = Console.ReadLine(); if (x == "") { return; } upis = upis + x + " "; Console.Write("\t\tUnesi cijenu (do dvije decimale, bez valute): "); x = Console.ReadLine(); if (x == "") { return; } x = x.Replace(",", "."); x = x.Replace("kn", ""); x = x.Replace("Kn", ""); x = x.Replace("KN", ""); try { float.Parse(x); } catch { Console.WriteLine("\tFormat nije valjan."); Thread.Sleep(1500); return; } upis = upis + x + " "; Console.Write("\t\tUnesi normativ (biraj: kg/kom): "); x = Console.ReadLine(); if (x == "") { return; } upis = upis + x + " "; Console.Write("\t\tUnesi stopu PDV-a (kao decimalni broj, npr. 0.25): "); x = Console.ReadLine(); if (x == "") { return; } x = x.Replace(",", "."); try { float.Parse(x); } catch { Console.WriteLine("\tFormat nije valjan."); Thread.Sleep(1500); return; } upis = upis + x; Console.Clear(); Console.WriteLine("Oprez: "); Console.WriteLine("{0,7}{1,15}{2,11}{3,9}{4,6}", "Šifra", "Naziv", "Cijena", "Normativ", "PDV"); Console.WriteLine("{0,7}{1,15}{2,11}{3,9}{4,6} - Dopušten format", "xxxxx", "Max15znakova", "0.00", "kom/kg", "0.25"); string[] xx = upis.Split(' '); Console.WriteLine("{0,7}{1,15}{2,11}{3,9}{4,6} - Vaš unos", xx[0], xx[1], xx[2], xx[3], xx[4]); Console.WriteLine("\nU bazu podataka namjeravate unijeti ovakav zapis - jeste li sigurni? D/N"); string s = Console.ReadLine(); if (s == "D" || s == "d") { Console.Write("\nPotrebna admin lozinka: "); string admin = Console.ReadLine(); if (admin != "admin") { Console.Write("Poništeno."); Thread.Sleep(1000); return; } using (System.IO.StreamWriter file = new System.IO.StreamWriter("artikli.txt", true)) { file.WriteLine(upis); } Console.WriteLine("Uspješno dodano."); Thread.Sleep(1000); return; } if (s == "N" || s == "n") { Console.WriteLine("Poništeno."); Thread.Sleep(1000); return; } Console.WriteLine("Poništeno."); Thread.Sleep(1000); return; }
public void Kreiranje(string korisnik) { Racun racun = new Racun(); Izbornik i = new Izbornik(); bool vrti = true; int izbor; int broj = 0; while (vrti) { float zbroj = 0; float pdv = 0; Console.Clear(); Console.WriteLine("*************************************************************************"); Console.WriteLine("|\t*Bagajna POS*\t\t\t\t\t\t\t|\n|\tDatum: {0}\t\t\t\t\t\t|\n|\tVrijeme: {1}\t\t\t\t\t\t\t|", DateTime.Now.ToString("dd.MM.yyyy"), DateTime.Now.ToString("HH:mm")); Console.WriteLine("|\t\t\t\t\t\t\t\t\t|"); Console.WriteLine("|\tDobrodošao, {0}!\t\t\t\t\t\t|", korisnik); Console.WriteLine("|\t*Connected with POS\t\t\t\t\t\t|"); Console.WriteLine("|\t\t\t\t\t\t\t\t\t|"); Console.WriteLine("|_______________________________________________________________________|\n"); Console.WriteLine("\t{0,3}{1,7}{2,15}{3,10}{4,10}", "#", "Šifra", "Naziv", "Količina", "Iznos"); if (racun.stavke != null) { foreach (Stavka s in racun.stavke) { Console.WriteLine("\t{0,3}{1,7}{2,15}{3,10}{4,8}kn", s.broj, s.sifra, s.naziv, s.kolicina, s.iznos.ToString("0.00")); zbroj = zbroj + s.iznos; pdv = pdv + s.pdvizracun; } } Console.WriteLine("\t_______________________________________________"); Console.WriteLine("\t{0,35}{1,8}kn", "Ukupno:", zbroj.ToString("0.00")); i.opcije(korisnik); string x = Console.ReadLine(); if (x == "") { continue; } izbor = Int32.Parse(x); switch (izbor) { case 0: return; case 1: broj++; Stavka s = new Stavka(); s.stavka(korisnik, broj); racun.stavke.Add(s); racun.brojstavki = broj; break; case 2: if (racun.stavke == null) { Console.WriteLine("Ne postoji još ni jedna stavka na računu."); Thread.Sleep(1000); break; } Console.Clear(); Console.WriteLine("*************************************************************************"); Console.WriteLine("|\t*Bagajna POS*\t\t\t\t\t\t\t|\n|\tDatum: {0}\t\t\t\t\t\t|\n|\tVrijeme: {1}\t\t\t\t\t\t\t|", DateTime.Now.ToString("dd.MM.yyyy"), DateTime.Now.ToString("HH:mm")); Console.WriteLine("|\t\t\t\t\t\t\t\t\t|"); Console.WriteLine("|\tDobrodošao, {0}!\t\t\t\t\t\t|", korisnik); Console.WriteLine("|\t*Connected with POS\t\t\t\t\t\t|"); Console.WriteLine("|\t\t\t\t\t\t\t\t\t|"); Console.WriteLine("|_______________________________________________________________________|\n"); Console.WriteLine("\t{0,3}{1,7}{2,15}{3,10}{4,10}", "#", "Šifra", "Naziv", "Količina", "Iznos"); if (racun.stavke != null) { foreach (Stavka z in racun.stavke) { Console.WriteLine("\t{0,3}{1,7}{2,15}{3,10}{4,8}kn", z.broj, z.sifra, z.naziv, z.kolicina, z.iznos.ToString("0.00")); } } Console.WriteLine("\t_______________________________________________"); Console.WriteLine("\t{0,35}{1,8}kn\n", "Ukupno:", zbroj.ToString("0.00")); if (korisnik == "blagajnik") { Console.Write("\n\tPotrebna admin lozinka: "); string admin = Console.ReadLine(); if (admin != "admin") { Console.Write("Netočna."); Thread.Sleep(1000); continue; } } Console.Write("\n\tKoju stavku želite obrisati?: "); string t = Console.ReadLine(); if (t == "") { continue; } int id = Int32.Parse(t); racun.izbrisistavku(id); broj--; break; case 3: if (broj == 0) { Console.WriteLine("\n\tNemoguće proknjižiti prazan račun."); Thread.Sleep(1000); } else { Ucitavanje u = new Ucitavanje(); u.ucitajracune(); int brojrac = u.racuni[u.racuni.Count - 1].brojRacuna + 1; racun.brojRacuna = brojrac; racun.brojstavki = broj; racun.datumvrijeme = DateTime.Now; racun.ukupno = zbroj; racun.PDV = pdv; string upis = racun.brojRacuna.ToString() + " " + racun.datumvrijeme.ToString("dd.MM.yyy HH:mm") + " " + racun.brojstavki.ToString() + " "; foreach (Stavka q in racun.stavke) { upis = upis + q.broj.ToString() + " " + q.sifra.ToString() + " " + q.naziv + " " + q.kolicina.ToString() + " " + q.cijena.ToString(" ") + " " + q.cijena.ToString() + " " + q.iznos.ToString() + " " + q.pdv.ToString() + " " + q.pdvizracun.ToString() + " "; } upis = upis + racun.ukupno.ToString() + " " + racun.PDV; upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); using (System.IO.StreamWriter file = new System.IO.StreamWriter("racuni.txt", true)) { file.WriteLine(upis); } printer printer = new printer(racun); vrti = false; } break; default: break; } } }
public void storniraj() { Ucitavanje u = new Ucitavanje(); u.ucitajracune(); Console.WriteLine("\t{0,12}{1,12}{2,10}{3,14}{4,8}", "broj računa", "datum", "Vrijeme", "Broj artikala", "Iznos"); foreach (Racun r in u.racuni) { Console.WriteLine("\t{0,12}{1,12}{2,10}{3,14}{4,8}", r.brojRacuna, r.datumvrijeme.ToString("dd.MM.yyyy"), r.datumvrijeme.ToString("HH:mm"), r.brojstavki, r.ukupno.ToString("0.00")); } Console.WriteLine("\t_________________________________________________________\n"); Console.Write("\tUnesi broj računa koji želiš stornirati: "); string storno = Console.ReadLine(); if (storno == "") { return; } bool ima = false; foreach (Racun r in u.racuni) { if (r.brojRacuna == Int32.Parse(storno)) { ima = true; } } List <Racun> racuni = new List <Racun>(); racuni = u.racuni.Where(racun => racun.brojRacuna != Int32.Parse(storno)).ToList(); List <string> novizapisi = new List <string>(); foreach (Racun racun in racuni) { string upis = racun.brojRacuna.ToString() + " " + racun.datumvrijeme.ToString("dd.MM.yyy HH:mm") + " " + racun.brojstavki.ToString() + " "; foreach (Stavka q in racun.stavke) { upis = upis + q.broj.ToString() + " " + q.sifra.ToString() + " " + q.naziv + " " + q.kolicina.ToString() + " " + q.cijena.ToString(" ") + " " + q.cijena.ToString() + " " + q.iznos.ToString() + " " + q.pdv.ToString() + " " + q.pdvizracun.ToString() + " "; } upis = upis + racun.ukupno.ToString() + " " + racun.PDV; upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); upis = upis.Replace(" ", " "); novizapisi.Add(upis); } System.IO.File.WriteAllLines("racuni.txt", novizapisi); if (ima) { Console.WriteLine("\tRačun broj {0} storniran.", storno); } else { Console.WriteLine("\tRačun broj {0} ne postoji.", storno); } Console.Read(); }
public void izvjescec() { float suma = 0; int rang = 1; Ucitavanje u = new Ucitavanje(); u.ucitajracune(); Dictionary <int, izvjesce> rezultati = new Dictionary <int, izvjesce>(); foreach (Racun r in u.racuni) { foreach (Stavka s in r.stavke) { suma += s.iznos; if (!rezultati.ContainsKey(s.sifra)) { izvjesce i = new izvjesce(); i.broj += s.kolicina; i.iznos += s.iznos; i.naziv = s.naziv; rezultati.Add(s.sifra, i); } else { rezultati[s.sifra].broj++; rezultati[s.sifra].iznos += s.iznos; } } } u.ucitajartikle(); Console.Clear(); Console.WriteLine("\n\tPOS.d.o.o\n"); Console.WriteLine("\t\t\tPRODAJA PO ARTIKLU\n"); Console.WriteLine("\tDatum: {0}", DateTime.Now.ToString("dd.MM.yyyy")); Console.WriteLine("\tBlagajnik: Ingrid M.\n"); Console.WriteLine("\tSortirano po vrijednosti:"); Console.WriteLine("\t___________________________________________________\n"); Console.WriteLine("\t{0,4}{1,7}{2,15}{3,15}{4,8}", "Rang", "Sifra", "Naziv", "Broj prodanih", "Iznos"); int n = rezultati.Count; for (int g = 0; g < n; g++) { float max = 0; int maxkey = 0; foreach (KeyValuePair <int, izvjesce> i in rezultati) { if (i.Value.iznos > max) { max = i.Value.iznos; maxkey = i.Key; } } if (maxkey == 0) { Console.WriteLine("\tJoš uvijek nema zapisa."); Console.Read(); return; } Console.WriteLine("\t{0,3}.{1,7}{2,15}{3,15}{4,8}kn", rang++, maxkey, rezultati[maxkey].naziv, rezultati[maxkey].broj, rezultati[maxkey].iznos.ToString("0.00")); rezultati.Remove(maxkey); } Console.WriteLine("\t___________________________________________________\n"); Console.WriteLine("\t{0,47}kn", "Ukupan iznos maloprodaje: " + suma.ToString("0.00")); Console.Read(); }