private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { List <Rezervacije> rezervacije = RadSaDatotekom.Procitaj <Rezervacije>("rezervacije.bin"); //proveravamo validnost datuma if (dateTimePicker1.Value < DateTime.Now) { MessageBox.Show("Ne mozete birati datum iz proslosti."); dateTimePicker1.Value = DateTime.Now; } // //proveravamo da li je termin zauzet else { foreach (Rezervacije rezervacija in rezervacije) { if (rezervacija.IdAutaRez == this.a.Id) { if (dateTimePicker1.Value > rezervacija.DatumDo && dateTimePicker1.Value < rezervacija.DatumDo) { MessageBox.Show("Termin je vec zauzet"); dateTimePicker1.Value = DateTime.Now; break; } } } } }
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); string izabranaMarka = comboBox1.Text; // kada se selektuje combobox za marku aktivira se combobox za modele comboBox2.Enabled = true; //pravljenje stringa za modele List <string> modeliIzabraneMarke = new List <string>(); foreach (Automobil auto in automobili) { if (auto.Marka == izabranaMarka) { if (modeliIzabraneMarke.Contains(auto.Model) == false) { modeliIzabraneMarke.Add(auto.Model); } } } foreach (Control c in this.Controls) { if (c is ComboBox) { c.Text = ""; } } comboBox2.Items.Clear(); foreach (string model in modeliIzabraneMarke) { comboBox2.Items.Add(model); } }
private void AdminDodavanjeAutomobila_Load(object sender, EventArgs e) { //na load popunjavamo datagridview automobilima List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); dataGridView1.DataSource = automobili; dataGridView1.Refresh(); }
public FormRezervacije(Label l) { this.k = new Kupac(); InitializeComponent(); label15.Text = l.Text; List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); List <string> marke = new List <string>(); }
private void button2_Click(object sender, EventArgs e) { bool nastavi = true; //ako je datumDo veci od datumOd prijavice gresku if (dateTimePicker2.Value < dateTimePicker1.Value) { nastavi = false; MessageBox.Show("Netacni datumi rezervacije"); } //ako je sve ok i textbox za cenu ima vrednost if (textBox10.Text.Trim().Length != 0 && nastavi) { List <Rezervacije> rezervacijeUpis = RadSaDatotekom.Procitaj <Rezervacije>("rezervacije.bin"); List <Kupac> kupci = RadSaDatotekom.Procitaj <Kupac>("kupciReg.bin"); List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); //izvlacimo id kupca da bi smo ga iskorisntili u kreiranju rezervacije for (int i = 0; i < kupci.Count; i++) { if (kupci[i].KorisnickoIme == label15.Text) { k.Id = kupci[i].Id; } } //a onda izvlacimo i id automobila for (int i = 0; i < automobili.Count; i++) { if (automobili[i].Marka == comboBox1.Text && automobili[i].Model == comboBox2.Text && automobili[i].Godiste == Convert.ToInt32(comboBox3.Text) && automobili[i].Kubikaza == Convert.ToInt32(comboBox4.Text) && automobili[i].Karoserija == comboBox5.Text && automobili[i].BrojVrata == Convert.ToInt32(comboBox6.Text) && automobili[i].Gorivo == comboBox7.Text && automobili[i].Pogon == comboBox8.Text && automobili[i].VrstaMenjaca == comboBox9.Text) { a.Id = automobili[i].Id; } } //pravimo rezervaciju Rezervacije r = new Rezervacije(a.Id, k.Id, dateTimePicker1.Value.Date, dateTimePicker2.Value.Date, Convert.ToInt32(double.Parse(textBox10.Text))); rezervacijeUpis.Add(r); RadSaDatotekom.Upisi(rezervacijeUpis, "rezervacije.bin"); MessageBox.Show("Rezervacija je uspesno izvrsena."); //nakon uspesne rezervacije zatvara je forma za rezervacije i otvara se pocetna forma za kupca for (int i = 0; i < kupci.Count; i++) { if (kupci[i].KorisnickoIme == label15.Text) { FormKupac formKupac = new FormKupac(kupci[i]); formKupac.Show(); this.Close(); } } this.Close(); } else { MessageBox.Show("Nije moguce napraviti rezervaciju"); } }
private void KupacAdmin_Load(object sender, EventArgs e) { //izlistavamo neregistrovane kupce i sortiramo ih List <Kupac> kupci = RadSaDatotekom.Procitaj <Kupac>("kupci.bin"); for (int i = 0; i < kupci.Count - 1; i++) { for (int j = i + 1; j < kupci.Count; j++) { if (kupci[i].Id > kupci[j].Id) { Kupac pom = kupci[i]; kupci[i] = kupci[j]; kupci[j] = pom; } } } dataGridView1.DataSource = kupci; //formatiramo datum u datagridview dataGridView1.Columns["DatumRodjenja"].DefaultCellStyle.Format = "dd.MM.yyyy"; dataGridView1.Refresh(); //citamo registrovane kupce i sortiramo ih List <Kupac> kupciReg = RadSaDatotekom.Procitaj <Kupac>("kupciReg.bin"); for (int i = 0; i < kupciReg.Count - 1; i++) { for (int j = i + 1; j < kupciReg.Count; j++) { if (kupciReg[i].Id > kupciReg[j].Id) { Kupac pom = kupciReg[i]; kupciReg[i] = kupciReg[j]; kupciReg[j] = pom; } } } dataGridView2.DataSource = kupciReg; //formatiramo datum u datagridview dataGridView2.Columns["DatumRodjenja"].DefaultCellStyle.Format = "dd.MM.yyyy"; try { dataGridView2.Rows[0].Selected = false; } catch (Exception ex) { } dataGridView2.Refresh(); }
//PROMENOM SELEKTOVANOG ID ISPISUJEMO AUTOMOBIL U TEXTBOX PORED private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); for (int i = 0; i < automobili.Count; i++) { if (automobili[i].Id.ToString() == comboBox1.Text) { textBox2.Text = ""; textBox2.Text = automobili[i].ToString(); break; } } }
//BRISANJE AUTOMOBILA private void button2_Click(object sender, EventArgs e) { List <Automobil> auta = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); int rowIndex = dataGridView1.CurrentCell.RowIndex; for (int i = 0; i < auta.Count; i++) { if (auta[i].Id == int.Parse(dataGridView1.Rows[rowIndex].Cells[0].Value.ToString())) { auta.RemoveAt(i); } } RadSaDatotekom.Upisi(auta, "automobili.bin"); this.AdminDodavanjeAutomobila_Load(this, e); }
//BRISANJE PONUDE private void button2_Click(object sender, EventArgs e) { List <Ponuda> ponuda = RadSaDatotekom.Procitaj <Ponuda>("ponuda.bin"); int rowIndex = dataGridView1.CurrentCell.RowIndex; for (int i = 0; i < ponuda.Count; i++) { if (ponuda[i].IdAuta == int.Parse(dataGridView1.Rows[rowIndex].Cells[0].Value.ToString())) { ponuda.RemoveAt(i); } } RadSaDatotekom.Upisi(ponuda, "ponuda.bin"); this.PonudaAdminForm_Load(this, e); }
//PRI POKRETANJU DODAJEMO ID AUTOMOBILA U COMBO private void PonudaAdminForm_Load(object sender, EventArgs e) { List <Ponuda> ponudePom = RadSaDatotekom.Procitaj <Ponuda>("ponuda.bin"); List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); comboBox1.Items.Clear(); for (int i = 0; i < automobili.Count; i++) { comboBox1.Items.Add(automobili[i].Id); } dataGridView1.DataSource = ponudePom; dataGridView1.Columns["datumOd"].DefaultCellStyle.Format = "dd.MM.yyyy"; dataGridView1.Columns["datumDo"].DefaultCellStyle.Format = "dd.MM.yyyy"; dataGridView1.Refresh(); }
//PRIKAZUJE AUTO KADA SE KLIKNE NA AUTOMOBIL U LEGENDI private void prikaziAuto(object sender, EventArgs e) { Label l = sender as Label; string[] reci = l.Text.Split(' '); List <Automobil> auta = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); foreach (Automobil a in auta) { if (a.Id == int.Parse(reci[2])) { MessageBox.Show(a.ToString()); } } }
//ODBIJANJE NALOGA private void button2_Click(object sender, EventArgs e) { List <Kupac> kupci = RadSaDatotekom.Procitaj <Kupac>("kupci.bin"); int rowIndex = dataGridView1.CurrentCell.RowIndex; for (int i = 0; i < kupci.Count; i++) { if (kupci[i].Id == int.Parse(dataGridView1.Rows[rowIndex].Cells[0].Value.ToString())) { kupci.RemoveAt(i); } } RadSaDatotekom.Upisi(kupci, "kupci.bin"); this.KupacAdmin_Load(this, e); }
//BRISANJE REGISTROVANOG KORISNIKA private void button6_Click(object sender, EventArgs e) { List <Kupac> kupciReg = RadSaDatotekom.Procitaj <Kupac>("kupciReg.bin"); int rowIndex = dataGridView2.CurrentCell.RowIndex; for (int i = 0; i < kupciReg.Count; i++) { if (kupciReg[i].Id == int.Parse(dataGridView2.Rows[rowIndex].Cells[0].Value.ToString())) { kupciReg.RemoveAt(i); } } RadSaDatotekom.Upisi(kupciReg, "kupciReg.bin"); MessageBox.Show("Registrovani korisnik je uspesno uklonjen."); this.KupacAdmin_Load(this, e); }
// DODAVANJE NA IZMENU private void button3_Click(object sender, EventArgs e) { List <Ponuda> ponude = RadSaDatotekom.Procitaj <Ponuda>("ponuda.bin"); int rowIndex = dataGridView1.CurrentCell.RowIndex; for (int i = 0; i < ponude.Count; i++) { if (ponude[i].IdAuta.ToString() == dataGridView1.Rows[rowIndex].Cells[0].Value.ToString()) { comboBox1.Text = ponude[i].IdAuta.ToString(); textBox1.Text = ponude[i].CenaPoDanu.ToString(); dateTimePicker1.Value = ponude[i].DatumOd; dateTimePicker2.Value = ponude[i].DatumDo; button4.Visible = true; } } }
private void button1_Click(object sender, EventArgs e) { List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); //ako se podaci iz comboboxova poklapaju i automobila iz liste, dodajemo id vrednost automobilu for (int i = 0; i < automobili.Count; i++) { if (automobili[i].Marka == comboBox1.Text && automobili[i].Model == comboBox2.Text && automobili[i].Godiste == Convert.ToInt32(comboBox3.Text) && automobili[i].Kubikaza == Convert.ToInt32(comboBox4.Text) && automobili[i].Karoserija == comboBox5.Text && automobili[i].BrojVrata == Convert.ToInt32(comboBox6.Text) && automobili[i].Gorivo == comboBox7.Text && automobili[i].Pogon == comboBox8.Text && automobili[i].VrstaMenjaca == comboBox9.Text) { a.Id = automobili[i].Id; } } textBox1.Text = ""; bool inicijalizuj = true; //proveramo da li su sva polja popunjena foreach (Control c in this.Controls) { if (c.Text == "" && c is ComboBox) { MessageBox.Show("Niste popunili sva polja."); inicijalizuj = false; break; } } //ako su popunjena sva polja if (inicijalizuj) { //pravi se novi auto Automobil auto = new Automobil(a.Id, comboBox1.Text, comboBox2.Text, Convert.ToInt32(comboBox3.Text), Convert.ToInt32(comboBox4.Text), comboBox9.Text, comboBox7.Text, comboBox8.Text, comboBox5.Text, Convert.ToInt32(comboBox6.Text)); try //hvata se izuzetak, koji nastaje ukoliko neko promeni tekst u comboboxu { //funkcija inicijalizuj auto dobija kao argument napravljeni auto this.inicijalizacijaAutomobila(auto); } catch (Exception exc) { MessageBox.Show("Uneti podaci nisu tacni."); } //funkcija koja ispisuje slobodne termine this.ispisiDatume(); } }
//IZMENA KUPCA private void button3_Click(object sender, EventArgs e) { List <Kupac> kupci = RadSaDatotekom.Procitaj <Kupac>("kupci.bin"); List <Kupac> kupciReg = RadSaDatotekom.Procitaj <Kupac>("kupciReg.bin"); if (dataGridView1.SelectedRows.Count > 0) { dataGridView2.Rows[0].Selected = false; int rowIndex = dataGridView1.CurrentCell.RowIndex; for (int i = 0; i < kupci.Count; i++) { if (kupci[i].Id.ToString() == dataGridView1.Rows[rowIndex].Cells[0].Value.ToString()) { textBox2.Text = kupci[i].Ime; textBox3.Text = kupci[i].Prezime; textBox4.Text = kupci[i].Jmbg; dateTimePicker1.Value = kupci[i].DatumRodjenja; textBox5.Text = kupci[i].BrojTelefona; textBox6.Text = kupci[i].KorisnickoIme; textBox7.Text = kupci[i].Lozinka; } } } else if (dataGridView2.SelectedRows.Count > 0) { dataGridView1.Rows[0].Selected = false; int rowIndex2 = dataGridView2.CurrentCell.RowIndex; for (int j = 0; j < kupciReg.Count; j++) { if (kupciReg[j].Id.ToString() == dataGridView2.Rows[rowIndex2].Cells[0].Value.ToString()) { textBox2.Text = kupciReg[j].Ime; textBox3.Text = kupciReg[j].Prezime; textBox4.Text = kupciReg[j].Jmbg; dateTimePicker1.Value = kupciReg[j].DatumRodjenja; textBox5.Text = kupciReg[j].BrojTelefona; textBox6.Text = kupciReg[j].KorisnickoIme; textBox7.Text = kupciReg[j].Lozinka; } } } }
//BRISE SE STARI AUTO, A DODAJE SE NOVI private void button4_Click(object sender, EventArgs e) { List <Automobil> auta = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); int rowIndex = dataGridView1.CurrentCell.RowIndex; for (int i = 0; i < auta.Count; i++) { if (auta[i].Id == int.Parse(dataGridView1.Rows[rowIndex].Cells[0].Value.ToString())) { Automobil autoPom = new Automobil(auta[i].Id, textBox2.Text, textBox3.Text, int.Parse(textBox4.Text), int.Parse(textBox5.Text), comboBox1.Text, comboBox2.Text, comboBox3.Text, comboBox4.Text, int.Parse(comboBox5.Text)); auta.RemoveAt(i); auta.Insert(i, autoPom); } } RadSaDatotekom.Upisi(auta, "automobili.bin"); MessageBox.Show("Automobil je uspesno izmenjen!"); button4.Visible = false; this.AdminDodavanjeAutomobila_Load(this, e); }
private void AdminStatistika_Load(object sender, EventArgs e) { //punjenje comboboxa na osnovu ponuda List <string> rbrMesesa = new List <string>(); List <Ponuda> ponude = RadSaDatotekom.Procitaj <Ponuda>("ponuda.bin"); foreach (Ponuda ponuda in ponude) { if (!rbrMesesa.Contains(ponuda.DatumOd.Month.ToString())) { rbrMesesa.Add(ponuda.DatumOd.Month.ToString()); } } foreach (string mesec in rbrMesesa) { comboBox1.Items.Add(mesec); } }
//proverava se chekirani radiobutton i na osnovu njega se bira da li se filtriraju rezervacije po kupcu ili automobilu private void button3_Click(object sender, EventArgs e) { List <Rezervacije> rezervacije2 = RadSaDatotekom.Procitaj <Rezervacije>("rezervacije.bin"); List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); if (radioButton1.Checked) { List <Rezervacije> rezPom = new List <Rezervacije>(); for (int i = 0; i < rezervacije2.Count; i++) { if (comboBox1.Text == rezervacije2[i].IdKupca.ToString()) { rezPom.Add(rezervacije2[i]); } } if (rezPom.Count < 1) { MessageBox.Show("Ne postoje rezervacije za zeljenu osobu"); } dataGridView2.DataSource = rezPom; dataGridView2.Refresh(); } if (radioButton2.Checked) { List <Rezervacije> rezPom2 = new List <Rezervacije>(); for (int i = 0; i < rezervacije.Count; i++) { if (comboBox2.Text == rezervacije[i].IdAutaRez.ToString()) { rezPom2.Add(rezervacije[i]); } } if (rezPom2.Count < 1) { MessageBox.Show("Ne postoje rezervacije za zeljeni automobil"); } dataGridView2.DataSource = rezPom2; dataGridView2.Refresh(); } }
//DODAVANJE PONUDE private void button1_Click(object sender, EventArgs e) { List <Ponuda> ponude = RadSaDatotekom.Procitaj <Ponuda>("ponuda.bin"); Regex regexCena = new Regex(@"^\d+$"); bool sveOKe = false; if (dateTimePicker2.Value < dateTimePicker1.Value) { sveOKe = false; MessageBox.Show("Datumi nisu validni!"); } else { sveOKe = true; } if (!regexCena.IsMatch(textBox1.Text)) { MessageBox.Show("Morate uneti broj za cenu!"); sveOKe = false; return; } if (sveOKe) { try { Ponuda p = new Ponuda(int.Parse(comboBox1.Text), dateTimePicker1.Value, dateTimePicker2.Value, Convert.ToInt32(textBox1.Text)); ponude.Add(p); } catch (Exception) { MessageBox.Show("Uneti podaci nisu validni"); return; } RadSaDatotekom.Upisi(ponude, "ponuda.bin"); MessageBox.Show("Ponuda je uspesno dodata."); this.PonudaAdminForm_Load(this, e); } }
//POPUNJAVANJE TEXTBOKSOVA ZA IZMENU private void button3_Click(object sender, EventArgs e) { List <Automobil> auta = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); int rowIndex = dataGridView1.CurrentCell.RowIndex; for (int i = 0; i < auta.Count; i++) { if (auta[i].Id == int.Parse(dataGridView1.Rows[rowIndex].Cells[0].Value.ToString())) { textBox2.Text = auta[i].Marka; textBox3.Text = auta[i].Model; textBox4.Text = auta[i].Godiste.ToString(); textBox5.Text = auta[i].Kubikaza.ToString(); comboBox1.Text = auta[i].Pogon; comboBox2.Text = auta[i].VrstaMenjaca; comboBox3.Text = auta[i].Karoserija; comboBox4.Text = auta[i].Gorivo; comboBox5.Text = auta[i].BrojVrata.ToString(); button4.Visible = true; } } }
private void FormRezervacije_Load(object sender, EventArgs e) { foreach (Control c in this.Controls) { if (c is Label) { c.Font = new Font(c.Font.FontFamily, 10); } if (c is Button) { c.Font = new Font(c.Font.FontFamily, 10, FontStyle.Bold); } if (c is ComboBox) { if (c.Name != comboBox1.Name) { c.Enabled = false; } } } //citamo automobile i njhove marke smestamo u listu stringova List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); List <string> marke = new List <string>(); for (int i = 0; i < automobili.Count; i++) { if (marke.Contains(automobili[i].Marka) == false) { marke.Add(automobili[i].Marka); } } for (int i = 0; i < marke.Count; i++) { comboBox1.Items.Add(marke[i]); } }
//DODAVANJE NALOGA private void button1_Click(object sender, EventArgs e) { List <Kupac> kupci = RadSaDatotekom.Procitaj <Kupac>("kupci.bin"); List <Kupac> kupciReg = RadSaDatotekom.Procitaj <Kupac>("kupciReg.bin"); try { int rowIndex = dataGridView1.CurrentCell.RowIndex; for (int i = 0; i < kupci.Count; i++) { if (kupci[i].Id.ToString() == dataGridView1.Rows[rowIndex].Cells[0].Value.ToString()) { kupciReg.Add(kupci[i]); kupci.RemoveAt(i); } } RadSaDatotekom.Upisi(kupciReg, "kupciReg.bin"); RadSaDatotekom.Upisi(kupci, "kupci.bin"); } catch (Exception exc) { } this.KupacAdmin_Load(this, e); }
//CUVANJE IZMENE private void button4_Click(object sender, EventArgs e) { List <Ponuda> ponude = RadSaDatotekom.Procitaj <Ponuda>("ponuda.bin"); int rowIndex = dataGridView1.CurrentCell.RowIndex; for (int i = 0; i < ponude.Count; i++) { MessageBox.Show(ponude[i].IdAuta.ToString()); MessageBox.Show(dataGridView1.Rows[rowIndex].Cells[0].Value.ToString()); if (ponude[i].IdAuta.ToString() == dataGridView1.Rows[rowIndex].Cells[0].Value.ToString()) { MessageBox.Show("Radi if za izmenu!"); ponude.RemoveAt(i); Ponuda p = new Ponuda(int.Parse(comboBox1.Text), dateTimePicker1.Value, dateTimePicker2.Value, Convert.ToInt32(textBox1.Text)); ponude.Insert(i, p); } } RadSaDatotekom.Upisi(ponude, "ponuda.bin"); MessageBox.Show("Ponuda je uspesno izmenjena!"); button4.Visible = false; button3.Visible = true; this.PonudaAdminForm_Load(this, e); }
private void button2_Click(object sender, EventArgs e) { bool flagUsername = true; //proveravamo da li uneseni podaci pripadaju administratoru List <Administrator> administratori = RadSaDatotekom.Procitaj <Administrator>("administratori.bin"); foreach (Administrator admin in administratori) { if (admin.KorisnickoIme == textBox1.Text && admin.Lozinka == textBox2.Text) { FormAdminPocetna fap = new FormAdminPocetna(textBox1); fap.Show(); flagUsername = false; } } //proveravamo da li uneseni podaci pripadaju registrovanom kupcu List <Kupac> kupci = RadSaDatotekom.Procitaj <Kupac>("kupciReg.bin"); foreach (Kupac k in kupci) { if (k.KorisnickoIme == textBox1.Text && k.Lozinka == textBox2.Text) { FormKupac fk = new FormKupac(k); fk.Show(); flagUsername = false; } } //ako nesto nije OK onda se izbacuje poruka if (flagUsername) { MessageBox.Show("Korisnicko ime ili lozinka su netacni ili admin jos uvek nije odobrio nalog!"); } }
private void inicijalizacijaAutomobila(Automobil auto) { //citanje datoteke automobili.bin List <Automobil> auta = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); List <Automobil> autaIspis = new List <Automobil>(); for (int i = 0; i < auta.Count; i++) { //prolazak kroz auta, ako se auto poklapa sa nekim iz liste, dodajemo ga u listu if (auta[i].Id == auto.Id) { autaIspis.Add(auta[i]); } } if (autaIspis.Count == 1) { this.a = autaIspis[0]; //ako postoji samo jedno takvo auto, a inicijalizujemo njime. } else { //ako ih postoji vise, inicijalizujemo ih nekim od ponudjenih, jer su podaci potpuno isti Random rnd = new Random(); int rndBr = rnd.Next(0, auta.Count); this.a = autaIspis[rndBr]; } }
private void button1_Click(object sender, EventArgs e) { //provere bool unetoSve = true; if (textBox2.Text.Length < 1) { MessageBox.Show("Niste uneli marku!"); textBox2.BackColor = Color.Red; unetoSve = false; } else if (!System.Text.RegularExpressions.Regex.IsMatch(textBox2.Text, @"^[a-zA-Z]+$")) { MessageBox.Show("Morate uneti samo karaktere kod marke automobila!"); unetoSve = false; } if (textBox3.Text.Length < 1) { MessageBox.Show("Niste uneli model!"); textBox3.BackColor = Color.Red; unetoSve = false; } if (textBox4.Text.Length < 1) { MessageBox.Show("Niste uneli godiste automobila!"); textBox4.BackColor = Color.Red; unetoSve = false; } else if (!System.Text.RegularExpressions.Regex.IsMatch(textBox4.Text, "^[0-9]*$")) { MessageBox.Show("Godiste mora biti celi broj!"); unetoSve = false; } else if (System.Text.RegularExpressions.Regex.IsMatch(textBox4.Text, "^[0-9]*$")) { if (Int32.Parse(textBox4.Text) <= 1950) { MessageBox.Show("Ne koristimo automobile starije od 1950 godista!"); unetoSve = false; } else if (Int32.Parse(textBox4.Text) > 2019) { MessageBox.Show("Ne mozete dodati automobil koji jos nije proizveden!"); unetoSve = false; } } if (textBox5.Text.Length < 1) { MessageBox.Show("Niste uneli kubikazu!"); textBox5.BackColor = Color.Red; unetoSve = false; } else if (!System.Text.RegularExpressions.Regex.IsMatch(textBox5.Text, "^[0-9]*$")) { MessageBox.Show("Kubikaza mora biti celi broj!"); unetoSve = false; } else if (System.Text.RegularExpressions.Regex.IsMatch(textBox5.Text, "^[0-9]*$")) { if (Int32.Parse(textBox5.Text) < 1200) { MessageBox.Show("Ne primamo automobile ispod 1200 kubika!"); unetoSve = false; } else if (Int32.Parse(textBox5.Text) > 5000) { MessageBox.Show("Ne primamo automobile sa vise od 5000 kubika!"); unetoSve = false; } } //ako je sve uneto kako treba if (unetoSve) { List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); int maxID = 0; //dodeljuje se id automobilu da se ne bi poklapao sa drugim id drugih automobila for (int i = 0; i < automobili.Count; i++) { if (automobili[i].Id > maxID) { maxID = automobili[i].Id; } } //pa se pravi automobil kome se prosledjuje dodeljen Id try { Automobil a = new Automobil(maxID + 1, textBox2.Text, textBox3.Text, Int32.Parse(textBox4.Text), Int32.Parse(textBox5.Text), comboBox1.Text, comboBox2.Text, comboBox3.Text, comboBox4.Text, Int32.Parse(comboBox5.Text)); //proveravamo da li automobil postoji foreach (Automobil auto in automobili) { if (auto.Equals(a)) { MessageBox.Show("Automobil vec postoji!"); return; } } automobili.Add(a); } catch (Exception) { MessageBox.Show("Uneti podaci nisu validni"); return; } MessageBox.Show("Uspesno ste dodali automobil!"); //upis i ponovno ispisivanje na ekranu RadSaDatotekom.Upisi(automobili, "automobili.bin"); this.AdminDodavanjeAutomobila_Load(this, e); } }
private void ispisiDatume() { List <Rezervacije> rezervacije = RadSaDatotekom.Procitaj <Rezervacije>("rezervacije.bin"); //pomocna lista za smestaj rezervacija List <Rezervacije> rezZaIspis = new List <Rezervacije>(); //Citamo sve rezervacije i ako se id poklapaju rezervacija se upisuje u pomocnu listu rezervacija foreach (Rezervacije rezerevacija in rezervacije) { if (rezerevacija.IdAutaRez == this.a.Id) { if (rezZaIspis.Contains(rezerevacija) == false) { rezZaIspis.Add(rezerevacija); } } } //ako ima vise rezervacija one se sortiraju po datumu if (rezZaIspis.Count > 1) { for (int i = 0; i < rezZaIspis.Count - 1; i++) { for (int j = i + 1; j < rezZaIspis.Count; j++) { if (rezZaIspis[i].DatumOd > rezZaIspis[j].DatumOd) { Rezervacije r = rezZaIspis[i]; rezZaIspis[i] = rezZaIspis[j]; rezZaIspis[j] = r; } } } } List <Ponuda> ponude = RadSaDatotekom.Procitaj <Ponuda>("ponuda.bin"); List <Ponuda> ponudeZaTrazeniAuto = new List <Ponuda>(); //proveravamo da li je trazeni automobil u ponudi foreach (Ponuda ponuda in ponude) { if (ponuda.IdAuta == this.a.Id) { ponudeZaTrazeniAuto.Add(ponuda); //prikaz ponude u textboxu textBox1.Text = ponuda.IdAuta + " -> " + ponuda.DatumOd.ToShortDateString() + " - " + ponuda.DatumDo.ToShortDateString() + Environment.NewLine; } } // pitamo koliko ima ponuda za trazeni auto, i iz njih citamo minimalni i maximalni datum if (ponudeZaTrazeniAuto.Count >= 1) { DateTime datumMin = ponudeZaTrazeniAuto[0].DatumOd; DateTime datumMax = ponudeZaTrazeniAuto[0].DatumDo; for (int i = 0; i < ponudeZaTrazeniAuto.Count; i++) { if (datumMin > ponudeZaTrazeniAuto[i].DatumOd) { datumMin = ponudeZaTrazeniAuto[i].DatumOd; } } for (int i = 0; i < ponudeZaTrazeniAuto.Count; i++) { if (datumMax < ponudeZaTrazeniAuto[i].DatumDo) { datumMax = ponudeZaTrazeniAuto[i].DatumDo; } } textBox1.Text = ""; //ispis slobodnih termina foreach (Ponuda ponuda in ponudeZaTrazeniAuto) { textBox1.Text += ponuda.ToString(); } textBox1.Text += Environment.NewLine + "Slobodni termini: " + Environment.NewLine; if (rezZaIspis.Count > 0) { for (int i = 0; i < rezZaIspis.Count; i++) { if (rezZaIspis[i].DatumOd >= datumMin && rezZaIspis[i].DatumDo <= datumMax) { textBox1.Text += datumMin.ToShortDateString() + " - " + rezZaIspis[i].DatumOd.ToShortDateString() + Environment.NewLine; datumMin = rezZaIspis[i].DatumDo; if (i == rezZaIspis.Count - 1 && rezZaIspis[i].DatumDo <= datumMax) { textBox1.Text += rezZaIspis[i].DatumDo.ToShortDateString() + " - " + datumMax.ToShortDateString() + Environment.NewLine; } } } } else { textBox1.Text += datumMin.ToShortDateString() + " - " + datumMax.ToShortDateString() + Environment.NewLine; } } else { MessageBox.Show("Ne postoje ponude za trazeni auto."); } }
//REGISTRACIJA private void button1_Click(object sender, EventArgs e) { //AKO JE unetoSve==true tek se onda korisnik moze registrovati bool unetoSve = true; //PROVERE if (textBox1.Text.Count() < 1) { MessageBox.Show("Niste uneli ime!"); textBox1.BackColor = Color.Red; unetoSve = false; } else if (!System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, @"^[a-zA-Z]+$")) { MessageBox.Show("Morate uneti samo karaktere"); } string dateAndTime = dateTimePicker1.Value.ToShortDateString(); string[] listDate = dateAndTime.Split('.'); Int32 godinaProvera = Int32.Parse(listDate[2]); if ((DateTime.Now.Year - godinaProvera) < 18) { MessageBox.Show("Morate imati vise od 18 godina da bi ste se registrovali"); unetoSve = false; } Int32 mesecInt = Int32.Parse(listDate[1]); Int32 danInt = Int32.Parse(listDate[0]); if (mesecInt < 10) { listDate[1] = "0" + listDate[1]; } if (danInt < 10) { listDate[0] = "0" + listDate[0]; } string godinaSplitZbog3 = listDate[2].Substring(1, 3); string dan = textBox4.Text.Substring(0, 2); string mesec = textBox4.Text.Substring(2, 2); string godina = textBox4.Text.Substring(4, 3); if (listDate[0] != dan || listDate[1] != mesec || godinaSplitZbog3 != godina) { MessageBox.Show("Datum rodjenja i podaci iz JMBG se ne poklapaju!"); unetoSve = false; } if (textBox2.Text.Length < 1) { MessageBox.Show("Niste uneli prezime!"); textBox2.BackColor = Color.Red; unetoSve = false; } else if (!System.Text.RegularExpressions.Regex.IsMatch(textBox2.Text, @"^[a-zA-Z]+$")) { MessageBox.Show("Morate uneti samo karaktere"); } if (textBox4.Text.Length < 1) { MessageBox.Show("Morate uneti JMBG!"); textBox4.BackColor = Color.Red; unetoSve = false; } if ((textBox4.Text.Length == 13) && (System.Text.RegularExpressions.Regex.IsMatch(textBox4.Text, "^[0-9]*$"))) { } else { MessageBox.Show("JMBG mora sadrzati samo brojeve od 13 cifara!"); unetoSve = false; } if (textBox5.Text.Count() < 1) { MessageBox.Show("Morate uneti broj telefona!"); textBox5.BackColor = Color.Red; unetoSve = false; } if (textBox5.Text.Length > 8 && textBox5.Text.Length <= 11) { if (System.Text.RegularExpressions.Regex.IsMatch(textBox5.Text, "^[0-9]+$")) { } else { MessageBox.Show("Uneti broj nije validan -> Moraju biti uneseni samo brojevi!"); unetoSve = false; } } else { MessageBox.Show("Uneti broj je izvan opsega -> Broj cifara telefona mora biti izmedju 8 i 11!"); unetoSve = false; } if (textBox6.Text.Count() < 1) { MessageBox.Show("Morate uneti korisnicko ime!"); textBox6.BackColor = Color.Red; unetoSve = false; } if (textBox3.Text.Count() < 1) { MessageBox.Show("Morate uneti lozinku!"); textBox3.BackColor = Color.Red; unetoSve = false; } if (textBox7.Text.Count() < 1) { MessageBox.Show("Morate ponoviti lozinku!"); textBox7.BackColor = Color.Red; unetoSve = false; } if (textBox3.Text != textBox7.Text) { MessageBox.Show("Ponovljena lozinka nije jednaka prethodno unesenoj lozinci!"); unetoSve = false; } if (textBox3.Text.Length < 5) { MessageBox.Show("Lozinka mora imati minimum 5 karaktera"); unetoSve = false; } //AKO JE SVE POPUNJENO if (unetoSve == true) { List <Kupac> kupci = RadSaDatotekom.Procitaj <Kupac>("kupci.bin"); List <Kupac> kupciReg = RadSaDatotekom.Procitaj <Kupac>("kupciReg.bin"); List <Kupac> zajednickaLista = new List <Kupac>(); //DODAJEMO REGISTROVANE I NEREGISTROVANE KUPCE U ZAJEDNICKU LISTU DA BI ODREDILI JEDINSTVENI ID ZA KUPCA KOJI SE REGISTRUJE for (int i = 0; i < kupci.Count; i++) { zajednickaLista.Add(kupci[i]); } for (int j = 0; j < kupciReg.Count; j++) { zajednickaLista.Add(kupciReg[j]); } int maxID = 0; for (int i = 0; i < zajednickaLista.Count; i++) { if (zajednickaLista[i].Id > maxID) { maxID = zajednickaLista[i].Id; } } //PRAVIMO KUPCA I DODELJUJEMO MU JEDINSTVENI ID Kupac k = new Kupac(maxID + 1, textBox1.Text, textBox2.Text, textBox4.Text, dateTimePicker1.Value, textBox5.Text, textBox6.Text, textBox7.Text); bool sveOK = true; //PROVERAVAMO DA LI JE KORISNICKO IME KOD NEREGISTROVANIH KUPACA ZAUZETO for (int i = 0; i < kupci.Count; i++) { if (kupci[i].KorisnickoIme == k.KorisnickoIme) { MessageBox.Show("Korisnicko ime je vec zauzeto"); textBox6.BackColor = Color.Red; sveOK = false; } } //PROVERAVAMO DA LI JE KORISNICKO IME KOD REGISTROVANIH KUPACA ZAUZETO for (int j = 0; j < kupciReg.Count; j++) { if (kupciReg[j].KorisnickoIme == k.KorisnickoIme) { MessageBox.Show("Korisnicko ime je vec zauzeto"); textBox6.BackColor = Color.Red; sveOK = false; } } //PROVERAVAMO DA LI JE KORISNICKO IME KOD ADMINA ZAUZETO List <Administrator> administratori = RadSaDatotekom.Procitaj <Administrator>("administratori.bin"); for (int i = 0; i < administratori.Count; i++) { if (administratori[i].KorisnickoIme == k.KorisnickoIme) { MessageBox.Show("Korisnicko ime je vec zauzeto"); textBox6.BackColor = Color.Red; sveOK = false; } } //AKO JE SVE OK, DODAJEMO KUPCA if (sveOK) { MessageBox.Show("Uspesno ste se registrovali, samo morate sacekati da admin odobri nalog"); kupci.Add(k); RadSaDatotekom.Upisi(kupci, "kupci.bin"); } } }
private void dateTimePicker2_ValueChanged(object sender, EventArgs e) { bool nastavi = true; List <Rezervacije> rezervacije = RadSaDatotekom.Procitaj <Rezervacije>("rezervacije.bin"); List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); //ovde trazimo id automobila koji prosledjujemo objektu for (int i = 0; i < automobili.Count; i++) { if (automobili[i].Marka == comboBox1.Text && automobili[i].Model == comboBox2.Text && automobili[i].Godiste == Convert.ToInt32(comboBox3.Text) && automobili[i].Kubikaza == Convert.ToInt32(comboBox4.Text) && automobili[i].Karoserija == comboBox5.Text && automobili[i].BrojVrata == Convert.ToInt32(comboBox6.Text) && automobili[i].Gorivo == comboBox7.Text && automobili[i].Pogon == comboBox8.Text && automobili[i].VrstaMenjaca == comboBox9.Text) { a.Id = automobili[i].Id; } } //opet proveravamo validnost if (dateTimePicker2.Value < DateTime.Now) { dateTimePicker1.Value = DateTime.Now; nastavi = false; } else { //proveravamo da li je termin zauzet foreach (Rezervacije rezervacija in rezervacije) { if (rezervacija.IdAutaRez == this.a.Id) { if (dateTimePicker2.Value > rezervacija.DatumOd && dateTimePicker2.Value < rezervacija.DatumDo) { MessageBox.Show("Termin je vec zauzet"); dateTimePicker1.Value = DateTime.Now; nastavi = false; } } } } //ako je sve OK if (nastavi) { //trazimo broj dana izmedju datuma double brojDana = (dateTimePicker2.Value.Date - dateTimePicker1.Value.Date).TotalDays; double cena = 0; List <Ponuda> ponude = RadSaDatotekom.Procitaj <Ponuda>("ponuda.bin"); //prvo pitamo da li je uneti datum u jednom mesecu //trazimo ponudu za taj auto u jednom i pravimo cenu if (dateTimePicker1.Value.Month == dateTimePicker2.Value.Month) { foreach (Ponuda ponuda in ponude) { if (ponuda.IdAuta == this.a.Id) { if (dateTimePicker1.Value.Date > ponuda.DatumOd && dateTimePicker2.Value.Date <= ponuda.DatumDo) { cena = brojDana * ponuda.CenaPoDanu; if (cena > 0) { textBox10.Text = cena.ToString(); } } } } } else //ako nije //dinamiciki se racuna raspon izmedju dana u mesecima { double brojDana1 = 0; double brojDana2 = 0; double cena1 = 0; double cena2 = 0; foreach (Ponuda ponuda in ponude) { if (ponuda.IdAuta == this.a.Id) { if (dateTimePicker1.Value.Month == ponuda.DatumOd.Month) { brojDana1 += (ponuda.DatumDo - dateTimePicker1.Value.Date).TotalDays; cena1 = brojDana1 * ponuda.CenaPoDanu; } if (dateTimePicker2.Value.Month == ponuda.DatumDo.Month) { brojDana2 += (dateTimePicker2.Value.Date - ponuda.DatumOd.Date).TotalDays; cena2 = brojDana2 * ponuda.CenaPoDanu; } } } if ((cena1 + cena2) > 0) { double someValue = (cena1 + cena2); String.Format("{0:0.00}", someValue); textBox10.Text = someValue.ToString(); } } } }