예제 #1
0
        private void Pretraga(object sender, FilterEventArgs e)
        {
            string cmb    = cmbPretraga.SelectedItem.ToString();
            string tb     = tbPretrazi.Text.ToLower();
            Akcija akcija = (Akcija)e.Item;

            switch (cmb)
            {
            case "":
                break;

            case "Nazivu":
                e.Accepted = akcija.Naziv.ToString().ToLower().Contains(tb);
                break;

            case "Datumu pocetka":
                e.Accepted = akcija.DatumPocetka.ToString().ToLower().Contains(tb);
                break;

            case "Datumu zavrsetka":
                e.Accepted = akcija.DatumZavrsetka.ToString().ToLower().Contains(tb);
                break;

            default:
                break;
            }
        }
        private void btnDodaj_Click(object sender, RoutedEventArgs e)
        {
            Akcija             novaAkcija = new Akcija();
            AkcijaIzmenaProzor aip        = new AkcijaIzmenaProzor(novaAkcija);

            aip.ShowDialog();
        }
예제 #3
0
        public AkcijaWindow(Akcija akcija, Operacija operacija = Operacija.DODAVANJE)
        {
            InitializeComponent();

            this.akcija    = akcija;
            this.operacija = operacija;

            dpPocetak.DataContext = akcija;
            dpKraj.DataContext    = akcija;
            tbNaziv.DataContext   = akcija;
            tbNaziv.MaxLength     = 60;

            dataGridNamestaj.AutoGenerateColumns           = false;
            dataGridNamestaj.IsSynchronizedWithCurrentItem = true;
            dataGridNamestaj.DataContext = akcija;
            viewn = CollectionViewSource.GetDefaultView(akcija.ListaNaAkciji);
            dataGridNamestaj.ItemsSource = viewn;


            if (akcija.Id == 0)
            {
                dpPocetak.DisplayDateStart = DateTime.Now;
                dpKraj.DisplayDateStart    = dpPocetak.SelectedDate;
                dpKraj.DisplayDateStart    = DateTime.Now;
            }
            if (operacija == Operacija.INFO)
            {
                dpPocetak.IsEnabled = false;
                dpKraj.IsEnabled    = false;
                tbNaziv.IsReadOnly  = true;
                tbNaziv.IsReadOnly  = true;
                btnDodaj.IsEnabled  = false;
                btnObrisi.IsEnabled = false;
            }
        }
예제 #4
0
        private void btnOk_Click_1(object sender, RoutedEventArgs e)
        {
            var listaAkcija = Projekat.Instance.akcija;

            switch (operacija)
            {
            case Operacija.DODAVANJE:
                akcija.Id = listaAkcija.Count + 1;
                akcija    = Akcija.Create(akcija);
                //listaAkcija.Add(akcija);
                foreach (Namestaj n in akcija.NamestajNaAkciji)
                {
                    Akcija.addNamestajNaAkciju(akcija, n);
                }

                break;

            case Operacija.IZMENA:
                foreach (var a in listaAkcija)
                {
                    if (a.Id == akcija.Id)
                    {
                        a.Pocetak          = akcija.Pocetak;
                        a.Kraj             = akcija.Kraj;
                        a.Popust           = akcija.Popust;
                        a.NamestajNaAkciji = akcija.NamestajNaAkciji;
                        Akcija.Update(a);
                        break;
                    }
                }
                break;
            }
            GenericsSerializer.Serialize("akcija.xml", listaAkcija);
            this.Close();
        }
