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(); } }
//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 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 comboBox2_SelectedIndexChanged(object sender, EventArgs e) { List <Automobil> automobili = RadSaDatotekom.Procitaj <Automobil>("automobili.bin"); int imaAuta = 0; //pravimo automobil za poredjenje Automobil autoPom = new Automobil(); //proveravamo da li podaci iz combobokseva za auto i model poklapaju sa automobilom iz liste foreach (Automobil auto in automobili) { if (auto.Marka == comboBox1.Text && auto.Model == comboBox2.Text) { imaAuta++; } } comboBox3.Items.Clear(); comboBox4.Items.Clear(); comboBox5.Items.Clear(); comboBox6.Items.Clear(); comboBox7.Items.Clear(); comboBox8.Items.Clear(); comboBox9.Items.Clear(); comboBox3.Text = ""; comboBox4.Text = ""; comboBox5.Text = ""; comboBox6.Text = ""; comboBox7.Text = ""; comboBox8.Text = ""; comboBox9.Text = ""; if (imaAuta == 1) { foreach (Automobil a in automobili) { //prolazimo kroz automobile i ako se porede marka i model iz sa podacima iz comboboxa //autuPom se dodeljuju vrednosti auta koje je pronadjeno if (a.Marka == comboBox1.Text && a.Model == comboBox2.Text) { autoPom = a; } } //i posle prema tom automobilu popunjavamo ostale comboboksove comboBox3.Text = autoPom.Godiste.ToString(); comboBox4.Text = autoPom.Kubikaza.ToString(); comboBox5.Text = autoPom.Karoserija.ToString(); comboBox6.Text = autoPom.BrojVrata.ToString(); comboBox7.Text = autoPom.Gorivo; comboBox8.Text = autoPom.Pogon; comboBox9.Text = autoPom.VrstaMenjaca; } else { //ako ima vise automobila iste marke i modela //ukljucuju se ostali comboboxovi foreach (Control c in this.Controls) { c.Enabled = true; } List <Automobil> pomAuta = new List <Automobil>(); foreach (Automobil auto in automobili) { if (auto.Marka == comboBox1.Text && auto.Model == comboBox2.Text) { pomAuta.Add(auto); } } //ako ima automobila sa istim godistem ispisi ga samo jednom if (pomAuta[0].Godiste == pomAuta[1].Godiste) { comboBox3.Text = pomAuta[0].Godiste.ToString(); } else { foreach (Automobil pom1 in pomAuta) { comboBox3.Items.Add(pom1.Godiste); } } //ako ima automobila sa istom kubikazom ispisi je samo jednom if (pomAuta[0].Kubikaza == pomAuta[1].Kubikaza) { comboBox4.Text = pomAuta[0].Kubikaza.ToString(); } else { foreach (Automobil pom1 in pomAuta) { comboBox4.Items.Add(pom1.Kubikaza); } } //ako ima automobila sa istom karoserijom ispisi je samo jednom if (pomAuta[0].Karoserija == pomAuta[1].Karoserija) { comboBox5.Text = pomAuta[0].Karoserija.ToString(); } else { foreach (Automobil pom1 in pomAuta) { comboBox5.Items.Add(pom1.Karoserija); } } //ako ima automobila sa istim brojem vrata ispisi ih samo jednom if (pomAuta[0].BrojVrata == pomAuta[1].BrojVrata) { comboBox6.Text = pomAuta[0].BrojVrata.ToString(); } else { foreach (Automobil pom1 in pomAuta) { comboBox6.Items.Add(pom1.BrojVrata); } } //ako ima automobila sa istim gorivom ispisi ga samo jednom if (pomAuta[0].Gorivo == pomAuta[1].Gorivo) { comboBox7.Text = pomAuta[0].Gorivo.ToString(); } else { foreach (Automobil pom1 in pomAuta) { comboBox7.Items.Add(pom1.Gorivo); } } //ako ima automobila sa istim pogom ispisi njegov pogon samo jednom if (pomAuta[0].Pogon == pomAuta[1].Pogon) { comboBox8.Text = pomAuta[0].Pogon.ToString(); } else { foreach (Automobil pom1 in pomAuta) { comboBox8.Items.Add(pom1.Pogon); } } //ako ima automobila sa istom vrstom menjaca ispisi vrstu samo jednom if (pomAuta[0].VrstaMenjaca == pomAuta[1].VrstaMenjaca) { comboBox9.Text = pomAuta[0].VrstaMenjaca.ToString(); } else { foreach (Automobil pom1 in pomAuta) { comboBox9.Items.Add(pom1.VrstaMenjaca); } } } }