示例#1
0
 public static bool DodavanjeNaAkciju(Akcija a, ObservableCollection <Namestaj> dodat)
 {
     try
     {
         using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
         {
             conn.Open();
             for (int i = 0; i < dodat.Count; i++)
             {
                 SqlCommand cm = new SqlCommand(@" INSERT INTO NaAkciji(NamestajId,AkcijaId) VALUES (@namestajId,@akcijaId)", conn);
                 cm.Parameters.Add(new SqlParameter("@namestajId", dodat[i].Id));
                 cm.Parameters.Add(new SqlParameter("@akcijaId", a.Id));
                 cm.ExecuteNonQuery();
             }
             foreach (var namestaj in dodat)
             {
                 namestaj.AkcijskaCena = namestaj.Cena - ((namestaj.Cena * a.Popust) / 100);
                 NamestajDAO.IzmenaNamestaja(namestaj);
                 foreach (var n in Projekat.Instance.Namestaj)
                 {
                     if (n.Id == namestaj.Id)
                     {
                         n.AkcijskaCena = n.Cena - ((n.Cena * a.Popust) / 100);
                     }
                 }
             }
             return(true);
         }
     }
     catch { MessageBox.Show("Upis u bazu nije uspeo.\nMolimo da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning);
             return(false); }
 }
示例#2
0
 public static bool BrisanjeSaAkcije(Akcija a, ObservableCollection <Namestaj> obrisan)
 {
     try
     {
         using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
         {
             conn.Open();
             for (int i = 0; i < obrisan.Count; i++)
             {
                 SqlCommand cm = new SqlCommand(@" DELETE FROM NaAkciji WHERE NamestajId=@namestajId AND AkcijaId=@akcijaId", conn);
                 cm.Parameters.Add(new SqlParameter("@namestajId", obrisan[i].Id));
                 cm.Parameters.Add(new SqlParameter("@akcijaId", a.Id));
                 cm.ExecuteNonQuery();
             }
             foreach (var namestaj in obrisan)
             {
                 namestaj.AkcijskaCena = 0;
                 NamestajDAO.IzmenaNamestaja(namestaj);
                 foreach (var n in Projekat.Instance.Namestaj)
                 {
                     if (n.Id == namestaj.Id)
                     {
                         n.AkcijskaCena = 0;
                     }
                 }
             }
             return(true);
         }
     }
     catch { MessageBox.Show("Upis u bazu nije uspeo.\nMolimo da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); }
 }
示例#3
0
        public static bool DodajStavku(ProdajaNamestaja p, ObservableCollection <StavkaProdaje> stavke)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
                {
                    conn.Open();
                    for (int i = 0; i < stavke.Count; i++)
                    {
                        SqlCommand cm = new SqlCommand(@" INSERT INTO Stavka(Kolicina,Cena,NamestajId,ProdajaId) VALUES (@kolicina,@cena,@namestajId,@prodajaId)", conn);
                        cm.Parameters.Add(new SqlParameter("@namestajId", stavke[i].NamestajProdaja.Id));
                        cm.Parameters.Add(new SqlParameter("@kolicina", stavke[i].Kolicina));
                        cm.Parameters.Add(new SqlParameter("@cena", stavke[i].Cena));
                        cm.Parameters.Add(new SqlParameter("@prodajaId", p.Id));
                        cm.ExecuteNonQuery();


                        foreach (var namestaj in Projekat.Instance.Namestaj)
                        {
                            if (namestaj.Id == stavke[i].NamestajProdaja.Id)
                            {
                                namestaj.Kolicina = namestaj.Kolicina - stavke[i].Kolicina;
                                NamestajDAO.IzmenaNamestaja(namestaj);
                            }
                        }
                    }
                    return(true);
                }
            }
            catch { MessageBox.Show("Upis u bazu nije uspeo.\nMolimo da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); }
        }
示例#4
0
        public static bool ObrisiStavku(ProdajaNamestaja p, ObservableCollection <StavkaProdaje> stavke)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
                {
                    conn.Open();
                    for (int i = 0; i < stavke.Count; i++)
                    {
                        SqlCommand cm = new SqlCommand(@" DELETE FROM  Stavka WHERE Id=@id AND ProdajaId=@prodajaId", conn);
                        cm.Parameters.Add(new SqlParameter("@id", stavke[i].Id));
                        cm.Parameters.Add(new SqlParameter("@prodajaId", p.Id));
                        cm.ExecuteNonQuery();


                        stavke[i].NamestajProdaja.Kolicina += stavke[i].Kolicina;
                        foreach (var namestaj in Projekat.Instance.Namestaj)
                        {
                            if (namestaj.Id == stavke[i].NamestajProdaja.Id)
                            {
                                namestaj.Kolicina = stavke[i].NamestajProdaja.Kolicina;
                            }
                        }
                        NamestajDAO.IzmenaNamestaja(stavke[i].NamestajProdaja);
                    }
                    return(true);
                }
            }
            catch { MessageBox.Show("Upis u bazu nije uspeo.\nMolimo da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); }
        }
 public static bool BrisanjeTipa(TipNamestaja t)
 {
     t.Obrisan = true;
     foreach (var n in Projekat.Instance.Namestaj)
     {
         if (n.TipNamestaja.Id == t.Id)
         {
             n.Obrisan = true;
             NamestajDAO.BrisanjeNamestaja(n);
         }
     }
     return(IzmenaTipa(t));
 }
示例#6
0
        public static ProdajaNamestaja DodajProdaju(ProdajaNamestaja p)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
                {
                    conn.Open();

                    SqlCommand cmd = new SqlCommand(@"INSERT INTO Prodaja(Kupac,Broj_Racuna,Datum_Prodaje,Ukupan_Iznos,Obrisan) VALUES(@kupac,@brojR,@datumProdaje,@ukupanIznos,@obrisan) ", conn);
                    cmd.CommandText += "SELECT SCOPE_IDENTITY();";
                    cmd.Parameters.Add(new SqlParameter("@kupac", p.Kupac));
                    cmd.Parameters.Add(new SqlParameter("@brojR", p.BrojRacuna));
                    cmd.Parameters.Add(new SqlParameter("@datumProdaje", p.DatumProdaje));
                    cmd.Parameters.Add(new SqlParameter("@ukupanIznos", p.UkupanIznos));
                    cmd.Parameters.Add(new SqlParameter("@obrisan", '0'));
                    int newId = int.Parse(cmd.ExecuteScalar().ToString());
                    p.Id = newId;

                    for (int i = 0; i < p.StavkeProdaje.Count; i++)
                    {
                        SqlCommand cm = new SqlCommand(@"INSERT INTO Stavka(Kolicina,Cena,NamestajId,ProdajaId) VALUES(@kolicina,@cena,@namestajId,@prodajaId) ", conn);
                        cm.Parameters.Add(new SqlParameter("@kolicina", p.StavkeProdaje[i].Kolicina));
                        cm.Parameters.Add(new SqlParameter("@cena", p.StavkeProdaje[i].Cena));
                        cm.Parameters.Add(new SqlParameter("@namestajId", p.StavkeProdaje[i].NamestajProdaja.Id));
                        cm.Parameters.Add(new SqlParameter("@prodajaId", p.Id));
                        cm.ExecuteNonQuery();
                        p.StavkeProdaje[i].NamestajProdaja.Kolicina = p.StavkeProdaje[i].NamestajProdaja.Kolicina - p.StavkeProdaje[i].Kolicina;
                        NamestajDAO.IzmenaNamestaja(p.StavkeProdaje[i].NamestajProdaja);
                        foreach (var namestaj in Projekat.Instance.Namestaj)
                        {
                            if (namestaj.Id == p.StavkeProdaje[i].NamestajProdaja.Id)
                            {
                                namestaj.Kolicina = p.StavkeProdaje[i].NamestajProdaja.Kolicina;
                            }
                        }
                    }

                    for (int i = 0; i < p.DodatneUsluge.Count; i++)
                    {
                        SqlCommand cm = new SqlCommand(@"INSERT INTO ProdateUsluge(UslugeId,ProdajaId) VALUES(@usluge,@prodajaId) ", conn);
                        cm.Parameters.Add(new SqlParameter("@usluge", p.DodatneUsluge[i].Id));
                        cm.Parameters.Add(new SqlParameter("@prodajaId", p.Id));
                        cm.ExecuteNonQuery();
                    }
                }
                Projekat.Instance.Prodaja.Add(p);
                return(p);
            }
            catch { MessageBox.Show("Upis u bazu nije uspeo.\nMolimo da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning); return(null); }
        }
示例#7
0
        public static Akcija DodavanjeAkcije(Akcija a)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
                {
                    conn.Open();

                    {
                        SqlCommand cmd = new SqlCommand(@"INSERT INTO Akcija(Datum_Pocetka,Datum_Kraja,Popust,Obrisan) VALUES(@datP,@datK,@popust,@obrisan) ", conn);
                        cmd.CommandText += "SELECT SCOPE_IDENTITY();";
                        cmd.Parameters.Add(new SqlParameter("@datP", a.PocetakAkcije));
                        cmd.Parameters.Add(new SqlParameter("@datK", a.KrajAkcije));
                        cmd.Parameters.Add(new SqlParameter("@popust", a.Popust));
                        cmd.Parameters.Add(new SqlParameter("@obrisan", '0'));
                        int newId = int.Parse(cmd.ExecuteScalar().ToString());
                        a.Id = newId;
                        for (int i = 0; i < a.NamestajPopust.Count; i++)
                        {
                            SqlCommand cm = new SqlCommand(@"INSERT INTO NaAkciji(NamestajId,AkcijaId) VALUES(@namestajId,@akcijaId) ", conn);
                            cm.Parameters.Add(new SqlParameter("@namestajId", a.NamestajPopust[i].Id));
                            cm.Parameters.Add(new SqlParameter("@akcijaId", a.Id));
                            cm.ExecuteNonQuery();

                            foreach (var namestaj in Projekat.Instance.Namestaj)
                            {
                                if (namestaj.Id == a.NamestajPopust[i].Id)
                                {
                                    namestaj.AkcijskaCena = namestaj.Cena - ((namestaj.Cena * a.Popust) / 100);
                                    NamestajDAO.IzmenaNamestaja(namestaj);
                                }
                            }
                        }
                    }
                }
                Projekat.Instance.Akcije.Add(a);
                return(a);
            }
            catch (Exception)
            {
                MessageBox.Show("Upis u bazu nije uspeo,molimo da pokusate ponovo", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning);
                return(null);
            }
        }
示例#8
0
        public static bool IzmenaAkcije(Akcija a)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand(@" UPDATE Akcija SET Datum_Pocetka=@datP,Datum_Kraja=@datK,Popust=@popust,Obrisan=@obrisan WHERE Id=@id", conn);
                    cmd.Parameters.Add(new SqlParameter("@datp", a.PocetakAkcije));
                    cmd.Parameters.Add(new SqlParameter("@datK", a.KrajAkcije));
                    cmd.Parameters.Add(new SqlParameter("@popust", a.Popust));
                    cmd.Parameters.Add(new SqlParameter("@id", a.Id));
                    cmd.Parameters.Add(new SqlParameter("@obrisan", a.Obrisan));
                    cmd.ExecuteNonQuery();

                    foreach (var item in Projekat.Instance.Akcije)
                    {
                        if (item.Id == a.Id)
                        {
                            item.Id             = a.Id;
                            item.PocetakAkcije  = a.PocetakAkcije;
                            item.KrajAkcije     = a.KrajAkcije;
                            item.Popust         = a.Popust;
                            item.NamestajPopust = a.NamestajPopust;
                            item.Obrisan        = a.Obrisan;
                        }
                    }
                    for (int i = 0; i < a.NamestajPopust.Count; i++)
                    {
                        foreach (var namestaj in Projekat.Instance.Namestaj)
                        {
                            if (namestaj.Id == a.NamestajPopust[i].Id)
                            {
                                namestaj.AkcijskaCena = namestaj.Cena - ((namestaj.Cena * a.Popust) / 100);
                                NamestajDAO.IzmenaNamestaja(namestaj);
                            }
                        }
                    }
                    return(true);
                }
            }
            catch (Exception) { MessageBox.Show("Upis u bazu nije uspeo.\nMolimo da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning); return(false); }
        }
示例#9
0
        public static bool BrisanjeAkcije(Akcija a)
        {
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
            {
                a.Obrisan = true;
                if (a.NamestajPopust.Count > 0)
                {
                    for (int i = 0; i < a.NamestajPopust.Count; i++)
                    {
                        a.NamestajPopust[i].AkcijskaCena = 0;
                        NamestajDAO.IzmenaNamestaja(a.NamestajPopust[i]);
                        foreach (var n in Projekat.Instance.Namestaj)
                        {
                            if (n.Id == a.NamestajPopust[i].Id)
                            {
                                n.AkcijskaCena = 0;
                            }
                        }
                    }
                }

                return(IzmenaAkcije(a));
            }
        }