/// <summary>
        /// Funkcija za izdavanje računa
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bntIzdaj_Click(object sender, EventArgs e)
        {
            if (bl.Count == 0)
            {
                MessageBox.Show("Ne možete napraviti račun bez djelova");
            }
            else
            {
                using (var db = new ProgramskoInzenjerstvoDBEntities())
                {
                    Racun noviRacun = new Racun();
                    noviRacun.zaposlenik = FrmGlavna.prijavljeniKorisnik.ID;
                    noviRacun.datum      = DateTime.Now;
                    noviRacun.iznos      = txtIznos.Text;
                    noviRacun.Maloprodaja_veleprodaja = "Veleprodaja";
                    int lokacijaId = int.Parse(ConfigurationManager.AppSettings["LokacijaID"]);
                    noviRacun.lokacija = lokacijaId;
                    Trgovina trgovina = cboxTvrtka.SelectedItem as Trgovina;
                    noviRacun.trgovina = trgovina.id;

                    db.Racuns.Attach(noviRacun);
                    db.Racuns.Add(noviRacun);
                    db.SaveChanges();

                    Racun dodaniRacun = db.Racuns.OrderByDescending(x => x.id).First();

                    var listaZaIzbrisati = bl.Where(x => x.kolicina == 0).ToList();
                    listaZaIzbrisati.ForEach(x => bl.Remove(x));

                    foreach (Djelovi djelovi in bl)
                    {
                        Racun_Has_Djelovi rhd = new Racun_Has_Djelovi();
                        rhd.id_racun = dodaniRacun.id;

                        rhd.id_djelovi = djelovi.id;
                        rhd.kolicina   = djelovi.kolicina;
                        dodaniRacun.Racun_Has_Djelovi.Add(rhd);

                        //Djelovi dioOduzmiKolicinu = db.Djelovis.First(x => x.id == djelovi.id);
                        //dioOduzmiKolicinu.kolicina -= djelovi.kolicina;
                        Lokacija_has_djelovi lhd = db.Lokacija_has_djelovi.Where(x => x.id_lokacija == lokacijaId && x.id_djelovi == djelovi.id).SingleOrDefault();
                        if (lhd != null)
                        {
                            lhd.kolicina    -= djelovi.kolicina;
                            djelovi.kolicina = 0;
                        }
                    }

                    db.SaveChanges();
                    MessageBox.Show("Uspješno ste izdali novi račun");
                }
            }
        }
Beispiel #2
0
        private void bntIzdaj_Click(object sender, EventArgs e)
        {
            bool jeLiSvimDjelovimaDodanaKolicina = listaKupacRezervacija.Any(x => x.kolicina == 0);

            if (jeLiSvimDjelovimaDodanaKolicina)
            {
                MessageBox.Show("Molimo unesite količine proizvodima za rezervaciju");
            }

            else if (IsValid(txtKupacEmail.Text) && txtKupacIme.Text != "" && txtKupacPrezime.Text != "" && listaKupacRezervacija.Count != 0)
            {
                using (var db = new ProgramskoInzenjerstvoDBEntities())
                {
                    Rezervacija rez = new Rezervacija();
                    rez.kupacIme         = txtKupacIme.Text;
                    rez.kupacPrezime     = txtKupacPrezime.Text;
                    rez.kupacEmail       = txtKupacEmail.Text;
                    rez.izvrseno         = false;
                    rez.napravioNarudzbu = FrmGlavna.prijavljeniKorisnik.ID;
                    rez.lokacija         = Convert.ToInt32(ConfigurationManager.AppSettings["LokacijaID"]);
                    rez.datumIzdavanja   = DateTime.UtcNow;

                    db.Rezervacijas.Add(rez);

                    db.SaveChanges();

                    rez = null;
                    rez = db.Rezervacijas.OrderByDescending(x => x.id).First();

                    foreach (Djelovi dio in listaKupacRezervacija)
                    {
                        Rezervacija_has_Djelovi rhd = new Rezervacija_has_Djelovi();
                        rhd.id_rezervacija = rez.id;
                        rhd.int_djelovi    = dio.id;
                        rhd.kolicina       = dio.kolicina;

                        db.Rezervacija_has_Djelovi.Add(rhd);
                    }
                    db.SaveChanges();
                    MessageBox.Show("Uspjesno se dodali novu rezervaciju");
                    this.Close();
                }
            }
            else if (IsValid(txtKupacEmail.Text) == false)
            {
                MessageBox.Show("Molimo upišite pravilan mail");
            }
            else if (txtKupacIme.Text == "" || txtKupacPrezime.Text == "")
            {
                MessageBox.Show("Molimo upišite podatke");
            }
        }
        /// <summary>
        /// Provjera retervacije za slanje maila
        /// </summary>
        public void provjeriRezervacije()
        {
            using (var db = new ProgramskoInzenjerstvoDBEntities())
            {
                int lokacijaID = Convert.ToInt32(ConfigurationManager.AppSettings["LokacijaID"]);
                foreach (Rezervacija rez in db.Rezervacijas.Where(x => x.izvrseno == false && x.lokacija == lokacijaID))
                {
                    List <Djelovi> listaDjelovaRezervacija = new List <Djelovi>();

                    foreach (Rezervacija_has_Djelovi rhd in rez.Rezervacija_has_Djelovi)
                    {
                        Djelovi dio = db.Djelovis.Where(x => x.id == rhd.int_djelovi).Single();
                        Lokacija_has_djelovi lhd = db.Lokacija_has_djelovi.Where(y => y.id_djelovi == dio.id && y.id_lokacija == lokacijaID).SingleOrDefault();

                        if (rhd.kolicina <= lhd.kolicina)
                        {
                            listaDjelovaRezervacija.Add(dio);
                        }
                    }
                    if (listaDjelovaRezervacija.Count > 0 && listaDjelovaRezervacija.Count == rez.Rezervacija_has_Djelovi.Count)
                    {
                        string lokacijaAdresa = db.Lokacijas.Where(x => x.id == lokacijaID).Select(x => x.Adresa).SingleOrDefault();

                        pripremiMail(rez.kupacEmail, lokacijaAdresa, listaDjelovaRezervacija);
                        Rezervacija rezervacija = db.Rezervacijas.Single(x => x.id == rez.id);
                        rezervacija.izvrseno = true;
                    }
                }
                db.SaveChanges();
            }
        }
