/// <summary> /// Konstruktor klase. Inicijalizira komponente. /// </summary> /// <param name="rezervacija"></param> public frmDodajPromijeniRezervaciju(Rezervacija rezervacija) { this.sifraRezervacije = rezervacija.RezervacijaID; InitializeComponent(); Korisnik korisnik = null; Vozilo vozilo = null; TipMotora tipMotora = null; using (RentACarEntities db = new RentACarEntities()) { korisnik = (from k in db.Korisnik where k.KorisnikID == rezervacija.KorisnikID select k).First(); vozilo = (from v in db.Vozilo where v.VoziloID == rezervacija.VoziloID select v).First(); tipMotora = (from t in db.TipMotora where t.TipMotoraID == vozilo.TipMotoraID select t).First(); } txtOIB.Text = korisnik.KorisnikID; txtIme.Text = korisnik.Ime; txtPrezime.Text = korisnik.Prezime; dtpDatumIVrijemePocetka.Value = rezervacija.DatumPocetka; dtpDatumIVrijemeKraja.Value = rezervacija.DatumKraja; txtRegistracija.Text = vozilo.VoziloID; txtModel.Text = vozilo.Naziv; txtTip.Text = tipMotora.Naziv; txtSnagaMotora.Text = vozilo.SnagaMotora.ToString(); txtBrojSjedala.Text = vozilo.BrojSjedala.ToString(); txtNapomena.Text = rezervacija.Opis; txtCijenaPoDanu.Text = vozilo.CijenaPoDanu.ToString(); txtBrojDana.Text = (dtpDatumIVrijemeKraja.Value - dtpDatumIVrijemePocetka.Value).Days.ToString(); txtUkupnaCijena.Text = (double.Parse(txtCijenaPoDanu.Text) * double.Parse(txtBrojDana.Text)).ToString(); txtPDV.Text = (double.Parse(txtUkupnaCijena.Text) * 0.25).ToString(); txtCijenaSPDV.Text = (double.Parse(txtUkupnaCijena.Text) + double.Parse(txtPDV.Text)).ToString(); btnRezerviraj.Text = "Promijeni"; btnRezerviraj.Click += btnRezerviraj_Click1; }
/// <summary> /// Motoda koja omogućava prikaz vozila na dgvPrikazVozila /// </summary> private void OsvjeziPrikazVozila() { tipMotoraBindingSource.DataSource = TipMotora.DohvatiTipoveMotora(); kategorijaBindingSource.DataSource = Kategorija.DohvatiKategorije(); voziloBindingSource.DataSource = Vozilo.DohvatiVozila(); dgvPrikazVozila.DataSource = voziloBindingSource; }
/// <summary> /// Rukuje događajem klika na gumb btnRezerviraj. Provjerava popunjenost obrasca, te sprema rezervaciju u bazu. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRezerviraj_Click(object sender, EventArgs e) { if (txtRegistracija.Text == "") { MessageBox.Show("Niste odabrali vozilo!"); } else { if (DateTime.Compare(dtpDatumIVrijemePocetka.Value, DateTime.Today.AddDays(1)) == 0) { Iznajmljivanje iznajmljivanje = new Iznajmljivanje(); iznajmljivanje.KlijentID = txtOIB.Text; iznajmljivanje.VoziloID = txtRegistracija.Text; iznajmljivanje.DatumPocetka = dtpDatumIVrijemePocetka.Value; iznajmljivanje.DatumKraja = dtpDatumIVrijemeKraja.Value; iznajmljivanje.BrojDana = int.Parse((dtpDatumIVrijemeKraja.Value - dtpDatumIVrijemePocetka.Value).Days.ToString()); iznajmljivanje.DjelatnikID = Korisnik.PrijavljeniKorisnik.KorisnikID; iznajmljivanje.JedinicnaCijena = double.Parse(txtCijenaPoDanu.Text); iznajmljivanje.Naplaceno = false; Vozilo vozilo = null; TipMotora tipMotora = null; using (RentACarEntities db = new RentACarEntities()) { vozilo = (from v in db.Vozilo where v.VoziloID == txtRegistracija.Text select v).FirstOrDefault(); tipMotora = (from tm in db.TipMotora where tm.TipMotoraID == vozilo.TipMotoraID select tm).FirstOrDefault(); } iznajmljivanje.Naziv = vozilo.Naziv + " " + tipMotora.Naziv; iznajmljivanje.Opis = "Iznajmljivanje vozila " + iznajmljivanje.Naziv + " na " + iznajmljivanje.BrojDana.ToString() + " dana s cijenom od " + iznajmljivanje.JedinicnaCijena.ToString() + "kn po danu."; iznajmljivanje.UkupnaCijena = iznajmljivanje.BrojDana * iznajmljivanje.JedinicnaCijena; iznajmljivanje.RacunID = null; using (RentACarEntities db = new RentACarEntities()) { db.Iznajmljivanje.Add(iznajmljivanje); db.SaveChanges(); } MessageBox.Show("Iznajmljivanje vozila obavljeno!"); } else { Rezervacija rezervacija = new Rezervacija(); rezervacija.KorisnikID = txtOIB.Text; rezervacija.DatumPocetka = dtpDatumIVrijemePocetka.Value; rezervacija.DatumKraja = dtpDatumIVrijemeKraja.Value; rezervacija.DatumRezervacije = DateTime.Now; rezervacija.VoziloID = txtRegistracija.Text; rezervacija.Opis = txtNapomena.Text; rezervacija.JedinicnaCijena = double.Parse(txtCijenaPoDanu.Text); rezervacija.BrojDana = int.Parse(txtBrojDana.Text); using (RentACarEntities db = new RentACarEntities()) { db.Rezervacija.Add(rezervacija); db.SaveChanges(); } MessageBox.Show("Rezervacija vozila obavljena!"); } } this.Close(); }
/* * Za vozilo kreira i postavlja na flowLayoutPanel groupbox sa podacima o vozilu. */ /// <summary> /// Za vozilo kreira i postavlja na flowLayoutPanel groupbox sa podacima o vozilu. /// </summary> /// <param name="vozilo"></param> private void prikaziDostupnaVozila(Vozilo vozilo) { GroupBox g = new GroupBox(); g.Height = 200; g.Text = vozilo.Naziv; Label lblMotor = new Label(); lblMotor.Name = "lblMotor" + vozilo.VoziloID; lblMotor.Text = "Motor:"; Label lblGodiste = new Label(); lblGodiste.Name = "lblGodiste" + vozilo.VoziloID; lblGodiste.Text = "Godište:"; Label lblCijena = new Label(); lblCijena.Name = "lblCijena" + vozilo.VoziloID; lblCijena.Text = "Cijena po danu:"; TextBox txtMotor = new TextBox(); TipMotora tipMotora = null; TextBox txtGodiste = new TextBox(); TextBox txtCijena = new TextBox(); Button btnRezerviraj = new Button(); btnRezerviraj.Name = "btnRezerviraj" + vozilo.VoziloID; btnRezerviraj.Text = "Rezerviraj"; btnRezerviraj.Click += new EventHandler((sender, e) => odaberiVozilo(vozilo)); using (RentACarEntities db = new RentACarEntities()) { tipMotora = (from t in db.TipMotora where t.TipMotoraID == vozilo.TipMotoraID select t).FirstOrDefault(); } txtMotor.Enabled = false; txtGodiste.Enabled = false; txtCijena.Enabled = false; txtMotor.Text = tipMotora.Naziv; txtGodiste.Text = vozilo.GodinaProizvodnje.ToString(); txtCijena.Text = vozilo.CijenaPoDanu.ToString(); g.Controls.Add(lblMotor); g.Controls.Add(txtMotor); g.Controls.Add(lblGodiste); g.Controls.Add(txtGodiste); g.Controls.Add(lblCijena); g.Controls.Add(txtCijena); g.Controls.Add(btnRezerviraj); lblMotor.Width = 50; lblGodiste.Width = 50; lblCijena.Width = 50; lblMotor.Location = new Point(g.Location.X + 10, g.Location.Y + 20); txtMotor.Location = new Point(lblMotor.Location.X + lblMotor.Width, g.Location.Y + 20); lblGodiste.Location = new Point(g.Location.X + 10, txtMotor.Location.Y + 30); txtGodiste.Location = new Point(lblGodiste.Location.X + lblGodiste.Width, lblMotor.Location.Y + 30); lblCijena.Location = new Point(g.Location.X + 10, txtGodiste.Location.Y + 30); txtCijena.Location = new Point(lblCijena.Location.X + lblCijena.Width, lblGodiste.Location.Y + 30); btnRezerviraj.Location = new Point(g.Location.X + 75, txtCijena.Location.X + 50); flpDostupnaVozila.Controls.Add(g); }
/* * 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(); } } }
/// <summary> /// Rukuje događajem pokretanje forme te dohvaća te puni combobox-eve podacima, te ako je odabranoo vozilo za izmjenu popunjava podatke /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmDodajVozilo_Load(object sender, EventArgs e) { kategorijaBindingSource.DataSource = Kategorija.DohvatiKategorije(); tipMotoraBindingSource.DataSource = TipMotora.DohvatiTipoveMotora(); if (vozilo != null) { txtRegistracija.Text = vozilo.VoziloID; txtRegistracija.Enabled = false; txtNaziv.Text = vozilo.Naziv; txtGodinaProizvodnje.Text = vozilo.GodinaProizvodnje.ToString(); txtSnagaMotora.Text = vozilo.SnagaMotora.ToString(); txtKilometri.Text = vozilo.Kilometri.ToString(); txtBrojSjedala.Text = vozilo.BrojSjedala.ToString(); dtpDatumRegistriranja.Text = vozilo.DatumRegistracije.ToString(); cmbKategorija.SelectedValue = vozilo.KategorijaID; cmbTipMotora.SelectedValue = vozilo.TipMotoraID; txtCijenaPoDanu.Text = vozilo.CijenaPoDanu.ToString(); this.Text = "Ažuriranje vozila"; } this.KeyPreview = true; this.KeyUp += frmDodajVozilo_KeyUp; }