Ejemplo n.º 1
0
        private void BtnUnesiPonudu_Click(object sender, EventArgs e)
        {
            int greska = 0;

            if (greska_selektovanja_auta_ponuda != 0)
            {
                MessageBox.Show("Niste selektovali automobil.");
            }

            if (listboxAutaPonuda.SelectedItem == listboxAutaPonuda.Items[0])
            {
                MessageBox.Show("Niste selektovali automobil.");
                greska++;
            }
            else
            {
                int prazno_polje = 0;
                if (txtCenaPoDanu.Text == "")
                {
                    MessageBox.Show("Popunite polje cena po danu.");
                    prazno_polje++;
                    greska++;
                }

                if (prazno_polje == 0)
                {
                    if (!int.TryParse(txtCenaPoDanu.Text, out int cena))
                    {
                        MessageBox.Show("Za cenu po danu unesite samo cifre.");
                        greska++;
                    }
                }


                if (dateTimeOD.Value.Date > dateTimeDO.Value.Date)
                {
                    MessageBox.Show("Unesite ispravan opseg datuma.");
                    greska++;
                }
            }



            if (greska_selektovanja_auta_ponuda == 0 && greska == 0)
            {
                citanje_iz_fajla_ponuda();
                for (int i = 0; i < ponuda.Count; i++)
                {
                    if (int.Parse(txtIdPonuda.Text) == ponuda[i].ID &&
                        dateTimeOD.Value.Date >= ponuda[i].getDatumOd().Date&&
                        dateTimeOD.Value.Date <= ponuda[i].getDatumDo().Date)
                    {
                        MessageBox.Show("Uneli ste postojeci termin u ponudi!");
                        greska++;
                        break;
                    }

                    if (int.Parse(txtIdPonuda.Text) == ponuda[i].ID &&
                        dateTimeDO.Value.Date >= ponuda[i].getDatumOd().Date&&
                        dateTimeDO.Value.Date <= ponuda[i].getDatumDo().Date)
                    {
                        MessageBox.Show("Uneli ste postojeci termin u ponudi!");
                        greska++;
                        break;
                    }

                    if (int.Parse(txtIdPonuda.Text) == ponuda[i].ID &&
                        dateTimeOD.Value.Date >= ponuda[i].getDatumOd().Date&&
                        dateTimeDO.Value.Date <= ponuda[i].getDatumDo().Date)
                    {
                        MessageBox.Show("Uneli ste postojeci termin u ponudi!");
                        greska++;
                        break;
                    }

                    if (int.Parse(txtIdPonuda.Text) == ponuda[i].ID &&
                        dateTimeOD.Value.Date <= ponuda[i].getDatumOd().Date&&
                        dateTimeDO.Value.Date >= ponuda[i].getDatumDo().Date)
                    {
                        MessageBox.Show("Uneli ste postojeci termin u ponudi!");
                        greska++;
                        break;
                    }
                }
            }

            if (greska == 0)
            {
                Ponuda p = new Ponuda(int.Parse(txtIdPonuda.Text), int.Parse(txtCenaPoDanu.Text),
                                      dateTimeOD.Value.Date, dateTimeDO.Value.Date);
                ponuda.Add(p);
                upis_u_fajl_ponuda();
                MessageBox.Show("Uspesno uneta ponuda.");
                listboxPonudaZaAuto.Items.Clear();
                inicijalizacija_ponude();
            }
        }
