private void updateujPonude(Rezervacija rezervacija)
 {
     for (int i = 0; i < ispisPonuda.Count; i++)
     {
         if (dtpDatumOd.Value.Date > ispisPonuda[i].DatumOd.Date &&
             dtpDatumDo.Value.Date < ispisPonuda[i].DatumDo.Date)
         {
             Ponuda p1 = new Ponuda(rezervacija.IdAutomobila, ispisPonuda[i].CenaPoDanu,
                                    ispisPonuda[i].DatumOd, dtpDatumOd.Value.AddDays(-1));
             Ponuda p2 = new Ponuda(rezervacija.IdAutomobila, ispisPonuda[i].CenaPoDanu,
                                    dtpDatumDo.Value.AddDays(1), ispisPonuda[i].DatumDo);
             ispisPonuda.Remove(ispisPonuda[i]);
             ispisPonuda.Add(p1);
             ispisPonuda.Add(p2);
             upisPonuda();
         }
         else if (dtpDatumOd.Value.Date <= ispisPonuda[i].DatumOd.Date &&
                  dtpDatumDo.Value.Date >= ispisPonuda[i].DatumDo.Date)
         {
             ispisPonuda.Remove(ispisPonuda[i]);
             upisPonuda();
         }
         else if (dtpDatumDo.Value.Date == ispisPonuda[i].DatumDo.Date &&
                  dtpDatumOd.Value.Date > ispisPonuda[i].DatumOd)
         {
             ispisPonuda[i].DatumDo = dtpDatumOd.Value.AddDays(-1);
             upisPonuda();
         }
         else if (dtpDatumOd.Value.Date == ispisPonuda[i].DatumOd.Date &&
                  dtpDatumDo.Value.Date < ispisPonuda[i].DatumDo)
         {
             ispisPonuda[i].DatumOd = dtpDatumDo.Value.AddDays(1);
             upisPonuda();
         }
         else if (dtpDatumDo.Value.Date >= ispisPonuda[i].DatumOd.Date &&
                  dtpDatumOd.Value.Date <= ispisPonuda[i].DatumOd)
         {
             ispisPonuda[i].DatumOd = dtpDatumDo.Value.AddDays(1);
             upisPonuda();
         }
         else if (dtpDatumOd.Value.Date <= ispisPonuda[i].DatumDo.Date &&
                  dtpDatumDo.Value.Date >= ispisPonuda[i].DatumDo)
         {
             ispisPonuda[i].DatumDo = dtpDatumOd.Value.AddDays(-1);
             upisPonuda();
         }
     }
 }
예제 #2
0
        private void dodajIUpisiPonudu(Rezervacija rezervacija)
        {
            FileStream      fs          = File.OpenRead("ponude.pol");
            BinaryFormatter bf          = new BinaryFormatter();
            List <Ponuda>   ispisPonuda = bf.Deserialize(fs) as List <Ponuda>;

            fs.Close();
            if (!proveriDaLiSuDatumiZauzeti(ispisPonuda, rezervacija.DatumOd, rezervacija.DatumDo, rezervacija.IdAutomobila))
            {
                Ponuda p = new Ponuda(rezervacija.IdAutomobila,
                                      rezervacija.Cena / ((rezervacija.DatumDo - rezervacija.DatumOd).Days + 1),
                                      rezervacija.DatumOd, rezervacija.DatumDo);
                ispisPonuda.Add(p);
                fs = File.OpenWrite("ponude.pol");
                bf.Serialize(fs, ispisPonuda as List <Ponuda>);
                fs.Close();
            }
        }
        private void napraviPonudu(Rezervacija rezervacija)
        {
            string novePonuda = "";

            if (!proveriDaLiSuDatumiZauzeti(rezervacija))
            {
                double cenaPoDanu = rezervacija.Cena /
                                    ((rezervacija.DatumDo - rezervacija.DatumOd).Days + 1);
                Ponuda p = new Ponuda(rezervacija.IdAutomobila,
                                      cenaPoDanu, rezervacija.DatumOd, rezervacija.DatumDo);
                novePonuda += Environment.NewLine + "ID automobila: " + p.IdAutomobila
                              + ", " + p.DatumOd.ToString("dd/MM/yyy") + " - " + p.DatumDo.ToString("dd/MM/yyy")
                              + ", " + cenaPoDanu.ToString("0.00") + " rsd";
                if ((MessageBox.Show(novePonuda, "Da li želite da dodate sledecu ponudu?",
                                     MessageBoxButtons.OKCancel)) == DialogResult.OK)
                {
                    ispisPonuda.Add(p);
                    upisPonuda();
                }
            }
        }
        private void btnDodajRezervaciju_Click(object sender, EventArgs e)
        {
            double cena;

            if (lbxKupci.SelectedItem == null)
            {
                MessageBox.Show("Niste selektovali kupca za rezervaciju!");
            }
            else if (lbxAutomobili.SelectedItem == null)
            {
                MessageBox.Show("Niste selektovali automobil za rezervaciju!");
            }
            else if ((cena = procitajCenu()) > 0 && !proveriDaliSuDatumiZauzetiURezervacijama(nadjiSelektovaniIdAutomobila()))
            {
                Rezervacija rezervacija = new Rezervacija(nadjiSelektovaniIdAutomobila(), nadjiSelektovaniIdKupca(),
                                                          dtpDatumOd.Value, dtpDatumDo.Value, cena);
                ispisRezervacija.Add(rezervacija);
                upisRezervacija();
                updateujPonude(rezervacija);
                MessageBox.Show("Rezervacija uspešno dodata.");
            }
        }
예제 #5
0
        private void btnRezervisi_Click(object sender, EventArgs e)
        {
            bool nadjenaPonuda = false;

            for (int i = 0; i < ispisPonuda.Count; i++)
            {
                if (idAutomobila == ispisPonuda[i].IdAutomobila &&
                    dtpDatumOd.Value.Date >= ispisPonuda[i].DatumOd.Date && dtpDatumDo.Value.Date <= ispisPonuda[i].DatumDo.Date)
                {
                    if (!proveriDaliSuDatumiZauzetiURezervacijama(idAutomobila))
                    {
                        int rasponDana = (dtpDatumDo.Value - dtpDatumOd.Value).Days + 1;
                        if (File.Exists("rezervacije.pol"))
                        {
                            Rezervacija r = new Rezervacija(idAutomobila, kupac.Id,
                                                            dtpDatumOd.Value, dtpDatumDo.Value,
                                                            rasponDana * ispisPonuda[i].CenaPoDanu);
                            ispisRezervacija.Add(r);
                        }
                        else
                        {
                            Rezervacija r = new Rezervacija(idAutomobila, kupac.Id, dtpDatumOd.Value, dtpDatumDo.Value,
                                                            rasponDana * ispisPonuda[i].CenaPoDanu);
                            ispisRezervacija.Add(r);
                        }
                        upisRezervacija();
                        nadjenaPonuda      = true;
                        txtUkupnaCena.Text = (rasponDana * ispisPonuda[i].CenaPoDanu).ToString("0.00") + " rsd";
                        updateujPonude(i);
                        MessageBox.Show("Rezervacija uspešna.");
                    }
                }
            }
            if (!nadjenaPonuda)
            {
                MessageBox.Show("Nismo nasli ponudu za izabrani automobil u izabranom periodu.");
            }
        }