예제 #1
0
        public static ObservableCollection <Akcija> UcitajSveAkcije()
        {
            var akcije = new ObservableCollection <Akcija>();

            //using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["POP_SF6"].ConnectionString))

            using (SqlConnection con = new SqlConnection(Projekat.CONNECTION_STRING))
            {
                SqlCommand cmd = con.CreateCommand();
                cmd.CommandText = "SELECT * FROM AKCIJA WHERE OBRISAN = 0";

                DataSet        ds = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter();

                da.SelectCommand = cmd;
                da.Fill(ds, "Akcija");  //izvrsava se query nad bazom

                foreach (DataRow row in ds.Tables["Akcija"].Rows)
                {
                    var akcija = new Akcija();
                    akcija.Id             = int.Parse(row["ID"].ToString());
                    akcija.Naziv          = row["NAZIV"].ToString();
                    akcija.DatumPocetka   = DateTime.Parse(row["DATUM_OD"].ToString());
                    akcija.DatumZavrsetka = DateTime.Parse(row["DATUM_DO"].ToString());
                    akcija.Popust         = int.Parse(row["POPUST"].ToString());
                    akcija.Obrisan        = bool.Parse(row["OBRISAN"].ToString());

                    akcije.Add(akcija);
                }
            }
            return(akcije);
        }
예제 #2
0
        public static void Izmeni(Akcija akcija)
        {
            using (SqlConnection con = new SqlConnection(Projekat.CONNECTION_STRING))
            {
                con.Open();

                SqlCommand cmd = con.CreateCommand();
                cmd.CommandText = "UPDATE AKCIJA SET NAZIV=@NAZIV, DATUM_OD=@DATUM_OD, DATUM_DO=@DATUM_DO, " +
                                  "POPUST=@POPUST, OBRISAN=@OBRISAN WHERE ID=@ID";
                cmd.Parameters.AddWithValue("ID", akcija.Id);
                cmd.Parameters.AddWithValue("NAZIV", akcija.Naziv);
                cmd.Parameters.AddWithValue("DATUM_OD", akcija.DatumPocetka);
                cmd.Parameters.AddWithValue("DATUM_DO", akcija.DatumZavrsetka);
                cmd.Parameters.AddWithValue("POPUST", akcija.Popust);
                cmd.Parameters.AddWithValue("OBRISAN", akcija.Obrisan);

                cmd.ExecuteNonQuery();

                //azuriram stanje modela
                foreach (var ak in Projekat.Instance.Akcija)
                {
                    if (ak.Id == akcija.Id)
                    {
                        ak.Naziv          = akcija.Naziv;
                        ak.DatumPocetka   = akcija.DatumPocetka;
                        ak.DatumZavrsetka = akcija.DatumZavrsetka;
                        ak.Popust         = akcija.Popust;
                        ak.Obrisan        = akcija.Obrisan;
                        break;
                    }
                }
            }
        }
