Пример #1
0
        /*
         * Rukuje događajem klika na gumb btnPregledDostupnihVozila. Prilikom klika na gumb sakriva formu frmDodajRezervaciju i otvara formu frmPregledDostupnihVozila.
         */
        /// <summary>
        /// Rukuje događajem klika na gumb btnPregledDostupnihVozila. Prilikom klika na gumb sakriva formu frmDodajRezervaciju i otvara formu frmPregledDostupnihVozila.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnPregledDostupnihVozila_Click(object sender, EventArgs e)
        {
            if (DateTime.Compare(this.dtpDatumIVrijemePocetka.Value, new DateTime(2000, 1, 1, 0, 0, 0)) == 0)
            {
                MessageBox.Show("Niste odabrali datum početka!");
            }
            else if (DateTime.Compare(this.dtpDatumIVrijemeKraja.Value, new DateTime(2000, 1, 1, 0, 0, 0)) == 0)
            {
                MessageBox.Show("Niste odabrali datum kraja!");
            }
            else if (DateTime.Compare(this.dtpDatumIVrijemePocetka.Value, DateTime.Now) < 0)
            {
                MessageBox.Show("Pogreška kod datuma početka!");
            }
            else if (DateTime.Compare(this.dtpDatumIVrijemeKraja.Value, dtpDatumIVrijemePocetka.Value) <= 0)
            {
                MessageBox.Show("Pogreška kod datuma kraja!");
            }
            else
            {
                frmPregledDostupnihVozila frmPregledDostupnihVozila = new frmPregledDostupnihVozila(this.dtpDatumIVrijemePocetka.Value, this.dtpDatumIVrijemeKraja.Value);
                this.Hide();
                frmPregledDostupnihVozila.ShowDialog();
                this.Show();
                Vozilo odabranoVozilo = frmPregledDostupnihVozila.OdabranoVozilo;
                if (odabranoVozilo != null)
                {
                    TipMotora tipMotora = null;
                    using (RentACarEntities db = new RentACarEntities())
                    {
                        tipMotora = (from t in db.TipMotora where t.TipMotoraID == odabranoVozilo.TipMotoraID select t).FirstOrDefault();
                    }

                    txtRegistracija.Text = odabranoVozilo.VoziloID.ToString();
                    txtModel.Text        = odabranoVozilo.Naziv;
                    txtTip.Text          = tipMotora.Naziv;
                    txtSnagaMotora.Text  = odabranoVozilo.SnagaMotora.ToString();
                    txtBrojSjedala.Text  = odabranoVozilo.BrojSjedala.ToString();
                    txtCijenaPoDanu.Text = odabranoVozilo.CijenaPoDanu.ToString();
                    txtBrojDana.Text     = ((dtpDatumIVrijemeKraja.Value - dtpDatumIVrijemePocetka.Value).Days).ToString();
                    txtUkupnaCijena.Text = (int.Parse(txtBrojDana.Text) * double.Parse(txtCijenaPoDanu.Text)).ToString();
                    txtPDV.Text          = (double.Parse(txtUkupnaCijena.Text) * 0.25).ToString();
                    txtCijenaSPDV.Text   = ((double.Parse(txtUkupnaCijena.Text) * 0.25) + double.Parse(txtUkupnaCijena.Text)).ToString();
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Metoda koja se koristi kod brisanja zaposlenika iz smjene u nekom odredenom danu
        /// </summary>
        /// <param name="smjena"></param>
        /// <param name="datum"></param>
        /// <param name="radnik"></param>
        public static void BrisanjeRadaUSmjeni(int smjena, DateTime datum, string radnik)
        {
            BindingList <Radi> listaRada = null;
            Radi radiBrisi = null;

            using (var db = new RentACarEntities())
            {
                listaRada = new BindingList <Radi>((from r in db.Radi where (r.SmjenaID == smjena && r.Datum == datum && r.DjelatnikID == radnik) select r).ToList());

                foreach (var item in listaRada)
                {
                    radiBrisi = item;
                }
                db.Radi.Attach(radiBrisi);
                db.Radi.Remove(radiBrisi);
                db.SaveChanges();
            }
        }
Пример #3
0
        public static BindingList <Radi> odradeneSmjene(string djelatnik, DateTime datum)
        {
            BindingList <Radi> listaSmjena        = null;
            BindingList <Radi> listaSmjenaRadnika = new BindingList <Radi>();

            using (var db = new RentACarEntities())
            {
                listaSmjena = new BindingList <Radi>((from r in db.Radi where (r.DjelatnikID == djelatnik) select r).ToList());
            }
            foreach (var item in listaSmjena)
            {
                if (item.Datum.Month == datum.Month)
                {
                    listaSmjenaRadnika.Add(item);
                }
            }
            return(listaSmjenaRadnika);
        }
Пример #4
0
        /// <summary>
        /// Rukuje događajem klika na gumb btnRezerviraj. Sprema promijene na rezervaciji.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRezerviraj_Click1(object sender, EventArgs e)
        {
            Rezervacija rezervacija = null;

            using (RentACarEntities db = new RentACarEntities())
            {
                rezervacija = (from r in db.Rezervacija where r.RezervacijaID == this.sifraRezervacije select r).First();
            }
            using (RentACarEntities db = new RentACarEntities())
            {
                db.Rezervacija.Attach(rezervacija);
                rezervacija.KorisnikID   = txtOIB.Text;
                rezervacija.DatumPocetka = dtpDatumIVrijemePocetka.Value;
                rezervacija.DatumKraja   = dtpDatumIVrijemeKraja.Value;
                rezervacija.VoziloID     = txtRegistracija.Text;
                rezervacija.Opis         = txtNapomena.Text;
                db.SaveChanges();
            }
            this.Close();
        }
Пример #5
0
        /// <summary>
        /// Rukuje događajem učitavanja forme frmIzdavanjeRacuna. Popunjava polja podacima o trenutno prijavljenom djelatniku.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmIzdavanjeRacuna_Load(object sender, EventArgs e)
        {
            using (RentACarEntities db = new RentACarEntities())
            {
                Racun racun = new Racun();
                racun.Djelatnik   = Korisnik.PrijavljeniKorisnik.KorisnikID;
                racun.DatumRacuna = DateTime.Now;
                racun.IznosRacuna = 0;
                db.Racun.Add(racun);
                db.SaveChanges();
                this.sifraRacuna = racun.RacunID;
            }
            string djelatnik = Korisnik.PrijavljeniKorisnik.Ime + " " + Korisnik.PrijavljeniKorisnik.Prezime;
            ReportParameterCollection parametri = new ReportParameterCollection();

            parametri.Add(new ReportParameter("DatumIVrijeme", DateTime.Now.ToString()));
            parametri.Add(new ReportParameter("Djelatnik", djelatnik));
            parametri.Add(new ReportParameter("RacunBr", sifraRacuna.ToString()));
            this.rpvRacun.LocalReport.SetParameters(parametri);
            this.rpvRacun.RefreshReport();
        }
Пример #6
0
        /// <summary>
        /// metotoda koja vraca listu zaposlenika u poduzecu
        /// </summary>
        /// <param name="smjena"></param>
        /// <param name="datum"></param>
        /// <returns></returns>
        public static BindingList <Korisnik> listaRadnika(int smjena, DateTime datum)
        {
            BindingList <Korisnik> listaRadnikaSmjene    = null;
            BindingList <Korisnik> listaRadnikaSmjeneSvi = new BindingList <Korisnik>();
            BindingList <Radi>     listaRadi             = null;

            using (var db = new RentACarEntities())
            {
                listaRadi = new BindingList <Radi>((from r in db.Radi where (r.SmjenaID == smjena && r.Datum == datum) select r).ToList());
                foreach (var item in listaRadi)
                {
                    listaRadnikaSmjene = new BindingList <Korisnik>((from k in db.Korisnik where (k.KorisnikID == item.DjelatnikID) select k).ToList());
                    foreach (var item2 in listaRadnikaSmjene)
                    {
                        listaRadnikaSmjeneSvi.Add(item2);
                    }
                }

                return(listaRadnikaSmjeneSvi);
            }
        }
        /*
         * Rukuje događajem klika na gumb btnObrisi.
         */
        /// <summary>
        /// Rukuje događajem klika na gumb btnObrisi.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnObrisi_Click(object sender, EventArgs e)
        {
            Rezervacija rezervacijaZaBrisanje = (Rezervacija)rezervacijaBindingSource.Current;

            if (rezervacijaZaBrisanje != null)
            {
                DialogResult odgovor = MessageBox.Show("Jeste li sigurni da želite otkazati rezervaciju " + dgvMojeRezervacije.CurrentRow.Cells[0] + "?", "Otkazivanje rezervacije", MessageBoxButtons.YesNo);
                if (odgovor == DialogResult.Yes)
                {
                    using (RentACarEntities db = new RentACarEntities())
                    {
                        db.Rezervacija.Attach(rezervacijaZaBrisanje);
                        db.Rezervacija.Remove(rezervacijaZaBrisanje);
                        db.SaveChanges();
                    }
                    prikaziRezervacije();
                }
            }
            else
            {
                MessageBox.Show("Niste odabrali rezervaciju!");
            }
        }
        /*
         * Metoda koja dohvaća rezervacije za trenutno prijavljenog korisnika i prikazuje ih.
         */
        /// <summary>
        /// Metoda koja dohvaća rezervacije za trenutno prijavljenog korisnika i prikazuje ih.
        /// </summary>
        private void prikaziRezervacije()
        {
            using (RentACarEntities db = new RentACarEntities())
            {
                voziloBindingSource.DataSource      = Vozilo.DohvatiVozila();
                rezervacijaBindingSource.DataSource = Rezervacija.DohvatiMojeRezervacije(Korisnik.PrijavljeniKorisnik);
                dgvMojeRezervacije.DataSource       = rezervacijaBindingSource;

                dgvMojeRezervacije.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
                int sirina = 0;
                foreach (DataGridViewColumn c in dgvMojeRezervacije.Columns)
                {
                    if (c.Displayed)
                    {
                        sirina += c.Width;
                    }
                }
                dgvMojeRezervacije.Width  = sirina + dgvMojeRezervacije.RowHeadersWidth + 2;
                dgvMojeRezervacije.Height = (dgvMojeRezervacije.Rows.Count + 1) * 25;
                btnAzuriraj.Location      = new Point(dgvMojeRezervacije.Location.X + dgvMojeRezervacije.Width + 3, dgvMojeRezervacije.Location.Y);
                btnObrisi.Location        = new Point(dgvMojeRezervacije.Location.X + dgvMojeRezervacije.Width + 3, btnAzuriraj.Location.Y + btnAzuriraj.Height);
            }
        }
Пример #9
0
        /// <summary>
        /// Rukuje događajem klika na gumb te briše odabrano vozilo ak vozilo nije iznajmljeno ili rezervirano
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBrisiVozilo_Click(object sender, EventArgs e)
        {
            Vozilo vozilo = voziloBindingSource.Current as Vozilo;

            using (RentACarEntities db = new RentACarEntities())
            {
                db.Vozilo.Attach(vozilo);
                if (Iznajmljivanje.ProvjeriZauzetostVozila(vozilo.VoziloID) == true && Rezervacija.ProvjeriZauzetostVozila(vozilo.VoziloID))
                {
                    db.Vozilo.Remove(vozilo);
                    db.SaveChanges();
                }
                else if (Iznajmljivanje.ProvjeriZauzetostVozila(vozilo.VoziloID) == false)
                {
                    MessageBox.Show("Vozilo je iznajmljeno te ga nije moguće izbrisati", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (Rezervacija.ProvjeriZauzetostVozila(vozilo.VoziloID) == false)
                {
                    MessageBox.Show("Vozilo je rezervirano te ga nije moguće izbrisati", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            OsvjeziPrikazVozila();
        }
Пример #10
0
 /// <summary>
 /// Rukuje događajem klika na gumb za dodavanje ili ažuriranje vozila
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnDodajVozilo_Click(object sender, EventArgs e)
 {
     if (txtRegistracija.Text != null && txtNaziv.Text != "" && txtGodinaProizvodnje.Text != "" && txtSnagaMotora.Text != "" && txtKilometri.Text != "" && dtpDatumRegistriranja.Text != "" && cmbKategorija.SelectedValue != null && cmbTipMotora.SelectedValue != null && txtCijenaPoDanu.Text != "")
     {
         if (int.TryParse(txtGodinaProizvodnje.Text, out int godina) && int.TryParse(txtBrojSjedala.Text, out int sjedala) && int.TryParse(txtSnagaMotora.Text, out int snaga) && int.TryParse(txtKilometri.Text, out int kilometri) && double.TryParse(txtCijenaPoDanu.Text, out double cijenapo))
         {
             int IdKategorije = int.Parse(cmbKategorija.SelectedValue.ToString());
             int IdTipMotora  = int.Parse(cmbTipMotora.SelectedValue.ToString());
             if (vozilo == null)
             {
                 if (Vozilo.ProvjeriDostupnostRegistraciskihOznaka(txtRegistracija.Text))
                 {
                     Vozilo vozilo = new Vozilo
                     {
                         VoziloID          = txtRegistracija.Text,
                         Naziv             = txtNaziv.Text,
                         GodinaProizvodnje = int.Parse(txtGodinaProizvodnje.Text),
                         SnagaMotora       = int.Parse(txtSnagaMotora.Text),
                         Kilometri         = int.Parse(txtKilometri.Text),
                         BrojSjedala       = int.Parse(txtBrojSjedala.Text),
                         DatumRegistracije = dtpDatumRegistriranja.Value.Date,
                         KategorijaID      = IdKategorije,
                         TipMotoraID       = IdTipMotora,
                         CijenaPoDanu      = float.Parse(txtCijenaPoDanu.Text.ToString())
                     };
                     Vozilo.DodajVozilo(vozilo);
                     txtRegistracija.Clear();
                     txtNaziv.Clear();
                     txtSnagaMotora.Clear();
                     txtKilometri.Clear();
                     txtBrojSjedala.Clear();
                     txtCijenaPoDanu.Clear();
                     txtGodinaProizvodnje.Clear();
                 }
                 else
                 {
                     MessageBox.Show("Vozilo s tim registracijskim oznakama već postoji", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             else
             {
                 using (RentACarEntities db = new RentACarEntities())
                 {
                     db.Vozilo.Attach(vozilo);
                     vozilo.VoziloID          = txtRegistracija.Text;
                     vozilo.Naziv             = txtNaziv.Text;
                     vozilo.GodinaProizvodnje = int.Parse(txtGodinaProizvodnje.Text);
                     vozilo.SnagaMotora       = int.Parse(txtSnagaMotora.Text);
                     vozilo.Kilometri         = int.Parse(txtKilometri.Text);
                     vozilo.BrojSjedala       = int.Parse(txtBrojSjedala.Text);
                     vozilo.DatumRegistracije = dtpDatumRegistriranja.Value.Date;
                     vozilo.KategorijaID      = IdKategorije;
                     vozilo.TipMotoraID       = IdTipMotora;
                     vozilo.CijenaPoDanu      = float.Parse(txtCijenaPoDanu.Text.ToString());
                     db.SaveChanges();
                 }
                 this.Close();
             }
         }
         else
         {
             MessageBox.Show("Podaci koji bi trebali biti broj nisu ispravnog formata", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show("Nisu ispunjeni svi podaci koji su potrebni za dodavanje novog vozila", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }