예제 #1
0
        public void DodajArtikl(string sifra, string naziv, string duziNaziv, string sastav, float cijena, int index)
        {
            Artikl art = new Artikl(sifra, naziv, duziNaziv, cijena, sastav, Artikl.GetOznaka(index));

            ArtikliPresenter.CheckUniqueSifra(art, sifra);
            this.Add(art);
            ArtikliPresenter.AddArtikl(art);
        }
예제 #2
0
 public ArtiklNode(Artikl a)
 {
     artikl    = a;
     sifra     = a.Sifra;
     naziv     = a.Naziv;
     duziNaziv = a.DuziNaziv;
     sastav    = a.Sastav;
     cijena    = a.Cijena.ToString("C");
     Oznaka    = a.Oznaka;
 }
예제 #3
0
        public static void UpdateArtikl(Artikl a)
        {
            SqliteCommand com = DB.con.CreateCommand();

            com.CommandText = String.Format(@"UPDATE Artikl SET sifra = '{0}', naziv = '{1}', duzi_naziv = '{2}', sastav  = '{3}',
											 cijena = '{4}', oznaka = '{5}' WHERE id = {6} "                                            ,
                                            a.Sifra, a.Naziv, a.DuziNaziv, a.Sastav, a.Cijena.ToString(customCulture), a.Oznaka, a.ID);
            com.ExecuteNonQuery();
            com.Dispose();
        }
예제 #4
0
        protected void SelectedNodeChanged(object sender, EventArgs e)
        {
            ArtiklNode a = (nodeviewArtikli.NodeSelection.SelectedNode as ArtiklNode);

            if (a != null)
            {
                entrySifra.Text        = a.Sifra;
                entryNaziv.Text        = a.Naziv;
                entryDuziNaziv.Text    = a.DuziNaziv;
                entrySastav.Text       = a.Sastav;
                spinbuttonCijena.Value = a.artikl.Cijena;
                comboboxOznaka.Active  = Artikl.OznakaGetIndex(a.Oznaka);
            }
        }
예제 #5
0
        public void UpdateArtikl(ArtiklNode art, string sifra, string naziv, string duziNaziv, string sastav, float cijena, int index)
        {
            ArtikliPresenter.CheckUniqueSifra(art.artikl, sifra);
            string oldSifra = art.Sifra;

            art.Sifra     = sifra;
            art.Naziv     = naziv;
            art.DuziNaziv = duziNaziv;
            art.Sastav    = sastav;
            art.Cijena    = cijena.ToString();
            art.Oznaka    = Artikl.GetOznaka(index);

            ArtikliPresenter.UpdateArtikl(oldSifra, art);
        }
예제 #6
0
        public static void SaveArtikl(ref Artikl a)
        {
            SqliteCommand com = DB.con.CreateCommand();

            com.CommandText = String.Format(@"INSERT INTO Artikl (sifra, naziv, duzi_naziv, sastav, cijena, oznaka)
											  VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}')"                                            , a.Sifra, a.Naziv,
                                            a.DuziNaziv, a.Sastav, a.Cijena.ToString(customCulture), a.Oznaka);
            com.ExecuteNonQuery();
            com.Dispose();

            SqliteCommand getId = DB.con.CreateCommand();

            getId.CommandText = "SELECT last_insert_rowid()";
            a.ID = (long)getId.ExecuteScalar();
            getId.Dispose();
        }
예제 #7
0
        public ArtiklButton(Artikl a)
        {
            this.Label = a.Sifra + " - " + a.Naziv;
            Sifra      = a.Sifra;
            switch (a.Oznaka)
            {
            case Artikl.OznakaArtikla.Hrana: this.Image = new Gtk.Image(HranaPixbuf); break;

            case Artikl.OznakaArtikla.Pice: this.Image = new Gtk.Image(PicePixbuf); break;

            case Artikl.OznakaArtikla.Desert: this.Image = new Gtk.Image(DesertPixbuf); break;

            case Artikl.OznakaArtikla.Ostalo: this.Image = new Gtk.Image(OstaloPixbuf); break;
            }
            this.BorderWidth  = 7;
            this.FocusOnClick = false;
        }
예제 #8
0
        public static void DeleteArtikl(Artikl a)
        {
            SqliteCommand com = DB.con.CreateCommand();

            System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(typeof(DBStavkeNarudzbe).TypeHandle);

            com.CommandText = String.Format(@"DELETE FROM Artikl WHERE id = {0}  
											         AND NOT EXISTS( SELECT 1 
																	    FROM Stavka_Narudzbe 
																		WHERE id_artikl = {0})"                                                                        , a.ID);
            int rowAffected = com.ExecuteNonQuery();

            com.Dispose();
            if (rowAffected == 0)
            {
                throw new ArgumentException("Artikl se koristi u stavkama te se ne može izbrisati.");
            }
        }
예제 #9
0
        public static List <Artikl> GetArtikleReadOnly(Artikl.OznakaArtikla oznaka)
        {
            List <Artikl> artikli = new List <Artikl>();
            SqliteCommand c       = DB.con.CreateCommand();

            c.CommandText = String.Format(@"SELECT * FROM Artikl WHERE oznaka = '{0}'", oznaka);

            SqliteDataReader reader = c.ExecuteReader();

            while (reader.Read())
            {
                Artikl a = new Artikl((long)reader["ID"], (string)reader["sifra"], (string)reader["naziv"],
                                      (string)reader["duzi_naziv"], (float)reader.GetDecimal(5), (string)reader["sastav"],
                                      Artikl.OznakaFromString((string)reader["oznaka"]));
                artikli.Add(a);
            }
            c.Dispose();
            return(artikli);
        }
예제 #10
0
        public static List <Artikl> GetArtikleReadOnly()
        {
            List <Artikl> artikli = new List <Artikl>();
            SqliteCommand c       = DB.con.CreateCommand();

            System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(typeof(DBStavkeNarudzbe).TypeHandle);

            c.CommandText = String.Format(@"SELECT * FROM Artikl a 
											ORDER BY (SELECT COUNT(*) FROM Stavka_Narudzbe WHERE id_artikl = a.id) DESC"                                            );

            SqliteDataReader reader = c.ExecuteReader();

            while (reader.Read())
            {
                Artikl a = new Artikl((long)reader["ID"], (string)reader["sifra"], (string)reader["naziv"],
                                      (string)reader["duzi_naziv"], (float)reader.GetDecimal(5), (string)reader["sastav"],
                                      Artikl.OznakaFromString((string)reader["oznaka"]));
                artikli.Add(a);
            }
            c.Dispose();
            return(artikli);
        }
예제 #11
0
 public StavkaNarudzbe(long id, Artikl a, int kolicina, StatusStavke status) : this(a, kolicina, status)
 {
     ID = id;
 }
예제 #12
0
 public StavkaNarudzbe(Artikl artikl, int kolicina, StatusStavke status)
 {
     ArtiklStavke = artikl;
     Kolicina     = kolicina;
     Status       = status;
 }
예제 #13
0
 public void Add(Artikl a)
 {
     this.AddNode(new ArtiklNode(a));
 }