Ejemplo n.º 2
0
        private void BtnRezervisi_Click(object sender, EventArgs e)

        {
            citanje_iz_fajla_ponuda();
            citanje_iz_fajla_automobil();
            int greska_izbora     = 0;
            int id_odabranog_auta = -1;

            for (int i = 0; i < automobili.Count; i++)
            {
                if (automobili[i].marka == (string)cmbMarka.SelectedItem &&
                    automobili[i].model == (string)cmbModel.SelectedItem &&
                    automobili[i].godiste == (int)cmbGodiste.SelectedItem &&
                    automobili[i].kubikaza == (int)cmbKubikaza.SelectedItem &&
                    automobili[i].karoserija == (string)cmbKaroserija.SelectedItem &&
                    automobili[i].brVrata == (string)cmbBrVrata.SelectedItem &&
                    automobili[i].gorivo == (string)cmbGorivo.SelectedItem &&
                    automobili[i].pogon == (string)cmbPogon.SelectedItem &&
                    automobili[i].menjac == (string)cmbMenjac.SelectedItem)
                {
                    id_odabranog_auta = automobili[i].id;
                    greska_izbora     = 0;
                    break;
                }
                else
                {
                    greska_izbora++;
                }
            }

            if (greska_izbora != 0)
            {
                MessageBox.Show("Niste izabrali sve kategorije za vozilo.");
            }

            DateTime preuzimanje = dateTimePreuzimanje.Value.Date;
            DateTime vracanje    = dateTimeVracanje.Value.Date;

            int greska_opsega = 0;
            int greska_termin = 0;

            if (greska_izbora == 0)
            {
                if (preuzimanje > vracanje)
                {
                    greska_opsega++;
                    MessageBox.Show("Uneli ste neodgovarajuci opseg datuma.");
                    txtUkupnaCena.Text = "";
                }
            }



            if (greska_opsega == 0 && greska_izbora == 0)
            {
                for (int i = 0; i < ponuda.Count; i++)
                {
                    if (id_odabranog_auta == ponuda[i].ID &&
                        preuzimanje >= ponuda[i].getDatumOd().Date&& vracanje <= ponuda[i].getDatumDo().Date
                        )
                    {
                        TimeSpan t    = vracanje.Subtract(preuzimanje);
                        double   cena = (t.TotalDays + 1) * ponuda[i].Cena;

                        citanje_iz_fajla_rezervacije();
                        Rezervacije r = new Rezervacije(id_odabranog_auta, id_kupca, (int)cena, preuzimanje, vracanje);
                        rezervacije.Add(r);
                        upis_u_fajl_rezervacije();

                        txtPrikazTermina.Clear();
                        txtUkupnaCena.Clear();

                        if (preuzimanje == ponuda[i].getDatumOd().Date&& vracanje == ponuda[i].getDatumDo().Date)
                        {
                            ponuda.RemoveAt(i);
                            upis_u_fajl_ponuda();
                        }

                        if (preuzimanje == ponuda[i].getDatumOd().Date&& vracanje < ponuda[i].getDatumDo().Date)
                        {
                            Ponuda p1 = new Ponuda(id_odabranog_auta, ponuda[i].Cena,
                                                   vracanje.AddDays(1), ponuda[i].getDatumDo());
                            ponuda.Add(p1);

                            ponuda.RemoveAt(i);
                            upis_u_fajl_ponuda();
                        }

                        if (preuzimanje > ponuda[i].getDatumOd().Date&& vracanje == ponuda[i].getDatumDo().Date)
                        {
                            Ponuda p1 = new Ponuda(id_odabranog_auta, ponuda[i].Cena,
                                                   ponuda[i].getDatumOd(), preuzimanje.AddDays(-1));
                            ponuda.Add(p1);

                            ponuda.RemoveAt(i);
                            upis_u_fajl_ponuda();
                        }

                        if (preuzimanje > ponuda[i].getDatumOd().Date&& vracanje < ponuda[i].getDatumDo().Date)
                        {
                            Ponuda p1 = new Ponuda(id_odabranog_auta, ponuda[i].Cena,
                                                   ponuda[i].getDatumOd(), preuzimanje.AddDays(-1));
                            ponuda.Add(p1);

                            Ponuda p2 = new Ponuda(id_odabranog_auta, ponuda[i].Cena,
                                                   vracanje.AddDays(+1), ponuda[i].getDatumDo());
                            ponuda.Add(p2);

                            ponuda.RemoveAt(i);
                            upis_u_fajl_ponuda();
                        }

                        this.Close();
                        Moje_Rezervacije frmMojeRez = new Moje_Rezervacije();
                        frmMojeRez.Show();
                        greska_termin = 0;
                        break;
                    }
                    else
                    {
                        greska_termin++;
                    }
                }
            }

            if (greska_termin != 0)
            {
                MessageBox.Show("Nema termina u izabranom opsegu datuma.");
            }
        }