예제 #5
0
        private void btnObrisiAkciju_Click(object sender, RoutedEventArgs e)
        {
            var akcijaZaBrisanje = (Akcija)dgAkcija.SelectedItem;

            if (akcijaZaBrisanje == null)
            {
                MessageBox.Show("Morate izabrati neku stavku.", "Greska", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            if (MessageBox.Show($"Da li ste sigurni da zelite da izbrisete akciju: { akcijaZaBrisanje.Naziv}?",
                                "Brisanje namestaja", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                var lista = Projekat.Instance.Akcija;

                foreach (var akcija in lista)
                {
                    if (akcija.Id == akcijaZaBrisanje.Id)
                    {
                        Akcija.Obrisi(akcija);
                        view.Refresh();
                    }
                }
            }
        }
예제 #6
0
        public static void Delete(Akcija akcija)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
                {
                    conn.Open();


                    SqlCommand cmd = conn.CreateCommand();
                    cmd.CommandText = @"UPDATE Akcija SET Obrisan = 1 WHERE IdA=@IdA";

                    cmd.Parameters.Add(new SqlParameter("@Obrisan", akcija.Obrisan));
                    cmd.Parameters.Add(new SqlParameter("@IdA", akcija.Id));

                    var i = cmd.ExecuteNonQuery();

                    foreach (var ak in Projekat.Instance.Akcije)
                    {
                        if (ak.Id == akcija.Id)
                        {
                            ak.Obrisan = true;
                        }
                    }
                    NaAkcijiDAO.Delete(null, TipBrisanja.PoAkcijaId, akcija.Id, 0);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Doslo je do greske prilikom snimanja u bazu, Molimo Vas pokusajte ponovo", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
        private void btnSacuvaj_Click(object sender, RoutedEventArgs e)
        {
            if (Validacija() == true)
            {
                return;
            }

            var listaAkcija = Projekat.Instance.Akcija;

            switch (operacija)
            {
            case TipOperacije.DODAVANJE:
                Akcija.Dodaj(akcija);
                break;

            case TipOperacije.IZMENA:
                foreach (var a in listaAkcija)
                {
                    if (a.Id == akcija.Id)
                    {
                        a.Naziv          = tbNaziv.Text;
                        a.Popust         = Double.Parse(tbPopust.Text);
                        a.DatumPocetka   = dpDatumPocetka.SelectedDate.Value;
                        a.DatumZavrsetka = dpDatumZavrsetka.SelectedDate.Value;
                        break;
                    }
                }
                Akcija.Izmeni(akcija);
                break;

            default:
                break;
            }
            Close();
        }
예제 #8
0
        private void Sacuvaj_Click(object sender, RoutedEventArgs e)
        {
            var    lista   = Projekat.Instance.Akcija;
            double cijenaN = 0;

            for (int i = 0; i < akcija.NamjestajNaAkciji.Count; i++)
            {
                cijenaN += akcija.NamjestajNaAkciji[i].Cijena;
            }

            if (operacija == Operacija.DODAVANJE)
            {
                akcija.Id = lista.Count + 1;
                foreach (var item in akcija.NamjestajNaAkciji)
                {
                    item.AkcijskaCijena = item.Cijena - ((item.Cijena * akcija.Popust) / 100);
                    Namjestaj.Update(item);
                }
                Akcija.Create(akcija);
            }
            Akcija.Update(akcija);


            GenericSerializer.Serialize("akcija.xml", lista);
            Close();
        }
        private void IzmeniDugme_Click(object sender, RoutedEventArgs e)
        {
            //if (SelektovanaAkcija == null)
            //{
            //    MessageBox.Show("Niste izabrali akciju za izmenu.");
            //    return;
            //}
            Akcija a = new Akcija(SelektovanaAkcija);

            Dodata = false;
            DodajAkcijaProzor izmeniAkcijaProzor = new DodajAkcijaProzor(a);

            izmeniAkcijaProzor.ShowDialog();

            if (Dodata)
            {
                SelektovanaAkcija.Zameni(a);
                Refresh();
                using (var unitOfWork = new Baza.Context())
                {
                    Akcija izBaze = unitOfWork.Akcije.Find(a.ID);
                    if (a != null)
                    {
                        izBaze.Zameni(a);
                        unitOfWork.SaveChanges();
                    }
                }
            }
        }
예제 #10
0
        private void DodajButton_Click(object sender, RoutedEventArgs e)
        {
            Akcija novaAkcijaNamestaja = new Akcija();
            var    diaw = new DodavanjaIzmenaAkcijeWindow(novaAkcijaNamestaja, DodavanjaIzmenaAkcijeWindow.Operacija.DODAVANJE);

            diaw.ShowDialog();
        }
예제 #11
0
        public bool EditByID(Entitet e, int id)
        {
            Akcija a = (Akcija)e;

            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) {
                con.Open();
                SqlCommand cmd = con.CreateCommand();
                cmd.CommandText = "UPDATE Akcija SET Pocetak=@Pocetak, Kraj=@Kraj, Popust=@Popust WHERE Id=@Id";
                cmd.Parameters.AddWithValue("Id", a.ID);
                cmd.Parameters.AddWithValue("Pocetak", a.Pocetak);
                cmd.Parameters.AddWithValue("Kraj", a.Kraj);
                cmd.Parameters.AddWithValue("Popust", a.Popust);

                cmd.ExecuteNonQuery();

                NamestajNaAkcijiDataProvider.Instance.Edit(a.NamestajNaAkcijiID, a.ID);
                foreach (Akcija akcija in Projekat.Instance.Akcije)
                {
                    if (akcija.ID == a.ID)
                    {
                        akcija.Pocetak            = a.Pocetak;
                        akcija.Kraj               = a.Kraj;
                        akcija.Popust             = a.Popust;
                        akcija.NamestajNaAkcijiID = NamestajNaAkcijiDataProvider.Instance.Get(akcija.ID);
                        break;
                    }
                }
                return(true);
            }
        }
예제 #12
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); }
 }
        private void Prikaz_Click(object sender, RoutedEventArgs e)
        {
            Akcija             a   = dgAkcija.SelectedItem as Akcija;
            PrikazAkcijaWindow paw = new PrikazAkcijaWindow(a);

            paw.ShowDialog();
        }
        private void cbSort_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var tekst = cbSort.SelectedItem as string;

            view = CollectionViewSource.GetDefaultView(Akcija.Order(tekst));
            dgAkcija.ItemsSource = view;
        }
