public static void citanjePonudeDatoteke(ref List <Ponuda> ponuda) { try { FileStream fs = new FileStream("ponude.xml", FileMode.OpenOrCreate); SoapFormatter soapform = new SoapFormatter(); while (true) { try { Ponuda p = (Ponuda)soapform.Deserialize(fs); ponuda.Add(p); } catch { break; } } fs.Close(); } catch { MessageBox.Show("Greška pri čitanju podataka iz datoteke ponude" + ".xml!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public void prikazTrenutnihPonuda(object sender, EventArgs e) { List <Ponuda> ListaPonuda = new List <Ponuda>(); Ponuda pom = null; RadSaDatotekama.citanjePonudeDatoteke(ref ListaPonuda); for (int i = 0; i < ListaPonuda.Count - 1; i++) { for (int j = i + 1; j < ListaPonuda.Count; j++) { if ((ListaPonuda[i].IdbrAutomobila > ListaPonuda[j].IdbrAutomobila) || ((ListaPonuda[i].IdbrAutomobila == ListaPonuda[j].IdbrAutomobila) && ListaPonuda[i].DatumOd.Date > ListaPonuda[j].DatumOd.Date)) { pom = ListaPonuda[i]; ListaPonuda[i] = ListaPonuda[j]; ListaPonuda[j] = pom; } } } cbSvePonude.Items.Clear(); foreach (Ponuda p in ListaPonuda) { cbSvePonude.Items.Add(p); } ListaPonuda.Clear(); }
//Ponuda public void dodajNovuPonudu(object sender, EventArgs e) { Boolean proveraValidnosti = ValidacijaPodataka.validacijaNovePonude(ref txtIDBRAutPonuda, ref txtCenaPoDanu, dtpDatumOd.Value, dtpDatumDo.Value); if (proveraValidnosti == true) { Ponuda p = new Ponuda(int.Parse(txtIDBRAutPonuda.Text), int.Parse(txtCenaPoDanu.Text), dtpDatumOd.Value, dtpDatumDo.Value); Boolean proveraKreiranje = p.dodajNovuPonudu(); if (proveraKreiranje == true) { MessageBox.Show("Uspešno ste dodali novu Ponudu u sistem!"); txtIDBRAutPonuda.Text = ""; txtCenaPoDanu.Text = ""; dtpDatumOd.Value = DateTime.Now; dtpDatumDo.Value = DateTime.Now; cbSvePonude.Text = ""; } } else { MessageBox.Show("Podaci koje ste uneli nisu pravilno popunjeni!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); dtpDatumOd.Value = DateTime.Now; dtpDatumDo.Value = DateTime.Now; } }
public void azuriranjePonude(DateTime dtpNoviDatumOd, DateTime dtpNoviDatumDo) { Boolean flagPonuda = false; Boolean flagPodaci = true; List <Ponuda> ListaPonuda = new List <Ponuda>(); Ponuda pomocna = null; RadSaDatotekama.citanjePonudeDatoteke(ref ListaPonuda); foreach (Ponuda p in ListaPonuda) { if (this.idbrAutomobila == p.idbrAutomobila && this.datumOd.Date == p.datumOd.Date && this.datumDo.Date == p.DatumDo.Date) { flagPonuda = true; pomocna = p; break; } } if (flagPonuda == true) { foreach (Ponuda p in ListaPonuda) { if (p != pomocna && this.idbrAutomobila == p.idbrAutomobila) { if ((dtpNoviDatumOd.Date >= p.datumOd.Date && dtpNoviDatumOd.Date <= p.datumDo.Date) || (dtpNoviDatumDo.Date >= p.datumOd.Date && dtpNoviDatumDo.Date <= p.DatumDo.Date)) { flagPodaci = false; } } } if (flagPodaci == true) { for (int i = 0; i < ListaPonuda.Count; i++) { if (ListaPonuda[i] == pomocna) { this.DatumOd = dtpNoviDatumOd.Date; this.DatumDo = dtpNoviDatumDo.Date; ListaPonuda[i] = this; } } RadSaDatotekama.upisPonudeDatoteke(ref ListaPonuda); MessageBox.Show("Uspešno ste ažurirali Ponudu!"); } else { MessageBox.Show("Ne možete preklapati datume za jedan isti Automobil!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("Traženi podaci nisu pronađeni u sistemu Ponuda!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } ListaPonuda.Clear(); }
public void selektujIspisiPonudu(object sender, EventArgs e) { Object ponuda = cbSvePonude.SelectedItem; Ponuda p = ponuda as Ponuda; txtIDBRAutPonuda.Text = p.IdbrAutomobila.ToString(); txtCenaPoDanu.Text = p.CenaPoDanu.ToString(); dtpDatumOd.Value = p.DatumOd; dtpDatumDo.Value = p.DatumDo; }
public void brisanjePonude(object sender, EventArgs e) { Boolean proveraValidnostiIDBR = ValidacijaPodataka.validacijaIdbrBrisanje(ref txtIDBRAutPonuda); if (proveraValidnostiIDBR == true) { Ponuda p = new Ponuda(int.Parse(txtIDBRAutPonuda.Text), dtpDatumOd.Value, dtpDatumDo.Value); p.ukloniPonudu(); txtIDBRAutPonuda.Text = ""; txtCenaPoDanu.Text = ""; dtpDatumOd.Value = DateTime.Now; dtpDatumDo.Value = DateTime.Now; cbSvePonude.Text = ""; } else { MessageBox.Show("IDBR Automobila u Ponudi preko koga brišemo ponudu nije validan!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public void azuriranjePonude(object sender, EventArgs e) { Boolean proveraValidnosti = ValidacijaPodataka.validacijaNovePonude(ref txtIDBRAutPonuda, ref txtCenaPoDanu, dtpDatumOd.Value, dtpDatumDo.Value); Boolean proveraValidnostiNovihDatuma = ValidacijaPodataka.validacijaNovihDatuma(dtpNoviDatumOd.Value, dtpNoviDatumDo.Value); if (proveraValidnosti == true && proveraValidnostiNovihDatuma == true) { Ponuda p = new Ponuda(int.Parse(txtIDBRAutPonuda.Text), int.Parse(txtCenaPoDanu.Text), dtpDatumOd.Value, dtpDatumDo.Value); p.azuriranjePonude(dtpNoviDatumOd.Value, dtpNoviDatumDo.Value); txtIDBRAutPonuda.Text = ""; txtCenaPoDanu.Text = ""; dtpDatumOd.Value = DateTime.Now; dtpDatumDo.Value = DateTime.Now; cbSvePonude.Text = ""; } else { MessageBox.Show("Podaci o Ponudi nisu pravilno popunjeni!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public void prikazPonuda(object sender, EventArgs e) { Boolean flagProvera = true; Rezervacija pom = null; List <Ponuda> ListaPonuda = new List <Ponuda>(); List <Ponuda> GlavnaListaPonuda = new List <Ponuda>(); List <Rezervacija> ListaRez = new List <Rezervacija>(); RadSaDatotekama.citanjePonudeDatoteke(ref ListaPonuda); RadSaDatotekama.citanjeRezDatoteke(ref ListaRez); txtPrikazTermina.Text = ""; PomocnaListaPonuda.Clear(); if (cbMarka.Text != "" && cbModel.Text != "" && cbGodiste.Text != "" && cbKubikaza.Text != "" && cbKaroserija.Text != "" && cbBrojVrata.Text != "" && cbGorivo.Text != "" && cbPogon.Text != "" && cbMenjac.Text != "") { //Kreiranje Liste Ponuda samo od potrebnih Ponuda for (int i = 0; i < ListaPonuda.Count; i++) { for (int j = 0; j < GlavnaLista.Count; j++) { if (ListaPonuda[i].IdbrAutomobila == GlavnaLista[j].Idbr) { GlavnaListaPonuda.Add(ListaPonuda[i]); } } } //Sortiranje Liste Rezervacija for (int i = 0; i < ListaRez.Count - 1; i++) { for (int j = i + 1; j < ListaRez.Count; j++) { if ((ListaRez[i].IdbrAutomobila > ListaRez[j].IdbrAutomobila) || ((ListaRez[i].IdbrAutomobila == ListaRez[j].IdbrAutomobila) && ListaRez[i].DatumOd.Date > ListaRez[j].DatumOd.Date)) { pom = ListaRez[i]; ListaRez[i] = ListaRez[j]; ListaRez[j] = pom; } } } //Ispis Ponuda for (int i = 0; i < GlavnaListaPonuda.Count; i++) { flagProvera = true; for (int j = 0; j < ListaRez.Count; j++) { if (GlavnaListaPonuda[i].IdbrAutomobila == ListaRez[j].IdbrAutomobila) { if (ListaRez[j].DatumOd.Date <GlavnaListaPonuda[i].DatumOd.Date && ListaRez[j].DatumDo.Date> GlavnaListaPonuda[i].DatumDo.Date) { flagProvera = false; break; } else if (ListaRez[j].DatumOd.Date >= GlavnaListaPonuda[i].DatumOd.Date && ListaRez[j].DatumOd.Date <= GlavnaListaPonuda[i].DatumDo.Date && ListaRez[j].DatumDo.Date >= GlavnaListaPonuda[i].DatumOd.Date && ListaRez[j].DatumDo.Date <= GlavnaListaPonuda[i].DatumDo.Date) { PomocnaListaPonuda.Add(new Ponuda(GlavnaListaPonuda[i].IdbrAutomobila, GlavnaListaPonuda[i].CenaPoDanu, GlavnaListaPonuda[i].DatumOd.Date, ListaRez[j].DatumOd.Date.AddDays(-1))); GlavnaListaPonuda[i] = new Ponuda(GlavnaListaPonuda[i].IdbrAutomobila, GlavnaListaPonuda[i].CenaPoDanu, ListaRez[j].DatumDo.Date.AddDays(1), GlavnaListaPonuda[i].DatumDo.Date); if (j == (ListaRez.Count - 1)) { PomocnaListaPonuda.Add(GlavnaListaPonuda[i]); } else if (ListaRez[j + 1].DatumOd.Date > GlavnaListaPonuda[i].DatumDo.Date) { PomocnaListaPonuda.Add(GlavnaListaPonuda[i]); } else if (GlavnaListaPonuda[i].IdbrAutomobila != ListaRez[j + 1].IdbrAutomobila) { PomocnaListaPonuda.Add(GlavnaListaPonuda[i]); } flagProvera = false; } else if (ListaRez[j].DatumOd.Date >= GlavnaListaPonuda[i].DatumOd.Date && ListaRez[j].DatumOd.Date <= GlavnaListaPonuda[i].DatumDo.Date && !(ListaRez[j].DatumDo.Date >= GlavnaListaPonuda[i].DatumOd.Date && ListaRez[j].DatumDo.Date <= GlavnaListaPonuda[i].DatumDo.Date)) { PomocnaListaPonuda.Add(new Ponuda(GlavnaListaPonuda[i].IdbrAutomobila, GlavnaListaPonuda[i].CenaPoDanu, GlavnaListaPonuda[i].DatumOd.Date, ListaRez[j].DatumOd.Date.AddDays(-1))); flagProvera = false; } else if (!(ListaRez[j].DatumOd.Date >= GlavnaListaPonuda[i].DatumOd.Date && ListaRez[j].DatumOd.Date <= GlavnaListaPonuda[i].DatumDo.Date) && ListaRez[j].DatumDo.Date >= GlavnaListaPonuda[i].DatumOd.Date && ListaRez[j].DatumDo.Date <= GlavnaListaPonuda[i].DatumDo.Date) { GlavnaListaPonuda[i] = new Ponuda(GlavnaListaPonuda[i].IdbrAutomobila, GlavnaListaPonuda[i].CenaPoDanu, ListaRez[j].DatumDo.Date.AddDays(1), GlavnaListaPonuda[i].DatumDo.Date); if (j == (ListaRez.Count - 1)) { PomocnaListaPonuda.Add(new Ponuda(GlavnaListaPonuda[i].IdbrAutomobila, GlavnaListaPonuda[i].CenaPoDanu, ListaRez[j].DatumDo.Date.AddDays(1), GlavnaListaPonuda[i].DatumDo.Date)); } else if (ListaRez[j + 1].DatumOd.Date > GlavnaListaPonuda[i].DatumDo.Date) { PomocnaListaPonuda.Add(new Ponuda(GlavnaListaPonuda[i].IdbrAutomobila, GlavnaListaPonuda[i].CenaPoDanu, ListaRez[j].DatumDo.Date.AddDays(1), GlavnaListaPonuda[i].DatumDo.Date)); } else if (GlavnaListaPonuda[i].IdbrAutomobila != ListaRez[j + 1].IdbrAutomobila) { PomocnaListaPonuda.Add(new Ponuda(GlavnaListaPonuda[i].IdbrAutomobila, GlavnaListaPonuda[i].CenaPoDanu, ListaRez[j].DatumDo.Date.AddDays(1), GlavnaListaPonuda[i].DatumDo.Date)); } flagProvera = false; } } } if (flagProvera == true) { PomocnaListaPonuda.Add(GlavnaListaPonuda[i]); } } if (PomocnaListaPonuda.Count > 0) { for (int i = 0; i < PomocnaListaPonuda.Count; i++) { if (PomocnaListaPonuda[i].DatumOd.Date <= PomocnaListaPonuda[i].DatumDo) { txtPrikazTermina.Text += "IDBR Automobila: " + PomocnaListaPonuda[i].IdbrAutomobila + " " + PomocnaListaPonuda[i].IspisPonude() + Environment.NewLine; } } } else { txtPrikazTermina.Text = "Ne postoji ni jedna Ponuda za traženi Automobil!"; } } else { MessageBox.Show("Niste popunili sva polja za odabir Automobila!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } ListaPonuda.Clear(); ListaRez.Clear(); }