Beispiel #1
0
        private void PopuniVoce()
        {
            List <Voce> voceLista        = new List <Voce>();
            string      connectionString = Pomocna.ConStr;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                using (SqlCommand command = connection.CreateCommand())
                {
                    command.CommandText = $"SELECT ID, naziv, cena_i_klase, cena_ii_klase, cena_iii_klase FROM voce WHERE otkupno_mesto_ID = {Id}";
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            int     id           = (int)reader.GetValue(0);
                            string  naziv        = (string)reader.GetValue(1);
                            decimal cenaIKlase   = (decimal)reader.GetValue(2);
                            decimal cenaIIKlase  = (decimal)reader.GetValue(3);
                            decimal cenaIIIKlase = (decimal)reader.GetValue(4);
                            Voce    voce         = new Voce(naziv, this, cenaIKlase, cenaIIKlase, cenaIIIKlase)
                            {
                                Id = id
                            };
                            voceLista.Add(voce);
                        }
                    }
                }
            }
            VoceLista = voceLista;
        }
Beispiel #2
0
        public static void Populate()
        {
            List <Otkup> otkupLista       = new List <Otkup>();
            string       connectionString = Pomocna.ConStr;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                using (SqlCommand command = connection.CreateCommand())
                {
                    command.CommandText = $"SELECT jedinstveni_broj_dokumenta, kolicina_i_klase, kolicina_ii_klase, kolicina_iii_klase, ambalaze_uzeto, ambalaze_vraceno, ID, otkupno_mesto_ID FROM otkup INNER JOIN voce ON voce_ID = voce.ID";
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            int     jedinstveniBrojDokumenta = (int)reader.GetValue(0);
                            decimal kolicinaIKlase           = (decimal)reader.GetValue(1);
                            decimal kolicinaIIKlase          = (decimal)reader.GetValue(2);
                            decimal kolicinaIIIKlase         = (decimal)reader.GetValue(3);
                            double  ambalazeUzeto            = (double)reader.GetValue(4);
                            double  ambalazeVraceno          = (double)reader.GetValue(5);
                            int     voceId         = (int)reader.GetValue(6);
                            int     otkupnoMestoId = (int)reader.GetValue(7);
                            Voce    voce           = OtkupnoMesto.OtkupnaMesta.Find(o => o.Id == otkupnoMestoId).VoceLista.Find(v => v.Id == voceId);
                            Otkup   otkup          = new Otkup(jedinstveniBrojDokumenta, voce, kolicinaIKlase, kolicinaIIKlase, kolicinaIIIKlase, ambalazeUzeto, ambalazeVraceno);
                            otkupLista.Add(otkup);
                        }
                    }
                }
            }
            OtkupLista = otkupLista;
        }
Beispiel #3
0
        public static Otkup VrsiOtkup(Proizvodjac proizvodjac, Voce voce, decimal kolicinaIKlase, decimal kolicinaIIKlase, decimal kolicinaIIIKlase, int jedinstveniBrojDokumenta, double ambalazeUzeto, double ambalazeVraceno)
        {
            Otkup duplikat = OtkupLista.Find(o => o.JedinstveniBrojDokumenta == jedinstveniBrojDokumenta);

            if (!(duplikat is null))
            {
                throw new KorisnickiException("Takav broj dokumenta vec postoji");
            }
            if (!voce.OtkupnoMesto.Proizvodjaci.Contains(proizvodjac))
            {
                throw new KorisnickiException("Izabrani proizvodjac ne pripada odgovarajucem otkupnom mestu.");
            }
            decimal cena = 0;

            cena += kolicinaIKlase * voce.CenaIKlase;
            cena += kolicinaIIKlase * voce.CenaIIKlase;
            cena += kolicinaIIIKlase * voce.CenaIIIKlase;
            Otkup otkup = new Otkup(jedinstveniBrojDokumenta, voce, kolicinaIKlase, kolicinaIIKlase, kolicinaIIIKlase, ambalazeUzeto, ambalazeVraceno);

            proizvodjac.AmbalazeZaduzeno -= ambalazeVraceno;
            proizvodjac.UnosZaduzenjaAmbalaze(ambalazeUzeto);
            proizvodjac.Saldo -= cena;
            proizvodjac.AzurirajSaldo();
            otkup.Insert();
            OtkupLista.Add(otkup);
            Pomocna.Loguj($"Otkup br. {jedinstveniBrojDokumenta}.");
            return(otkup);
        }
Beispiel #4
0
 public Otkup(int jedinstveniBroj, Voce voce, decimal kolicinaIKlase, decimal kolicinaIIKlase, decimal kolicinaIIIKlase, double ambalazeUzeto, double ambalazeVraceno)
 {
     JedinstveniBrojDokumenta = jedinstveniBroj;
     Voce             = voce;
     KolicinaIKlase   = kolicinaIKlase;
     KolicinaIIKlase  = kolicinaIIKlase;
     KolicinaIIIKlase = kolicinaIIIKlase;
     AmbalazeUzeto    = ambalazeUzeto;
     AmbalazeVraceno  = ambalazeVraceno;
 }
Beispiel #5
0
        //-----------------------------------------------------------------------------------------
        static Voce CitajVoce(OtkupnoMesto otkupnoMesto)
        {
            WriteLine("Izaberi voce.");
            for (int i = 0; i < otkupnoMesto.VoceLista.Count; i++)
            {
                WriteLine($"{i + 1}) {otkupnoMesto.VoceLista[i].Naziv}");
            }
            CitajBroj(out int izbor);
            if (izbor < 0 || izbor > otkupnoMesto.VoceLista.Count)
            {
                throw new KorisnickiException("Neispravan unos.");
            }
            Voce voce = otkupnoMesto.VoceLista[izbor - 1];

            return(voce);
        }
Beispiel #6
0
        public void UnosVoca(string naziv, decimal cenaIKlase, decimal cenaIIKlase, decimal cenaIIIKlase)
        {
            Voce postojece = VoceLista.Find(v => v.Naziv == naziv);

            if (postojece is null)
            {
                Voce voce = new Voce(naziv, this, cenaIKlase, cenaIIKlase, cenaIIIKlase);
                voce.Insert();
                VoceLista.Add(voce);
            }
            else
            {
                postojece.CenaIKlase   = cenaIKlase;
                postojece.CenaIIKlase  = cenaIIKlase;
                postojece.CenaIIIKlase = cenaIIIKlase;
                postojece.Update();
            }
            Pomocna.Loguj($"Unos voca: {naziv} za {Ime}.");
        }
Beispiel #7
0
        //-----------------------------------------------------------------------------------------
        static void UnosOtkupa()
        {
            OtkupnoMesto otkupnoMesto = CitajOtkupnoMesto();
            Proizvodjac  proizvodjac  = CitajProizvodjaca(otkupnoMesto);
            Voce         voce         = CitajVoce(otkupnoMesto);

            WriteLine("Unesi kolicinu I klase.");
            CitajBroj(out decimal kolicinaI);
            WriteLine("Unesi kolicinu II klase.");
            CitajBroj(out decimal kolicinaII);
            WriteLine("Unesi kolicinu III klase.");
            CitajBroj(out decimal kolicinaIII);
            WriteLine("Unesi koliko ambalaze se zaduzuje.");
            CitajBroj(out double ambZaduzeno);
            WriteLine("Unesi koliko ambalaze je vraceno.");
            CitajBroj(out double ambVraceno);
            WriteLine("Unesi jedinstveni broj dokumenta.");
            CitajBroj(out int jedinstvBrDok);
            Otkup.VrsiOtkup(proizvodjac, voce, kolicinaI, kolicinaII, kolicinaIII, jedinstvBrDok, ambZaduzeno, ambVraceno);
        }