Ejemplo n.º 1
0
        public override string ToString()
        {
            Automobil a = new Automobil();

            foreach (Automobil auto in Administrator.DeserijalizujAute())
            {
                if (auto.IdAutomobila == idAuta)
                {
                    a = auto;
                }
            }
            return(a.Marka + " " + a.Model + " termin: " + DatumRezOd.ToShortDateString() + "-" + datumRezDo.ToShortDateString() + " cena: " + cena + " din");
        }
Ejemplo n.º 2
0
        private void cbPonude_SelectedIndexChanged(object sender, EventArgs e)
        {
            Ponuda ponuda = (Ponuda)cbPonude.SelectedItem;

            List <Automobil> auti = Administrator.DeserijalizujAute();
            Automobil        auto = null;

            foreach (Automobil a in auti)
            {
                if (ponuda.IdAuta == a.IdAutomobila)
                {
                    auto = a;
                }
            }

            txtAuto.Text     = auto.ispis();
            txtAuto.ReadOnly = true;

            dateOd.Value = ponuda.DatumOd;
            dateDo.Value = ponuda.DatumDo;

            txtCena.Text = ponuda.CenaPoDanu.ToString();
        }
        private void btnObrisi_Click(object sender, EventArgs e)
        {
            if (cbAutomobili.SelectedItem != null)
            {
                Automobil temp = null;
                foreach (Automobil auto in lista)
                {
                    if (auto.ToString().Equals(cbAutomobili.SelectedItem.ToString()))
                    {
                        temp = auto;
                    }
                }

                DialogResult dialogResult = MessageBox.Show("Da li ste sigurni da želite da obrištete automobil " + temp.ispis() + "?", "Obriši", MessageBoxButtons.YesNo);
                if (dialogResult == DialogResult.Yes)
                {
                    lista.Remove(temp);
                    Administrator.SerijalizujAute(lista);
                    MessageBox.Show("Uspešno ste obrisali automobil " + temp.ispis());

                    List <Rezervacija> listaR = Administrator.DeserijalizujRezervacije();
                    List <Ponuda>      listaP = Administrator.DeserijalizujPonude();

                    List <Rezervacija> listaZaBrisanjeR = new List <Rezervacija>();
                    List <Ponuda>      listaZaBrisanjeP = new List <Ponuda>();

                    foreach (Rezervacija r in listaR)
                    {
                        if (r.IdAuta == temp.IdAutomobila)
                        {
                            listaZaBrisanjeR.Add(r);
                        }
                    }

                    if (listaZaBrisanjeR.Count > 0)
                    {
                        foreach (Rezervacija rez in listaZaBrisanjeR)
                        {
                            listaR.Remove(rez);
                        }
                    }

                    foreach (Ponuda p in listaP)
                    {
                        if (p.IdAuta == temp.IdAutomobila)
                        {
                            listaZaBrisanjeP.Add(p);
                        }
                    }

                    if (listaZaBrisanjeP.Count > 0)
                    {
                        foreach (Ponuda pon in listaZaBrisanjeP)
                        {
                            listaP.Remove(pon);
                        }
                    }

                    Administrator.SerijalizuPonude(listaP);
                    Administrator.SerijalizuRezervacije(listaR);

                    cbAutomobili.Items.Clear();
                    cbAutomobili.Text = "";

                    foreach (Automobil auto in lista)
                    {
                        if (!cbAutomobili.Items.Contains(auto))
                        {
                            cbAutomobili.Items.Add(auto);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Automobil nije obrisan.");
                }
            }
            else
            {
                MessageBox.Show("Nijedan automobil nije izabran!");
            }
        }
        private void btnDodaj_Click(object sender, EventArgs e)
        {
            // da li su polja prazna
            if (txtId.Text == "" ||
                txtMarka.Text == "" ||
                txtModel.Text == "" ||
                txtGodiste.Text == "" ||
                txtKubikaza.Text == "" ||
                txtPogon.Text == "" ||
                txtMenjac.Text == "" ||
                txtKaroserija.Text == "" ||
                txtGorivo.Text == "" ||
                txtBrVrata.Text == "")
            {
                MessageBox.Show("Morate popuniti sva polja!");
                return;
            }

            string id         = txtId.Text; // int
            string marka      = txtMarka.Text;
            string model      = txtModel.Text;
            string godiste    = txtGodiste.Text;  // int
            string kubikaza   = txtKubikaza.Text; // int
            string pogon      = txtPogon.Text;
            string menjac     = txtMenjac.Text;
            string karoserija = txtKaroserija.Text;
            string gorivo     = txtGorivo.Text;
            string brVrata    = txtBrVrata.Text; // int

            int intGodiste  = 0;
            int intKubikaza = 0;
            int intBrVrata  = 0;
            int intId       = 0;

            // PROVERE
            char[] nizKaraktera;

            // ID
            nizKaraktera = id.ToCharArray();
            foreach (char slovo in nizKaraktera)
            {
                if (!Char.IsDigit(slovo))
                {
                    MessageBox.Show("ID mora da se sastoji samo od cifara!");
                    txtId.BackColor = Color.Red;
                    return;
                }
            }
            foreach (Automobil a in listaAuta)
            {
                if (txtId.Text.Equals(a.IdAutomobila.ToString()))
                {
                    MessageBox.Show("Novi ID ne može biti ID koji već postoji!");
                    txtId.BackColor = Color.Red;
                    return;
                }
            }
            intId = int.Parse(id);

            // godiste
            nizKaraktera = godiste.ToCharArray();
            foreach (char slovo in nizKaraktera)
            {
                if (!Char.IsDigit(slovo))
                {
                    MessageBox.Show("Godište sme sadržati samo broj godine!");
                    txtGodiste.BackColor = Color.Red;
                    return;
                }
            }
            if (nizKaraktera.Length != 4)
            {
                MessageBox.Show("Godište mora sadržati 4 cifre tj. broj godine!");
                txtGodiste.BackColor = Color.Red;
                return;
            }
            intGodiste = int.Parse(godiste);


            // kubikaza
            nizKaraktera = kubikaza.ToCharArray();
            foreach (char slovo in nizKaraktera)
            {
                if (!Char.IsDigit(slovo))
                {
                    MessageBox.Show("Kubikaža mora biti navedena ciframa u kW!");
                    txtKubikaza.BackColor = Color.Red;
                    return;
                }
            }
            intKubikaza = int.Parse(kubikaza);


            // godiste
            nizKaraktera = brVrata.ToCharArray();
            foreach (char slovo in nizKaraktera)
            {
                if (!Char.IsDigit(slovo))
                {
                    MessageBox.Show("Broj vrata mora biti unet brojem, a ne slovima ili znakovima!");
                    txtBrVrata.BackColor = Color.Red;
                    return;
                }
            }
            intBrVrata = int.Parse(brVrata);



            Automobil novi = new Automobil(intId, marka, model, intGodiste, intKubikaza, pogon, menjac, karoserija, gorivo, intBrVrata, false);

            listaAuta.Add(novi);
            Administrator.SerijalizujAute(listaAuta);

            MessageBox.Show("Uspešno dodat automobil!");

            txtId.Clear();
            txtMarka.Clear();
            txtModel.Clear();
            txtGodiste.Clear();
            txtKubikaza.Clear();
            txtPogon.Clear();
            txtMenjac.Clear();
            txtKaroserija.Clear();
            txtGorivo.Clear();
            txtBrVrata.Clear();
            txtMarka.Focus();
        }