예제 #15
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); }
 }
        private void btnPretraga_Click(object sender, RoutedEventArgs e)
        {
            var tekst = tbPretraga.Text.Trim();

            view = CollectionViewSource.GetDefaultView(Akcija.Search(tekst));
            dgAkcija.ItemsSource = view;
        }
예제 #17
0
        public SviNamestajiWindow(Radnja radnja = Radnja.Sacuvaj)
        {
            InitializeComponent();

            SelektovaniNamestaj = new Namestaj();
            this.DataContext    = SelektovaniNamestaj;
            this.radnja         = radnja;
            this.aakcija        = new Akcija();
            this.stavka         = new StavkaProdaje();
            this.naAkciji       = new NaAkciji();
            this.listaNamestaja = new ObservableCollection <Namestaj>();


            var listaa = Projekat.Instance.Akcije;

            max = Projekat.Instance.Akcije.Max(t => t.Id);


            if (radnja == Radnja.Preuzmi)
            {
                PickSave.Click     += PickNamestaj;
                lbKoliko.Visibility = Visibility.Collapsed;
                tbKoliko.Visibility = Visibility.Collapsed;
            }
            else
            {
                PickSave.Click += SacuvajStavku;
            }

            SelektovanaStavka  = new StavkaProdaje();
            SelektovanNaAkciji = new NaAkciji();

            dgSviNamestaji.DataContext = this;
            dgSviNamestaji.ItemsSource = Projekat.Instance.Namestaji;
        }
예제 #18
0
        public PrikazAkcijaWindow(Akcija akcija)
        {
            InitializeComponent();
            this.akcija = akcija;

            dgAkcijaN.ItemsSource = akcija.NamjestajNaAkciji;
        }
