예제 #1
0
파일: Stavka.cs 프로젝트: TijanTRados/POS
        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;
            }
        }
예제 #2
0
파일: Artikl.cs 프로젝트: TijanTRados/POS
        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;
        }
예제 #3
0
        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;
                }
            }
        }
예제 #4
0
파일: Racun.cs 프로젝트: TijanTRados/POS
        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();
        }
예제 #5
0
        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();
        }