private void btnObrisiPonudu_Click(object sender, EventArgs e) { Ponuda temp = cbSvePonude.SelectedItem as Ponuda; if (temp != null) { DialogResult dialogResult = MessageBox.Show("Da li ste sigurni da želite da obrištete ponudu " + temp.ToString() + "?", "Obriši", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { listaPonuda.Remove(temp); Administrator.SerijalizuPonude(listaPonuda); MessageBox.Show("Ponuda izbrisana!"); cbSvePonude.Items.Clear(); cbSvePonude.Text = ""; listaPonuda = Administrator.DeserijalizujPonude(); foreach (Ponuda ponuda in listaPonuda) { if (!cbSvePonude.Items.Contains(ponuda.ToString())) { cbSvePonude.Items.Add(ponuda); } } } else if (dialogResult == DialogResult.No) { MessageBox.Show("Ponuda nije izbrisana!"); } } else { MessageBox.Show("Izaberite ponudu koju želite da obrišete!"); } }
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 cbPonude_SelectedIndexChanged(object sender, EventArgs e) { Ponuda ponuda = (Ponuda)cbPonude.SelectedItem; List <Automobil> auti = Administrator.DeserijalizujAute(); Automobil auto = null; foreach (Automobil a in auti) { if (ponuda.IdAuta == a.IdAutomobila) { auto = a; } } txtAuto.Text = auto.ispis(); txtAuto.ReadOnly = true; dateOd.Value = ponuda.DatumOd; dateDo.Value = ponuda.DatumDo; txtCena.Text = ponuda.CenaPoDanu.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 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(); } } }
private void btnAzuriraj_Click(object sender, EventArgs e) { Ponuda stara = (Ponuda)cbPonude.SelectedItem; int novaCenaPoDanu = 0; if (!string.IsNullOrEmpty(txtCena.Text)) { char[] niz = txtCena.Text.ToCharArray(); bool greska = false; foreach (char karakter in niz) { if (!char.IsDigit(karakter)) { // ako jedan od karaktera nije broj greska = true; } } if (greska) { MessageBox.Show("Cenu unesite brojevima, ne slovima!"); return; } else { novaCenaPoDanu = int.Parse(txtCena.Text); } } else { MessageBox.Show("Niste uneli cenu po danu!"); return; } DateTime noviSelektovaniDatumOd; DateTime noviSelektovaniDatumDo; int provera = dateOd.Value.Date.CompareTo(DateTime.Now.Date); if (provera < 0) // ako je selektovaniDatumOD ranije od današnjeg dana { MessageBox.Show("Ne možete izabrati datum koji je već prošao!"); return; } else { noviSelektovaniDatumOd = dateOd.Value; } provera = dateDo.Value.Date.CompareTo(noviSelektovaniDatumOd.Date); if (provera < 0) // ako je selektovani datum DO ranije od datuma OD { MessageBox.Show("Datum do kojeg traje ponuda mora biti posle datuma od kada ponuda počinje!"); return; } else { noviSelektovaniDatumDo = dateDo.Value; } Ponuda azurirana = new Ponuda(stara.IdAuta, noviSelektovaniDatumOd, noviSelektovaniDatumDo, novaCenaPoDanu); listaPonuda.Remove(stara); // obriši staru (zbog provere vremena) int brojac = 0; int brojPonuda = 0; foreach (Ponuda p in listaPonuda) { if (stara.IdAuta == p.IdAuta) // ako za auto postoje ponude { int proveri1 = azurirana.DatumOd.Date.CompareTo(p.DatumOd.Date); int proveri2 = azurirana.DatumDo.Date.CompareTo(p.DatumDo.Date); int proveri3 = azurirana.DatumOd.Date.CompareTo(p.DatumDo.Date); int proveri4 = azurirana.DatumDo.Date.CompareTo(p.DatumOd.Date); // da li nova ponuda ne preklapa termin ponude iz liste if ((proveri1 < 0 && proveri2 < 0 && proveri3 < 0 && proveri4 < 0) || (proveri1 > 0 && proveri2 > 0 && proveri3 > 0 && proveri4 > 0)) { brojac++; } brojPonuda++; } } if (brojac != brojPonuda) { listaPonuda.Add(stara); Administrator.SerijalizuPonude(listaPonuda); MessageBox.Show("Vremenski period nove ponude je već sadržan u nekoj od postojećih ponuda!"); return; } else { listaPonuda.Add(azurirana); Administrator.SerijalizuPonude(listaPonuda); MessageBox.Show("Uspešno izmenjena ponuda!"); cbPonude.Items.Clear(); cbPonude.Text = ""; listaPonuda = Administrator.DeserijalizujPonude(); foreach (Ponuda pon in listaPonuda) { if (!cbPonude.Items.Contains(pon.ToString())) { cbPonude.Items.Add(pon); } } } }
private void btnDodajPonudu_Click(object sender, EventArgs e) { int selektovaniIdAuta = 0; DateTime selektovaniDatumOd; DateTime selektovaniDatumDo; int cenaPoDanu = 0; if (cbPonudaIdAuta.SelectedItem != null) { selektovaniIdAuta = (int)cbPonudaIdAuta.SelectedItem; } else { MessageBox.Show("Niste izabrali automobil!"); return; } if (!string.IsNullOrEmpty(txtCenaPoDanu.Text)) { char[] niz = txtCenaPoDanu.Text.ToCharArray(); bool greska = false; foreach (char karakter in niz) { if (!char.IsDigit(karakter)) // ako jedan od karaktera nije broj { greska = true; } } if (greska) { MessageBox.Show("Cenu unesite brojevima, ne slovima!"); return; } else { cenaPoDanu = int.Parse(txtCenaPoDanu.Text); } } else { MessageBox.Show("Niste uneli cenu po danu!"); return; } int provera = dateOd.Value.Date.CompareTo(DateTime.Now.Date); if (provera < 0) // ako je selektovani datum OD ranije od današnjeg dana { MessageBox.Show("Ne možete izabrati datum koji je već prošao!"); return; } else { selektovaniDatumOd = dateOd.Value; } provera = dateDo.Value.Date.CompareTo(selektovaniDatumOd.Date); if (provera < 0) // ako je selektovani datum DO ranije od datuma OD { MessageBox.Show("Datum do kojeg traje ponuda mora biti posle datuma od kada ponuda počinje!"); return; } else { selektovaniDatumDo = dateDo.Value; } Ponuda novaPounda = new Ponuda(selektovaniIdAuta, selektovaniDatumOd, selektovaniDatumDo, cenaPoDanu); int brojac = 0; int brojPonuda = 0; foreach (Ponuda p in listaPonuda) { if (selektovaniIdAuta == p.IdAuta) // ako za auto postoje ponude { int proveri1 = novaPounda.DatumOd.Date.CompareTo(p.DatumOd.Date); int proveri2 = novaPounda.DatumDo.Date.CompareTo(p.DatumDo.Date); int proveri3 = novaPounda.DatumOd.Date.CompareTo(p.DatumDo.Date); int proveri4 = novaPounda.DatumDo.Date.CompareTo(p.DatumOd.Date); // ako za taj auto, već postoji ponuda koja pokriva vremenski period nove ponude if ((proveri1 < 0 && proveri2 < 0 && proveri3 < 0 && proveri4 < 0) || (proveri1 > 0 && proveri2 > 0 && proveri3 > 0 && proveri4 > 0)) { brojac++; } brojPonuda++; } } if (brojac != brojPonuda) { MessageBox.Show("Vremenski period nove ponude je već sadržan u nekoj od postojećih ponuda!"); return; } else { listaPonuda.Add(novaPounda); Administrator.SerijalizuPonude(listaPonuda); MessageBox.Show("Uspešno dodata ponuda!"); cbPonudaIdAuta.Text = ""; txtCenaPoDanu.Text = ""; cbSvePonude.Items.Clear(); cbSvePonude.Text = ""; listaPonuda = Administrator.DeserijalizujPonude(); foreach (Ponuda ponuda in listaPonuda) { if (!cbSvePonude.Items.Contains(ponuda.ToString())) { cbSvePonude.Items.Add(ponuda); } } } }