예제 #19
0
        public AkcijeWindow(Akcija akcija, Operacija operacija)
        {
            InitializeComponent();

            this.akcija         = akcija;
            this.operacija      = operacija;
            this.listaNaAkciji  = new ObservableCollection <NaAkciji>();
            this.zaBrisanje     = new ObservableCollection <NaAkciji>();
            SelektovaniNamestaj = new NaAkciji();

            tbNaziv.DataContext          = akcija;
            tbPopust.DataContext         = akcija;
            dtPocetka.DataContext        = akcija;
            dtKraj.DataContext           = akcija;
            dgPopustNamestaj.DataContext = akcija;

            foreach (var ak in Projekat.Instance.NaAkcijama)
            {
                if (ak.IdAkcije == akcija.Id)
                {
                    listaNaAkciji.Add(ak);
                }
            }

            dgPopustNamestaj.ItemsSource = listaNaAkciji;
        }
예제 #20
0
        private void Dodaj(object sender, RoutedEventArgs e)
        {
            Akcija akcija = new Akcija();
            var    ad     = new AkcijaDodavanje(akcija);

            ad.ShowDialog();
        }
예제 #21
0
        public ObservableCollection <Akcija> GetActiveAkcije()
        {
            ObservableCollection <Akcija> akcije = new ObservableCollection <Akcija>();

            using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) {
                SqlCommand cmd = con.CreateCommand();
                cmd.CommandText = "SELECT * FROM Akcija WHERE Obrisan=0";
                DataSet dataSet = new DataSet();

                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.SelectCommand = cmd;
                adapter.Fill(dataSet, "Akcija");

                foreach (DataRow row in dataSet.Tables["Akcija"].Rows)
                {
                    Akcija akcija = new Akcija();
                    akcija.ID                 = int.Parse(row["Id"].ToString());
                    akcija.Pocetak            = DateTime.Parse(row["Pocetak"].ToString());
                    akcija.Kraj               = DateTime.Parse(row["Kraj"].ToString());
                    akcija.Popust             = double.Parse(row["Popust"].ToString());
                    akcija.NamestajNaAkcijiID = NamestajNaAkcijiDataProvider.Instance.Get(akcija.ID);

                    if (akcija.Kraj > DateTime.Now)
                    {
                        akcije.Add(akcija);
                    }
                }
            }
            return(akcije);
        }
예제 #22
0
        private void btnDodaj_Click(object sender, RoutedEventArgs e)
        {
            Akcija           novaAkcija = new Akcija();
            AkcijeEditWindow aew        = new AkcijeEditWindow(novaAkcija);

            aew.ShowDialog();
        }
