private void BtnUnesiPonudu_Click(object sender, EventArgs e) { int greska = 0; if (greska_selektovanja_auta_ponuda != 0) { MessageBox.Show("Niste selektovali automobil."); } if (listboxAutaPonuda.SelectedItem == listboxAutaPonuda.Items[0]) { MessageBox.Show("Niste selektovali automobil."); greska++; } else { int prazno_polje = 0; if (txtCenaPoDanu.Text == "") { MessageBox.Show("Popunite polje cena po danu."); prazno_polje++; greska++; } if (prazno_polje == 0) { if (!int.TryParse(txtCenaPoDanu.Text, out int cena)) { MessageBox.Show("Za cenu po danu unesite samo cifre."); greska++; } } if (dateTimeOD.Value.Date > dateTimeDO.Value.Date) { MessageBox.Show("Unesite ispravan opseg datuma."); greska++; } } if (greska_selektovanja_auta_ponuda == 0 && greska == 0) { citanje_iz_fajla_ponuda(); for (int i = 0; i < ponuda.Count; i++) { if (int.Parse(txtIdPonuda.Text) == ponuda[i].ID && dateTimeOD.Value.Date >= ponuda[i].getDatumOd().Date&& dateTimeOD.Value.Date <= ponuda[i].getDatumDo().Date) { MessageBox.Show("Uneli ste postojeci termin u ponudi!"); greska++; break; } if (int.Parse(txtIdPonuda.Text) == ponuda[i].ID && dateTimeDO.Value.Date >= ponuda[i].getDatumOd().Date&& dateTimeDO.Value.Date <= ponuda[i].getDatumDo().Date) { MessageBox.Show("Uneli ste postojeci termin u ponudi!"); greska++; break; } if (int.Parse(txtIdPonuda.Text) == ponuda[i].ID && dateTimeOD.Value.Date >= ponuda[i].getDatumOd().Date&& dateTimeDO.Value.Date <= ponuda[i].getDatumDo().Date) { MessageBox.Show("Uneli ste postojeci termin u ponudi!"); greska++; break; } if (int.Parse(txtIdPonuda.Text) == ponuda[i].ID && dateTimeOD.Value.Date <= ponuda[i].getDatumOd().Date&& dateTimeDO.Value.Date >= ponuda[i].getDatumDo().Date) { MessageBox.Show("Uneli ste postojeci termin u ponudi!"); greska++; break; } } } if (greska == 0) { Ponuda p = new Ponuda(int.Parse(txtIdPonuda.Text), int.Parse(txtCenaPoDanu.Text), dateTimeOD.Value.Date, dateTimeDO.Value.Date); ponuda.Add(p); upis_u_fajl_ponuda(); MessageBox.Show("Uspesno uneta ponuda."); listboxPonudaZaAuto.Items.Clear(); inicijalizacija_ponude(); } }
private void BtnRezervisi_Click(object sender, EventArgs e) { citanje_iz_fajla_ponuda(); citanje_iz_fajla_automobil(); int greska_izbora = 0; int id_odabranog_auta = -1; for (int i = 0; i < automobili.Count; i++) { if (automobili[i].marka == (string)cmbMarka.SelectedItem && automobili[i].model == (string)cmbModel.SelectedItem && automobili[i].godiste == (int)cmbGodiste.SelectedItem && automobili[i].kubikaza == (int)cmbKubikaza.SelectedItem && automobili[i].karoserija == (string)cmbKaroserija.SelectedItem && automobili[i].brVrata == (string)cmbBrVrata.SelectedItem && automobili[i].gorivo == (string)cmbGorivo.SelectedItem && automobili[i].pogon == (string)cmbPogon.SelectedItem && automobili[i].menjac == (string)cmbMenjac.SelectedItem) { id_odabranog_auta = automobili[i].id; greska_izbora = 0; break; } else { greska_izbora++; } } if (greska_izbora != 0) { MessageBox.Show("Niste izabrali sve kategorije za vozilo."); } DateTime preuzimanje = dateTimePreuzimanje.Value.Date; DateTime vracanje = dateTimeVracanje.Value.Date; int greska_opsega = 0; int greska_termin = 0; if (greska_izbora == 0) { if (preuzimanje > vracanje) { greska_opsega++; MessageBox.Show("Uneli ste neodgovarajuci opseg datuma."); txtUkupnaCena.Text = ""; } } if (greska_opsega == 0 && greska_izbora == 0) { for (int i = 0; i < ponuda.Count; i++) { if (id_odabranog_auta == ponuda[i].ID && preuzimanje >= ponuda[i].getDatumOd().Date&& vracanje <= ponuda[i].getDatumDo().Date ) { TimeSpan t = vracanje.Subtract(preuzimanje); double cena = (t.TotalDays + 1) * ponuda[i].Cena; citanje_iz_fajla_rezervacije(); Rezervacije r = new Rezervacije(id_odabranog_auta, id_kupca, (int)cena, preuzimanje, vracanje); rezervacije.Add(r); upis_u_fajl_rezervacije(); txtPrikazTermina.Clear(); txtUkupnaCena.Clear(); if (preuzimanje == ponuda[i].getDatumOd().Date&& vracanje == ponuda[i].getDatumDo().Date) { ponuda.RemoveAt(i); upis_u_fajl_ponuda(); } if (preuzimanje == ponuda[i].getDatumOd().Date&& vracanje < ponuda[i].getDatumDo().Date) { Ponuda p1 = new Ponuda(id_odabranog_auta, ponuda[i].Cena, vracanje.AddDays(1), ponuda[i].getDatumDo()); ponuda.Add(p1); ponuda.RemoveAt(i); upis_u_fajl_ponuda(); } if (preuzimanje > ponuda[i].getDatumOd().Date&& vracanje == ponuda[i].getDatumDo().Date) { Ponuda p1 = new Ponuda(id_odabranog_auta, ponuda[i].Cena, ponuda[i].getDatumOd(), preuzimanje.AddDays(-1)); ponuda.Add(p1); ponuda.RemoveAt(i); upis_u_fajl_ponuda(); } if (preuzimanje > ponuda[i].getDatumOd().Date&& vracanje < ponuda[i].getDatumDo().Date) { Ponuda p1 = new Ponuda(id_odabranog_auta, ponuda[i].Cena, ponuda[i].getDatumOd(), preuzimanje.AddDays(-1)); ponuda.Add(p1); Ponuda p2 = new Ponuda(id_odabranog_auta, ponuda[i].Cena, vracanje.AddDays(+1), ponuda[i].getDatumDo()); ponuda.Add(p2); ponuda.RemoveAt(i); upis_u_fajl_ponuda(); } this.Close(); Moje_Rezervacije frmMojeRez = new Moje_Rezervacije(); frmMojeRez.Show(); greska_termin = 0; break; } else { greska_termin++; } } } if (greska_termin != 0) { MessageBox.Show("Nema termina u izabranom opsegu datuma."); } }