private void updateujPonude(Rezervacija rezervacija) { for (int i = 0; i < ispisPonuda.Count; i++) { if (dtpDatumOd.Value.Date > ispisPonuda[i].DatumOd.Date && dtpDatumDo.Value.Date < ispisPonuda[i].DatumDo.Date) { Ponuda p1 = new Ponuda(rezervacija.IdAutomobila, ispisPonuda[i].CenaPoDanu, ispisPonuda[i].DatumOd, dtpDatumOd.Value.AddDays(-1)); Ponuda p2 = new Ponuda(rezervacija.IdAutomobila, ispisPonuda[i].CenaPoDanu, dtpDatumDo.Value.AddDays(1), ispisPonuda[i].DatumDo); ispisPonuda.Remove(ispisPonuda[i]); ispisPonuda.Add(p1); ispisPonuda.Add(p2); upisPonuda(); } else if (dtpDatumOd.Value.Date <= ispisPonuda[i].DatumOd.Date && dtpDatumDo.Value.Date >= ispisPonuda[i].DatumDo.Date) { ispisPonuda.Remove(ispisPonuda[i]); upisPonuda(); } else if (dtpDatumDo.Value.Date == ispisPonuda[i].DatumDo.Date && dtpDatumOd.Value.Date > ispisPonuda[i].DatumOd) { ispisPonuda[i].DatumDo = dtpDatumOd.Value.AddDays(-1); upisPonuda(); } else if (dtpDatumOd.Value.Date == ispisPonuda[i].DatumOd.Date && dtpDatumDo.Value.Date < ispisPonuda[i].DatumDo) { ispisPonuda[i].DatumOd = dtpDatumDo.Value.AddDays(1); upisPonuda(); } else if (dtpDatumDo.Value.Date >= ispisPonuda[i].DatumOd.Date && dtpDatumOd.Value.Date <= ispisPonuda[i].DatumOd) { ispisPonuda[i].DatumOd = dtpDatumDo.Value.AddDays(1); upisPonuda(); } else if (dtpDatumOd.Value.Date <= ispisPonuda[i].DatumDo.Date && dtpDatumDo.Value.Date >= ispisPonuda[i].DatumDo) { ispisPonuda[i].DatumDo = dtpDatumOd.Value.AddDays(-1); upisPonuda(); } } }
private void dodajIUpisiPonudu(Rezervacija rezervacija) { FileStream fs = File.OpenRead("ponude.pol"); BinaryFormatter bf = new BinaryFormatter(); List <Ponuda> ispisPonuda = bf.Deserialize(fs) as List <Ponuda>; fs.Close(); if (!proveriDaLiSuDatumiZauzeti(ispisPonuda, rezervacija.DatumOd, rezervacija.DatumDo, rezervacija.IdAutomobila)) { Ponuda p = new Ponuda(rezervacija.IdAutomobila, rezervacija.Cena / ((rezervacija.DatumDo - rezervacija.DatumOd).Days + 1), rezervacija.DatumOd, rezervacija.DatumDo); ispisPonuda.Add(p); fs = File.OpenWrite("ponude.pol"); bf.Serialize(fs, ispisPonuda as List <Ponuda>); fs.Close(); } }
private void napraviPonudu(Rezervacija rezervacija) { string novePonuda = ""; if (!proveriDaLiSuDatumiZauzeti(rezervacija)) { double cenaPoDanu = rezervacija.Cena / ((rezervacija.DatumDo - rezervacija.DatumOd).Days + 1); Ponuda p = new Ponuda(rezervacija.IdAutomobila, cenaPoDanu, rezervacija.DatumOd, rezervacija.DatumDo); novePonuda += Environment.NewLine + "ID automobila: " + p.IdAutomobila + ", " + p.DatumOd.ToString("dd/MM/yyy") + " - " + p.DatumDo.ToString("dd/MM/yyy") + ", " + cenaPoDanu.ToString("0.00") + " rsd"; if ((MessageBox.Show(novePonuda, "Da li želite da dodate sledecu ponudu?", MessageBoxButtons.OKCancel)) == DialogResult.OK) { ispisPonuda.Add(p); upisPonuda(); } } }
private void btnDodajRezervaciju_Click(object sender, EventArgs e) { double cena; if (lbxKupci.SelectedItem == null) { MessageBox.Show("Niste selektovali kupca za rezervaciju!"); } else if (lbxAutomobili.SelectedItem == null) { MessageBox.Show("Niste selektovali automobil za rezervaciju!"); } else if ((cena = procitajCenu()) > 0 && !proveriDaliSuDatumiZauzetiURezervacijama(nadjiSelektovaniIdAutomobila())) { Rezervacija rezervacija = new Rezervacija(nadjiSelektovaniIdAutomobila(), nadjiSelektovaniIdKupca(), dtpDatumOd.Value, dtpDatumDo.Value, cena); ispisRezervacija.Add(rezervacija); upisRezervacija(); updateujPonude(rezervacija); MessageBox.Show("Rezervacija uspešno dodata."); } }
private void btnRezervisi_Click(object sender, EventArgs e) { bool nadjenaPonuda = false; for (int i = 0; i < ispisPonuda.Count; i++) { if (idAutomobila == ispisPonuda[i].IdAutomobila && dtpDatumOd.Value.Date >= ispisPonuda[i].DatumOd.Date && dtpDatumDo.Value.Date <= ispisPonuda[i].DatumDo.Date) { if (!proveriDaliSuDatumiZauzetiURezervacijama(idAutomobila)) { int rasponDana = (dtpDatumDo.Value - dtpDatumOd.Value).Days + 1; if (File.Exists("rezervacije.pol")) { Rezervacija r = new Rezervacija(idAutomobila, kupac.Id, dtpDatumOd.Value, dtpDatumDo.Value, rasponDana * ispisPonuda[i].CenaPoDanu); ispisRezervacija.Add(r); } else { Rezervacija r = new Rezervacija(idAutomobila, kupac.Id, dtpDatumOd.Value, dtpDatumDo.Value, rasponDana * ispisPonuda[i].CenaPoDanu); ispisRezervacija.Add(r); } upisRezervacija(); nadjenaPonuda = true; txtUkupnaCena.Text = (rasponDana * ispisPonuda[i].CenaPoDanu).ToString("0.00") + " rsd"; updateujPonude(i); MessageBox.Show("Rezervacija uspešna."); } } } if (!nadjenaPonuda) { MessageBox.Show("Nismo nasli ponudu za izabrani automobil u izabranom periodu."); } }