Beispiel #4
0
        /// <summary>
        /// Brisanje rezervacije
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnIzbrisi_Click(object sender, EventArgs e)
        {
            try
            {
                Rezervacija rez = dataGridView1.CurrentRow.DataBoundItem as Rezervacija;
                if (rez != null)
                {
                    if (MessageBox.Show("Jeste li sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                    {
                        using (var db = new ProgramskoInzenjerstvoDBEntities())
                        {
                            db.Rezervacijas.Attach(rez);
                            db.Rezervacijas.Remove(rez);
                            foreach (var izbrisatiProvjera in db.Rezervacija_has_Djelovi)
                            {
                                if (izbrisatiProvjera.id_rezervacija == rez.id)
                                {
                                    db.Rezervacija_has_Djelovi.Attach(izbrisatiProvjera);
                                    db.Rezervacija_has_Djelovi.Remove(izbrisatiProvjera);
                                }
                            }

                            db.SaveChanges();
                            ispisDatagrid();
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
Beispiel #5
0
        /// <summary>
        /// FUnkcija za brisanje selektiranog računa
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnIzbrisi_Click(object sender, EventArgs e)
        {
            Racun zaIzbrisati = dataGridView1.CurrentRow.DataBoundItem as Racun;

            if (zaIzbrisati != null)
            {
                if (MessageBox.Show("Jeste li sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                {
                    using (var db = new ProgramskoInzenjerstvoDBEntities())
                    {
                        db.Racuns.Attach(zaIzbrisati);
                        db.Racuns.Remove(zaIzbrisati);
                        foreach (var izbrisatiProvjera in db.Racun_Has_Djelovi)
                        {
                            if (izbrisatiProvjera.id_racun == zaIzbrisati.id)
                            {
                                db.Racun_Has_Djelovi.Attach(izbrisatiProvjera);
                                db.Racun_Has_Djelovi.Remove(izbrisatiProvjera);
                            }
                        }

                        db.SaveChanges();
                    }
                }
            }

            ispisDatagrid();
        }
        /// <summary>
        /// Mjenjanje broj dijelova na skladištu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnPromjeniNaSkladistu_Click(object sender, EventArgs e)
        {
            int    idValueDjelovi  = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString());
            string idValueLokacija = (dgvDjeloviNaSkladistima.Rows[dgvDjeloviNaSkladistima.CurrentCell.RowIndex].Cells[0].Value.ToString());

            using (var db = new ProgramskoInzenjerstvoDBEntities())
            {
                var promjena = (from x in db.Lokacija_has_djelovi where idValueDjelovi == x.id_djelovi && idValueLokacija == x.Lokacija.naziv select x).SingleOrDefault();
                promjena.kolicina = int.Parse(txtPromjeniNaSkladistu.Text);
                db.SaveChanges();
            }
            ispisDatagridNaSkladistu(jeAdmin);
            provjeriRezervacije();
        }
        /// <summary>
        /// Ažuriranje tvrtke
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSpremi_Click(object sender, EventArgs e)
        {
            if (trgovina != null)
            {
                try
                {
                    using (var db = new ProgramskoInzenjerstvoDBEntities())
                    {
                        Trgovina selektiranaTrgovina = (from x in db.Trgovinas where x.oib == trgovina.oib select x).SingleOrDefault();
                        selektiranaTrgovina.oib    = txtOIB.Text.Trim();
                        selektiranaTrgovina.adresa = txtAdresa.Text;
                        selektiranaTrgovina.naziv  = txtNaziv.Text;

                        db.SaveChanges();
                        MessageBox.Show("Uspješno izmjenjeni podaci trgovine.");
                    }
                }
                catch
                {
                    MessageBox.Show("Desila se greško kod ažuriranja podataka.");
                }
            }
        }
        /// <summary>
        /// Dodavanje nove tvrtke
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDodaj_Click(object sender, EventArgs e)
        {
            using (var db = new ProgramskoInzenjerstvoDBEntities())
            {
                Trgovina t = new Trgovina();

                t.naziv  = txtNaziv.Text;
                t.adresa = txtAdresa.Text;
                t.oib    = txtAdresa.Text;
                if (db.Trgovinas.Any(x => x.oib == t.oib))
                {
                    MessageBox.Show("Tvrtka s tim OIB-om već postoji");
                }
                else
                {
                    db.Trgovinas.Attach(t);
                    db.Trgovinas.Add(t);
                    db.SaveChanges();
                    MessageBox.Show("Uspješno ste dodali tvrtku");
                    Close();
                }
            }
        }
        /// <summary>
        /// Dodavanje/izmjena korisnika u bazi
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDodaj_Click(object sender, EventArgs e)
        {
            List <Tip> listaSelektiranihUloga = new List <Tip>();

            foreach (var sel in checkedListBox1.CheckedItems)
            {
                if (sel is Tip)
                {
                    listaSelektiranihUloga.Add(sel as Tip);
                }
            }

            using (var db = new ProgramskoInzenjerstvoDBEntities())
            {
                if (zaposlenik == null)
                {
                    //Zaposlenik zaposlenik2 = new Zaposlenik(txtIme.Text, txtPrezime.Text, txtAdresa.Text, txtOIB.Text, txtEmail.Text, txtKorisnicko.Text, txtLozinka.Text);
                    Zaposlenik zaposlenik2 = new Zaposlenik();

                    zaposlenik2.ime           = txtIme.Text.Trim();
                    zaposlenik2.prezime       = txtPrezime.Text.Trim();
                    zaposlenik2.adresa        = txtAdresa.Text.Trim();
                    zaposlenik2.oib           = txtOIB.Text.Trim();
                    zaposlenik2.email         = txtEmail.Text.Trim();
                    zaposlenik2.korisnickoIme = txtKorisnicko.Text.Trim();
                    zaposlenik2.lozinka       = txtLozinka.Text.Trim();

                    Lokacija radnoMjesto = cBoxRadnoMjesto.SelectedItem as Lokacija;
                    zaposlenik2.radnoMjesto = radnoMjesto.id;
                    //bool a = provjeriKorisnickoIme(zaposlenik2);

                    try
                    {
                        double oib = double.Parse(zaposlenik2.oib);
                        if (oib > 0 && oib < 9999999999999)
                        {
                            db.Zaposleniks.Add(zaposlenik2);

                            foreach (Tip t in listaSelektiranihUloga)
                            {
                                Zaposlenik_has_Tip zht = new Zaposlenik_has_Tip();

                                zht.id_tip        = t.id;
                                zht.id_zaposlenik = zaposlenik2.ID;

                                zaposlenik2.Zaposlenik_has_Tip.Add(zht);
                            }

                            db.SaveChanges();

                            MessageBox.Show("Uspješno se dodali zaposlenika");
                            Close();
                        }
                        else
                        {
                            MessageBox.Show("Unesi ispravan OIB");
                        }
                    }
                    catch (Exception exc)
                    {
                        MessageBox.Show(exc.ToString());
                    }
                }

                //Izmjena korisnika
                else
                {
                    try
                    {
                        db.Zaposleniks.Attach(zaposlenik);
                        zaposlenik.ime           = txtIme.Text.Trim();
                        zaposlenik.prezime       = txtPrezime.Text.Trim();
                        zaposlenik.email         = txtEmail.Text.Trim();
                        zaposlenik.adresa        = txtAdresa.Text.Trim();
                        zaposlenik.oib           = txtOIB.Text.Trim();
                        zaposlenik.korisnickoIme = txtKorisnicko.Text.Trim();
                        zaposlenik.lozinka       = txtLozinka.Text.Trim();
                        zaposlenik.Zaposlenik_has_Tip.Clear();

                        Lokacija radnoMjesto = cBoxRadnoMjesto.SelectedItem as Lokacija;
                        zaposlenik.radnoMjesto = radnoMjesto.id;

                        foreach (Tip t in listaSelektiranihUloga)
                        {
                            Zaposlenik_has_Tip zht = new Zaposlenik_has_Tip();

                            zht.id_tip        = t.id;
                            zht.id_zaposlenik = zaposlenik.ID;

                            zaposlenik.Zaposlenik_has_Tip.Add(zht);
                        }


                        db.SaveChanges();
                        MessageBox.Show("Uspješno se izmjenili korisnika " + zaposlenik.korisnickoIme);
                        Close();
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška kod izmjene korisnika");
                    }
                }
            }
        }