private void btnObrisi_Click(object sender, EventArgs e) { Rezervacija izabranaRezervacija = (Rezervacija)lbListaRezervacija.SelectedItem; if (izabranaRezervacija == null) { MessageBox.Show("Izaberite rezervaciju koju želite da izbrišete!"); } else { DialogResult dr = MessageBox.Show("Da li ste sigurni da želite da otkažete" + " izabranu rezervaciju: " + izabranaRezervacija.ToString() + "?", "Otkazivanje rezervacije", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { listaRezervacija.Remove(izabranaRezervacija); TimeSpan dani = izabranaRezervacija.DatumRezDo - izabranaRezervacija.DatumRezOd; int brDana = (int)dani.Days + 1; int cenaPoDanu = izabranaRezervacija.Cena / brDana; Ponuda p = new Ponuda(izabranaRezervacija.IdAuta, izabranaRezervacija.DatumRezOd, izabranaRezervacija.DatumRezDo, cenaPoDanu); listaPonuda.Add(p); Administrator.SerijalizuPonude(listaPonuda); Administrator.SerijalizuRezervacije(listaRezervacija); listaRezervacija = Administrator.DeserijalizujRezervacije(); listaPonuda = Administrator.DeserijalizujPonude(); lbListaRezervacija.Items.Clear(); foreach (Rezervacija r in listaRezervacija) { if (r.IdKupca == idUlogovanog) { if (!lbListaRezervacija.Items.Contains(r)) { lbListaRezervacija.Items.Add(r); } } } MessageBox.Show("Rezervacija otkazana."); } else if (dr == DialogResult.No) { MessageBox.Show("Rezervacija nije otkazana."); } } }
private void cbRezervacijeZaAzuriranje_SelectedIndexChanged(object sender, EventArgs e) { izabranaRez = cbRezervacijeZaAzuriranje.SelectedItem as Rezervacija; txtAutoAzuiraranje.Text = izabranaRez.IdAuta.ToString(); datePreuzimanjeAzuriranje.Value = izabranaRez.DatumRezOd.Date; dateVracanjeAzuriranje.Value = izabranaRez.DatumRezDo.Date; TimeSpan dani = dateVracanjeAzuriranje.Value - datePreuzimanjeAzuriranje.Value; int brDana = (int)dani.Days; txtCenaPoDanuAzuriranje.Text = (izabranaRez.Cena / brDana).ToString(); txtNovaUkupnaCenaAzuiranje.Text = izabranaRez.Cena.ToString(); }
private void btnOtkazi_Click(object sender, EventArgs e) { izabranaRez = cbRezervacijeZaBrisanje.SelectedItem as Rezervacija; if (izabranaRez == null) { MessageBox.Show("Izaberite rezervaciju koju želite da otkažete!"); } else { DialogResult dr = MessageBox.Show("Da li ste sigurni da želite da otkažete" + " izabranu rezervaciju: " + izabranaRez.ToString() + "?", "Otkazivanje rezervacije", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { listaRezervacija.Remove(izabranaRez); TimeSpan dani = izabranaRez.DatumRezDo - izabranaRez.DatumRezOd; int brDana = (int)dani.Days + 1; int cenaPoDanu = izabranaRez.Cena / brDana; Ponuda p = new Ponuda(izabranaRez.IdAuta, izabranaRez.DatumRezOd, izabranaRez.DatumRezDo, cenaPoDanu); listaPonuda.Add(p); Administrator.SerijalizuPonude(listaPonuda); Administrator.SerijalizuRezervacije(listaRezervacija); listaRezervacija = Administrator.DeserijalizujRezervacije(); listaPonuda = Administrator.DeserijalizujPonude(); cbRezervacijeZaBrisanje.Items.Clear(); cbAutomobili.Items.Clear(); cbRezervacijeZaAzuriranje.Items.Clear(); cbRezervacijeZaBrisanje.Text = ""; cbAutomobili.Text = ""; cbRezervacijeZaAzuriranje.Text = ""; foreach (Rezervacija r in listaRezervacija) { if (r.IdKupca == izabraniKupac.IdKupca) { if (!cbRezervacijeZaBrisanje.Items.Contains(r)) { cbRezervacijeZaBrisanje.Items.Add(r); } if (!cbRezervacijeZaAzuriranje.Items.Contains(r)) { cbRezervacijeZaAzuriranje.Items.Add(r); } } } foreach (Automobil a in Administrator.DeserijalizujAute()) { if (!cbAutomobili.Items.Contains(a)) { cbAutomobili.Items.Add(a.IdAutomobila); } } MessageBox.Show("Rezervacija otkazana."); } else if (dr == DialogResult.No) { MessageBox.Show("Rezervacija nije otkazana."); } } }
private void btnAzuriraj_Click(object sender, EventArgs e) { izabranaRez = cbRezervacijeZaAzuriranje.SelectedItem as Rezervacija; if (izabranaRez == null) { MessageBox.Show("Izaberite rezervaciju koju želite da ažurirate!"); } else { int datumiSeNePoklapajuSaPostojecomPonudom = 0; int brojPonuda = 0; foreach (Ponuda ponuda in listaPonuda) { if (txtAutoAzuiraranje.Text.Equals(ponuda.IdAuta.ToString())) { //da su oba datuma kasnije ili ranije od već postojeće ponude //i da je datum OD ranije od datuma DO if ( (datePreuzimanjeAzuriranje.Value.Date.CompareTo(ponuda.DatumOd.Date) > 0 && dateVracanjeAzuriranje.Value.Date.CompareTo(ponuda.DatumDo.Date) > 0 && datePreuzimanjeAzuriranje.Value.Date.CompareTo(ponuda.DatumDo.Date) > 0 && dateVracanjeAzuriranje.Value.Date.CompareTo(ponuda.DatumOd.Date) > 0) || (datePreuzimanjeAzuriranje.Value.Date.CompareTo(ponuda.DatumOd.Date) < 0 && dateVracanjeAzuriranje.Value.Date.CompareTo(ponuda.DatumDo.Date) < 0 && datePreuzimanjeAzuriranje.Value.Date.CompareTo(ponuda.DatumDo.Date) < 0 && dateVracanjeAzuriranje.Value.Date.CompareTo(ponuda.DatumOd.Date) < 0) && datePreuzimanjeAzuriranje.Value.Date.CompareTo(dateVracanjeAzuriranje.Value.Date) <= 0) { datumiSeNePoklapajuSaPostojecomPonudom++; } brojPonuda++; } } if (datumiSeNePoklapajuSaPostojecomPonudom != brojPonuda) { MessageBox.Show("Vaši datumi se poklapaju sa nekom od postojećih ponuda!"); return; } else { listaRezervacija.Remove(izabranaRez); izabranaRez = new Rezervacija(izabranaRez.IdAuta, izabranaRez.IdKupca, datePreuzimanjeAzuriranje.Value, dateVracanjeAzuriranje.Value, izabranaRez.Cena); listaRezervacija.Add(izabranaRez); Administrator.SerijalizuRezervacije(listaRezervacija); MessageBox.Show("Uspešno ste ažurirali rezervaciju!\n" + "Termin: " + izabranaRez.DatumRezOd.Date.ToShortDateString() + "-" + izabranaRez.DatumRezDo.Date.ToShortDateString() + "\nCena: " + izabranaRez.Cena.ToString() + " din"); listaRezervacija = Administrator.DeserijalizujRezervacije(); cbRezervacijeZaBrisanje.Items.Clear(); cbAutomobili.Items.Clear(); cbRezervacijeZaAzuriranje.Items.Clear(); cbRezervacijeZaBrisanje.Text = ""; cbAutomobili.Text = ""; cbRezervacijeZaAzuriranje.Text = ""; foreach (Rezervacija r in listaRezervacija) { if (r.IdKupca == izabraniKupac.IdKupca) { if (!cbRezervacijeZaBrisanje.Items.Contains(r)) { cbRezervacijeZaBrisanje.Items.Add(r); } if (!cbRezervacijeZaAzuriranje.Items.Contains(r)) { cbRezervacijeZaAzuriranje.Items.Add(r); } } } foreach (Automobil a in Administrator.DeserijalizujAute()) { if (!cbAutomobili.Items.Contains(a)) { cbAutomobili.Items.Add(a.IdAutomobila); } } } } }
private void btnDodajRez_Click(object sender, EventArgs e) { if (cbAutomobili.SelectedItem == null) { MessageBox.Show("Izaberite automobil!"); } else { if (string.IsNullOrEmpty(txtCenaPoDanuDodavanje.Text)) { MessageBox.Show("Niste uneli cenu!"); return; } int IdIzabranogAuta = (int)cbAutomobili.SelectedItem; int datumiSeNePoklapajuSaPostojecomPonudom = 0; int brojPonudaZaTajAuto = 0; foreach (Ponuda ponuda in listaPonuda) { if (ponuda.IdAuta == IdIzabranogAuta) { //da su oba datuma kasnije ili ranije od već postojeće ponude //i da je datum OD ranije od datuma DO if ( (datePreuzimanjeDodavanje.Value.Date.CompareTo(ponuda.DatumOd.Date) > 0 && dateVracanjeDodavanje.Value.Date.CompareTo(ponuda.DatumDo.Date) > 0 && datePreuzimanjeDodavanje.Value.Date.CompareTo(ponuda.DatumDo.Date) > 0 && dateVracanjeDodavanje.Value.Date.CompareTo(ponuda.DatumOd.Date) > 0) || (datePreuzimanjeDodavanje.Value.Date.CompareTo(ponuda.DatumOd.Date) < 0 && dateVracanjeDodavanje.Value.Date.CompareTo(ponuda.DatumDo.Date) < 0 && datePreuzimanjeDodavanje.Value.Date.CompareTo(ponuda.DatumDo.Date) < 0 && dateVracanjeDodavanje.Value.Date.CompareTo(ponuda.DatumOd.Date) < 0) && datePreuzimanjeDodavanje.Value.Date.CompareTo(dateVracanjeDodavanje.Value.Date) <= 0) { datumiSeNePoklapajuSaPostojecomPonudom++; } brojPonudaZaTajAuto++; } } if (datumiSeNePoklapajuSaPostojecomPonudom != brojPonudaZaTajAuto) { MessageBox.Show("Vaši datumi se poklapaju sa nekom od postojećih ponuda!"); return; } else { TimeSpan dani = dateVracanjeDodavanje.Value - datePreuzimanjeDodavanje.Value; int brDana = (int)dani.Days + 1; int ukupnaCena = brDana * int.Parse(txtCenaPoDanuDodavanje.Text); Rezervacija nova = new Rezervacija(IdIzabranogAuta, izabraniKupac.IdKupca, datePreuzimanjeDodavanje.Value, dateVracanjeDodavanje.Value, ukupnaCena); listaRezervacija.Add(nova); Administrator.SerijalizuRezervacije(listaRezervacija); MessageBox.Show("Uspešno ste dodali rezervaciju!\n" + "Termin: " + nova.DatumRezOd.Date.ToShortDateString() + "-" + nova.DatumRezDo.Date.ToShortDateString() + "\nCena: " + nova.Cena.ToString() + " din"); listaRezervacija = Administrator.DeserijalizujRezervacije(); cbRezervacijeZaBrisanje.Items.Clear(); cbAutomobili.Items.Clear(); cbRezervacijeZaAzuriranje.Items.Clear(); cbRezervacijeZaBrisanje.Text = ""; cbAutomobili.Text = ""; cbRezervacijeZaAzuriranje.Text = ""; foreach (Rezervacija r in listaRezervacija) { if (r.IdKupca == izabraniKupac.IdKupca) { if (!cbRezervacijeZaBrisanje.Items.Contains(r)) { cbRezervacijeZaBrisanje.Items.Add(r); } if (!cbRezervacijeZaAzuriranje.Items.Contains(r)) { cbRezervacijeZaAzuriranje.Items.Add(r); } } } foreach (Automobil a in Administrator.DeserijalizujAute()) { if (!cbAutomobili.Items.Contains(a)) { cbAutomobili.Items.Add(a.IdAutomobila); } } } } }
private void btnRezervisi_Click(object sender, EventArgs e) { if (dostupnePonude.Count <= 0) { MessageBox.Show("Prvo izaberite automobil!"); } else { Rezervacija rezervacija = null; Ponuda rezervisanaPonuda = null; // >= 0 kasnije ili isti dan // <= 0 ranije ili isti dan foreach (Ponuda ponuda in dostupnePonude) { if (datePreuzimanje.Value.Date.CompareTo(ponuda.DatumOd.Date) >= 0 && dateVracanje.Value.Date.CompareTo(ponuda.DatumDo.Date) <= 0 && datePreuzimanje.Value.Date.CompareTo(dateVracanje.Value.Date) <= 0) { rezervacija = new Rezervacija(idIzabranogAuta, idUlogovanog, datePreuzimanje.Value, dateVracanje.Value, ukupnaCena); listaRezervacija.Add(rezervacija); Administrator.SerijalizuRezervacije(listaRezervacija); rezervisanaPonuda = ponuda; MessageBox.Show("Uspešno ste rezervisali automobil u terminu: " + datePreuzimanje.Value.ToShortDateString() + "-" + dateVracanje.Value.ToShortDateString() + " po ceni od " + ukupnaCena + "din"); } } if (rezervacija == null) { MessageBox.Show("Vaši datumi se ne poklapaju ni sa jednim dostupnim terminom!"); return; } if (rezervisanaPonuda != null) { listaPonuda.Remove(rezervisanaPonuda); if (rezervacija.DatumRezOd.Date.CompareTo(rezervisanaPonuda.DatumOd.Date) == 0 && rezervacija.DatumRezDo.Date.CompareTo(rezervisanaPonuda.DatumDo.Date) != 0) { Ponuda p = new Ponuda(idIzabranogAuta, rezervacija.DatumRezDo.Date.AddDays(1), rezervisanaPonuda.DatumDo.Date, rezervisanaPonuda.CenaPoDanu); listaPonuda.Add(p); Administrator.SerijalizuPonude(listaPonuda); listaPonuda = Administrator.DeserijalizujPonude(); } else if (rezervacija.DatumRezDo.Date.CompareTo(rezervisanaPonuda.DatumDo.Date) == 0 && rezervacija.DatumRezOd.Date.CompareTo(rezervisanaPonuda.DatumOd.Date) != 0) { Ponuda p = new Ponuda(idIzabranogAuta, rezervisanaPonuda.DatumOd.Date, rezervacija.DatumRezOd.Date.AddDays(-1), rezervisanaPonuda.CenaPoDanu); listaPonuda.Add(p); Administrator.SerijalizuPonude(listaPonuda); listaPonuda = Administrator.DeserijalizujPonude(); } else if (rezervacija.DatumRezOd.Date.CompareTo(rezervisanaPonuda.DatumOd.Date) > 0 && rezervacija.DatumRezDo.Date.CompareTo(rezervisanaPonuda.DatumDo) < 0) { Ponuda p1 = new Ponuda(idIzabranogAuta, rezervisanaPonuda.DatumOd.Date, rezervacija.DatumRezOd.Date.AddDays(-1), rezervisanaPonuda.CenaPoDanu); Ponuda p2 = new Ponuda(idIzabranogAuta, rezervacija.DatumRezDo.Date.AddDays(1), rezervisanaPonuda.DatumDo.Date, rezervisanaPonuda.CenaPoDanu); listaPonuda.Add(p1); listaPonuda.Add(p2); Administrator.SerijalizuPonude(listaPonuda); listaPonuda = Administrator.DeserijalizujPonude(); } Administrator.SerijalizuPonude(listaPonuda); frmVaseRezervacije frmVaseRez = new frmVaseRezervacije(idUlogovanog); frmVaseRez.MdiParent = this.MdiParent; Hide(); frmVaseRez.Show(); Close(); } } }