예제 #23
0
        public static void Create(Akcija akcija)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
                {
                    conn.Open();
                    SqlCommand cmd = conn.CreateCommand();


                    cmd.CommandText = @"INSERT INTO Akcija (DatumPocetka, DatumZavrsetka, Naziv, Obrisan) " +
                                      "VALUES (@DatumPocetka, @DatumZavrsetka, @Naziv, @Obrisan);";
                    cmd.CommandText += "SELECT SCOPE_IDENTITY();";

                    cmd.Parameters.Add(new SqlParameter("@Naziv", akcija.Naziv));
                    cmd.Parameters.Add(new SqlParameter("@DatumPocetka", akcija.DatumPocetka));
                    cmd.Parameters.Add(new SqlParameter("@DatumZavrsetka", akcija.DatumZavrsetka));
                    cmd.Parameters.Add(new SqlParameter("@Obrisan", akcija.Obrisan));

                    //cmd.ExecuteNonQuery();
                    akcija.Id = int.Parse(cmd.ExecuteScalar().ToString());
                }
                Projekat.Instance.Akcije.Add(akcija);
            }
            catch (Exception)
            {
                MessageBox.Show("Doslo je do greske prilikom snimanja u bazu, Molimo Vas pokusajte ponovo", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
예제 #24
0
        // Moje :
        private void InicilizujVrednosti(Namestaj namestaj, Operacija operacija)
        {
            cbAkcije.Items.Add("");
            foreach (var Akcija in Projekat.instanca.Akcija)
            {
                cbAkcije.Items.Add(Akcija.naziv);
            }
            if (namestaj.akcija != 0)
            {
                cbAkcije.SelectedItem = Akcija.GetID(namestaj.akcija).naziv;
            }
            else
            {
                cbAkcije.SelectedItem = "";
            }
            foreach (var Tip in Projekat.instanca.TipNamestaja)
            {
                cbTipNamestaja.Items.Add(Tip.Naziv);
            }
            if (namestaj.tipNamestaja == 0)
            {
                cbTipNamestaja.SelectedItem = Projekat.instanca.TipNamestaja.ElementAt(0).Naziv;
            }
            else
            {
                cbTipNamestaja.SelectedItem = TipNamestaja.GetID(namestaj.tipNamestaja).Naziv;
            }

            this.operacija  = operacija;
            this.namestaj   = namestaj;
            tbNaziv.Text    = namestaj.naziv;
            tbCena.Text     = namestaj.jedinicnaCena.ToString();
            tbSifra.Text    = namestaj.sifra.ToString();
            tbKolicina.Text = namestaj.kolicina.ToString();
        }
예제 #25
0
        internal static void PrikaziRezultatePretrage(object transferObjekat, Akcija akcija)
        {
            dynamic transform = new List <IOpstiDomenskiObjekat>();

            switch (akcija)
            {
            case Akcija.PRETRAGA_OSOBLJE:
                transform = TransformList((List <IOpstiDomenskiObjekat>)transferObjekat, new Osoblje());
                OsobljeForma?.Invoke(new Action(() =>
                {
                    OsobljeForma.ListSearchResults.DataSource = transform;
                    OsobljeForma.PrikaziRezultatePretrage(transform.Count);
                }));
                break;

            case Akcija.PRETRAGA_TIM:
                transform = TransformList((List <IOpstiDomenskiObjekat>)transferObjekat, new Tim());
                PocetnaTimForma?.Invoke(new Action(() =>
                {
                    PocetnaTimForma.ListSearchResults.DataSource = transform;
                    PocetnaTimForma.PrikaziRezultatePretrage(transform.Count);
                }));
                break;

            case Akcija.PRETRAGA_OPERACIJA:
                List <Operacija> op = (List <Operacija>)transferObjekat;
                PocetnaOperacijaForma?.Invoke(new Action(() => {
                    PocetnaOperacijaForma.DgvSearchResult.DataSource = op;
                    PocetnaOperacijaForma.PrikaziRezultatPretrage();
                }));
                break;
            }
        }
        private void Dodaj_Click(object sender, RoutedEventArgs e)
        {
            Akcija           a   = new Akcija();
            EditAkcijaWindow eaw = new EditAkcijaWindow(a, EditAkcijaWindow.Operacija.DODAVANJE);

            eaw.ShowDialog();
            view.Refresh();
        }
예제 #27
0
        private void DodajAkciju(object sender, RoutedEventArgs e)
        {
            Akcija novaAkcija   = new Akcija();
            var    akcijeProzor = new EditAkcijeWindow(novaAkcija, EditAkcijeWindow.Operacija.DODAVANJE);

            akcijeProzor.ShowDialog();
            view.Refresh();
        }
예제 #28
0
        private void Izmeni_Click(object sender, RoutedEventArgs e)
        {
            Akcija selektovanaAkcija = (Akcija)dgAkcija.SelectedItem;
            var    adi = new AkcijaDodavanjeIzmena(selektovanaAkcija, AkcijaDodavanjeIzmena.Operacija.IZMENA);

            adi.ShowDialog();
            view.Refresh();
        }
예제 #29
0
 public static void Delete(Akcija akcija)
 {
     if (akcija != null)
     {
         akcija.Obrisan = true;
         Update(akcija);
     }
 }
예제 #30
0
        private void IzmeniAkciju()
        {
            Akcija oznacen = dgPrikaz.SelectedItem as Akcija;
            Akcija kopija  = (Akcija)oznacen.Clone();
            var    prozor  = new AkcijeWindow(kopija, NamestajWindow.Operacija.Izmena);

            prozor.ShowDialog();
        }