private void btnPrikaziTermine_Click(object sender, EventArgs e) { bool ima = false; odabranePonude = new List <Ponuda>(); odabraneRezervacije = new List <Rezervacija>(); if (cmbMarka.SelectedItem != null && cmbModel.SelectedItem != null && cmbGodiste.SelectedItem != null) { foreach (Automobil a in listaAuta) { if (a.Marka == cmbMarka.SelectedItem.ToString() && a.Model == cmbModel.SelectedItem.ToString() && a.Godiste.ToString() == cmbGodiste.SelectedItem.ToString() && a.Pogon.ToString() == cmbPogon.SelectedItem.ToString() && a.Kubikaza.ToString() == cmbKubikaza.SelectedItem.ToString() && a.Karoserija.ToString() == cmbKaroserija.SelectedItem.ToString() && a.BrVrata.ToString() == cmbVrata.SelectedItem.ToString() && a.Gorivo.ToString() == cmbGorivo.SelectedItem.ToString() && a.Menjac.ToString() == cmbMenjac.SelectedItem.ToString()) { foreach (Ponuda p in listaPonuda) { if (p.IdAuta == a.Id) { odabranePonude.Add(p); ima = true; } } foreach (Rezervacija r in listaRezervacija) { if (r.IdAutomobila == a.Id) { odabraneRezervacije.Add(r); } } } } } if (!ima) { MessageBox.Show("Nema termina za izabrane kriterijume auta!"); lstTermini.Items.Clear(); } else { Ponuda.Sortiraj(odabranePonude); Rezervacija.Sortiraj(odabraneRezervacije); RacunajPonude(); IspisiPonude(); } }
public int RacunajDaneMesec(int autoIdbr, List <Rezervacija> rezervacije, int mesec, int godina) { int ukupnoAuto = 0; DateTime pocetak = new DateTime(godina, mesec, 1).Date; DateTime kraj = pocetak.AddMonths(1).AddDays(-1).Date; Rezervacija.Sortiraj(rezervacije); for (int i = 0; i < rezervacije.Count; i++) { if (autoIdbr == rezervacije[i].IdAutomobila) { if (rezervacije[i].DatumOd.Date >= pocetak && rezervacije[i].DatumOd <= kraj) { if (rezervacije[i].DatumDo.Date <= kraj) { ukupnoAuto += (int)(rezervacije[i].DatumDo.Date - rezervacije[i].DatumOd.Date).TotalDays + 1; } else { ukupnoAuto += (int)(kraj - rezervacije[i].DatumOd.Date).TotalDays + 1; } } else if (rezervacije[i].DatumDo >= pocetak && pocetak >= rezervacije[i].DatumOd) { if (rezervacije[i].DatumDo <= kraj) { ukupnoAuto += (int)(rezervacije[i].DatumDo - pocetak).TotalDays + 1; } else if (rezervacije[i].DatumDo > kraj) { ukupnoAuto += (int)(kraj - pocetak).TotalDays + 1; } } } } return(ukupnoAuto); }