예제 #3
0
        public static ObservableCollection <Akcija> Search(string text)
        {
            try
            {
                var akcija = new ObservableCollection <Akcija>();

                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
                {
                    SqlCommand     cmd = con.CreateCommand();
                    SqlDataAdapter da  = new SqlDataAdapter();
                    DataSet        ds  = new DataSet();

                    cmd.CommandText  = "SELECT * FROM Akcija WHERE Obrisan = 0 AND (PocetakAkcije LIKE @tekst OR ZavrsetakAkcije LIKE @tekst OR Popust LIKE @tekst) ";
                    da.SelectCommand = cmd;
                    cmd.Parameters.AddWithValue("@tekst", '%' + text + '%');
                    da.Fill(ds, "Akcija");

                    foreach (DataRow row in ds.Tables["Akcija"].Rows)
                    {
                        var a = new Akcija();
                        a.Id              = Convert.ToInt32(row["Id"]);
                        a.PocetakAkcije   = DateTime.Parse(row["PocetakAkcije"].ToString());
                        a.ZavrsetakAkcije = DateTime.Parse(row["ZavrsetakAkcije"].ToString());
                        a.Popust          = double.Parse(row["Popust"].ToString());
                        a.Obrisan         = bool.Parse(row["Obrisan"].ToString());

                        DataSet    ds2  = new DataSet();
                        SqlCommand cmd2 = con.CreateCommand();
                        cmd2.CommandText = "SELECT NId FROM NaAkciji WHERE AkId=@Id;";
                        cmd2.Parameters.AddWithValue("@Id", a.Id);
                        da.SelectCommand = cmd2;
                        da.Fill(ds2, "NaAkciji");
                        ObservableCollection <Namjestaj> namjestaj = new ObservableCollection <Namjestaj>();
                        foreach (DataRow dr in ds2.Tables["NaAkciji"].Rows)
                        {
                            int id = int.Parse(dr["NId"].ToString());
                            namjestaj.Add(Namjestaj.GetByid(id));
                        }
                        a.NamjestajNaAkciji = namjestaj;
                        akcija.Add(a);
                    }
                }
                return(akcija);
            }
            catch (Exception)
            {
                MessageBox.Show("Greskaa prilikom pretrage akcije!", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
                return(null);
            }
        }
예제 #4
0
        public static void Update(Akcija a)
        {
            try
            {
                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
                {
                    con.Open();

                    SqlCommand cmd = con.CreateCommand();

                    cmd.CommandText  = "UPDATE Akcija SET PocetakAkcije = @PocetakAkcije, ZavrsetakAkcije = @ZavrsetakAkcije, Popust = @Popust, Obrisan = @Obrisan WHERE Id = @Id;";
                    cmd.CommandText += "SELECT SCOPE_IDENTITY();";

                    cmd.Parameters.AddWithValue("Id", a.Id);
                    cmd.Parameters.AddWithValue("PocetakAkcije", a.PocetakAkcije);
                    cmd.Parameters.AddWithValue("ZavrsetakAkcije", a.ZavrsetakAkcije);
                    cmd.Parameters.AddWithValue("Popust", a.Popust);
                    cmd.Parameters.AddWithValue("Obrisan", a.Obrisan);

                    cmd.ExecuteNonQuery();

                    foreach (var item in a.namjestajNaAkciji)
                    {
                        cmd.CommandText  = "UPDATE NaAkciji SET NId = @NId, AId = @AId, Obrisan = @Obrisan;";
                        cmd.CommandText += "SELECT SCOPE_IDENTITY();";
                        cmd.Parameters.AddWithValue("@NId", item.Id);
                        cmd.Parameters.AddWithValue("@AId", a.Id);
                        cmd.Parameters.AddWithValue("@Obrisan", '0');
                    }
                }

                foreach (var akcija in Projekat.Instance.Akcija)
                {
                    if (a.Id == akcija.Id)
                    {
                        akcija.PocetakAkcije     = a.PocetakAkcije;
                        akcija.ZavrsetakAkcije   = a.ZavrsetakAkcije;
                        akcija.Popust            = a.Popust;
                        akcija.Obrisan           = a.Obrisan;
                        akcija.NamjestajNaAkciji = a.NamjestajNaAkciji;
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Greska prilikom izmjene akcije!", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
예제 #5
0
        public static Akcija Create(Akcija a)
        {
            try
            {
                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
                {
                    con.Open();

                    SqlCommand cmd = con.CreateCommand();
                    cmd.CommandText  = "INSERT INTO Akcija (PocetakAkcije, ZavrsetakAkcije, Popust, Obrisan)  VALUES (@PocetakAkcije, @ZavrsetakAkcije, @Popust, @Obrisan);";
                    cmd.CommandText += "SELECT SCOPE_IDENTITY();";


                    cmd.Parameters.AddWithValue("PocetakAkcije", a.PocetakAkcije);
                    cmd.Parameters.AddWithValue("ZavrsetakAkcije", a.ZavrsetakAkcije);
                    cmd.Parameters.AddWithValue("Popust", a.Popust);
                    cmd.Parameters.AddWithValue("Obrisan", a.Obrisan);

                    a.Id = int.Parse(cmd.ExecuteScalar().ToString());

                    for (int i = 0; i < a.NamjestajNaAkciji.Count; i++)
                    {
                        SqlCommand cmd2 = con.CreateCommand();
                        cmd2.CommandText = "INSERT INTO NaAkciji(Nid,AkId,Obrisan) VALUES(@nIdD,@AId,@Obrisan2)";
                        cmd2.Parameters.Add(new SqlParameter("@nIdD", a.NamjestajNaAkciji[i].Id));
                        cmd2.Parameters.Add(new SqlParameter("@AId", a.Id));
                        cmd2.Parameters.Add(new SqlParameter("@Obrisan2", a.Obrisan));
                        cmd2.ExecuteNonQuery();
                    }
                }

                Projekat.Instance.Akcija.Add(a);
                return(a);
            }
            catch (Exception)
            {
                MessageBox.Show("Greska kod kreiranja akcije!", "Info", MessageBoxButton.OK, MessageBoxImage.Information);
                return(null);
            }
        }
예제 #6
0
        public static Akcija Dodaj(Akcija akcija)
        {
            using (SqlConnection con = new SqlConnection(Projekat.CONNECTION_STRING))
            {
                con.Open();

                SqlCommand cmd = con.CreateCommand();
                cmd.CommandText = $"INSERT INTO AKCIJA (NAZIV, DATUM_OD, DATUM_DO, POPUST, OBRISAN) " +
                                  $"VALUES (@NAZIV, @DATUM_OD, @DATUM_DO, @POPUST, 0);";
                cmd.CommandText += "SELECT SCOPE_IDENTITY();";

                cmd.Parameters.AddWithValue("NAZIV", akcija.Naziv);
                cmd.Parameters.AddWithValue("DATUM_OD", akcija.DatumPocetka);
                cmd.Parameters.AddWithValue("DATUM_DO", akcija.DatumZavrsetka);
                cmd.Parameters.AddWithValue("POPUST", akcija.Popust);

                int newId = int.Parse(cmd.ExecuteScalar().ToString()); //ExecuteScalar izvrsava query
                akcija.Id = newId;
            }
            Projekat.Instance.Akcija.Add(akcija); //azuriram i stanje modela
            return(akcija);
        }
예제 #7
0
 public static void Obrisi(Akcija akcija)
 {
     akcija.Obrisan = true;
     Izmeni(akcija);
 }
예제 #8
0
 public static void Delete(Akcija a)
 {
     a.Obrisan = true;
     Update(a);
 }