예제 #1
0
 private void updateujCijenu()
 {
     textBox4.Text = "0 KM";
     if (listBox1.SelectedItems.Count > 0 && comboBox2.SelectedIndex > -1 && comboBox3.SelectedIndex > comboBox2.SelectedIndex)
     {
         DAL.Entiteti.Stanica prvaStanica    = staniceUVoznji[comboBox2.SelectedIndex];
         DAL.Entiteti.Stanica drugaStanica   = staniceUVoznji[comboBox3.SelectedIndex];
         DAL.Entiteti.Voznja  voznja         = voznje[listBox1.SelectedIndices[0]];
         DAL.Entiteti.Linija  odabranaLinija = comboBox1.SelectedItem as DAL.Entiteti.Linija;
         double        cijena = odabranaLinija.vratiCijenu(prvaStanica, drugaStanica);
         List <double> cijene = new List <double>();
         for (int i = 0; i < odabranaMjesta.Count; i++)
         {
             cijene.Add(cijena * (1 - tipPopusta[comboBox4.SelectedIndex].VrijednostPopusta / 100.0));
         }
         try
         {
             if (tipPopusta[comboBox4.SelectedIndex].VrijednostPopusta == 0)
             {
                 DAL.Entiteti.KupacKarte kupac = new DAL.Entiteti.KupacKarte(textBox2.Text, prvaStanica, drugaStanica, voznja, odabranaMjesta, cijene, System.DateTime.Now);
                 textBox4.Text = kupac.proracunajCijenu().ToString() + " KM";
             }
             else
             {
                 DAL.Entiteti.KupacSaPopustom kupac = new DAL.Entiteti.KupacSaPopustom(textBox2.Text, prvaStanica, drugaStanica, voznja, odabranaMjesta, cijene, System.DateTime.Now, tipPopusta[comboBox4.SelectedIndex].VrijednostPopusta, textBox3.Text, (DAL.TipoviPodataka.TipoviKupaca)(tipPopusta[comboBox4.SelectedIndex].Indeks));
                 textBox4.Text = kupac.proracunajCijenu().ToString() + " KM";
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
     }
 }
예제 #2
0
        private void button2_Click(object sender, EventArgs e)
        {
            int brojac = 0;

            foreach (DAL.Entiteti.Linija al in kl.Linije)
            {
                if (al.NazivLinije != comboBox1.Text)
                {
                    brojac++;
                }
            }
            if (comboBox1.Text == "")
            {
                MessageBox.Show("Niste selektovali liniju!");
            }
            else if (brojac == kl.Linije.Count)
            {
                MessageBox.Show("Upisana linija ne postoji !"); return;
            }
            else if (comboBox1.Text != "")
            {
                DAL.Entiteti.Linija odabranaLinija = comboBox1.SelectedItem as DAL.Entiteti.Linija;
                CijeneNaLiniji      cl             = new CijeneNaLiniji(odabranaLinija);
                cl.Show();
            }
        }
예제 #3
0
 public double dajCijenuJedneKarte(long sifraLinije, long sifraPocetneStanice, long sifraKrajnjeStanice)
 {
     DAL.DAL d = DAL.DAL.Instanca;
     d.kreirajKonekciju();
     DAL.Entiteti.Linija  odabranaLinija = d.getDAO.getLinijaDAO().getById(sifraLinije);
     DAL.Entiteti.Stanica prvaStanica    = d.getDAO.getStaniceDAO().getById(sifraPocetneStanice);
     DAL.Entiteti.Stanica drugaStanica   = d.getDAO.getStaniceDAO().getById(sifraKrajnjeStanice);
     return(odabranaLinija.vratiCijenu(prvaStanica, drugaStanica));
 }
예제 #4
0
        public long dodajLiniju(DAL.Entiteti.Linija l)
        {
            DAL.DAL           d  = DAL.DAL.Instanca;
            DAL.DAL.LinijaDAO ld = d.getDAO.getLinijaDAO();

            l.SifraLinije = ld.create(l);
            linije.Add(l);

            return(l.SifraLinije);
        }
예제 #5
0
        public CijeneNaLiniji(DAL.Entiteti.Linija l)
        {
            odabranaLinija = l;
            InitializeComponent();

            gbLinija.Text        = odabranaLinija.NazivLinije;
            lblBrojStanica.Text += odabranaLinija.Stanice.Count.ToString();
            lblSifraLinije.Text += odabranaLinija.SifraLinije.ToString();
            popuniTabelu();
        }
예제 #6
0
 public bool ispravanRasporedStanica(long sifraLinije, long sifraPocetneStanice, long sifraKrajnjeStanice)
 {
     DAL.DAL d = DAL.DAL.Instanca;
     d.kreirajKonekciju();
     DAL.Entiteti.Linija linija = d.getDAO.getLinijaDAO().getById(sifraLinije);
     if (dajIndexStanice(sifraPocetneStanice, linija) == -1 || dajIndexStanice(sifraKrajnjeStanice, linija) == -1)
     {
         return(false);
     }
     return(dajIndexStanice(sifraPocetneStanice, linija) < dajIndexStanice(sifraKrajnjeStanice, linija));
 }
예제 #7
0
 private long dajIndexStanice(long sifraStanice, DAL.Entiteti.Linija linija)
 {
     for (int i = 0; i < linija.Stanice.Count; i++)
     {
         if (linija.Stanice[i].SifraStanice == sifraStanice)
         {
             return(i);
         }
     }
     return(-1);
 }
예제 #8
0
        public List <long> dajStaniceULiniji(long sifraLinije)
        {
            DAL.DAL d = DAL.DAL.Instanca;
            d.kreirajKonekciju();
            List <long> spisak = new List <long>();

            DAL.Entiteti.Linija linija = d.getDAO.getLinijaDAO().getById(sifraLinije);
            foreach (DAL.Entiteti.Stanica stanica in linija.Stanice)
            {
                spisak.Add(stanica.SifraStanice);
            }
            return(spisak);
        }
예제 #9
0
 public void updateujLiniju(DAL.Entiteti.Linija l)
 {
     DAL.DAL           d  = DAL.DAL.Instanca;
     DAL.DAL.LinijaDAO ld = d.getDAO.getLinijaDAO();
     for (int i = 0; i < linije.Count; i++)
     {
         if (linije[i].SifraLinije == l.SifraLinije)
         {
             linije[i] = ld.update(l);
             return;
         }
     }
 }
예제 #10
0
        public List <long> dajVoznje(long sifraLinije)
        {
            DAL.DAL d = DAL.DAL.Instanca;
            d.kreirajKonekciju();
            List <long> spisak = new List <long>();

            DAL.Entiteti.Linija linija = d.getDAO.getLinijaDAO().getById(sifraLinije);
            foreach (DAL.Entiteti.Voznja voznja in linija.Voznje)
            {
                spisak.Add(voznja.SifraVoznje);
            }
            return(spisak);
        }
예제 #11
0
        public InformisanjeVoznje(DAL.Entiteti.Linija l)
        {
            InitializeComponent();
            odabranaLinija       = l;
            lblSifraLinije.Text += " " + l.SifraLinije.ToString();
            gbLinija.Text        = l.NazivLinije;
            lblBrojVoznji.Text  += " " + l.RasporediVoznje.Count;

            foreach (DAL.Entiteti.RasporedVoznje rv in odabranaLinija.RasporediVoznje)
            {
                cbVoznje.Items.Add(dani[rv.DanUSedmici] + ", " + rv.Vrijeme.Hour.ToString() + ":" + rv.Vrijeme.Minute.ToString("00"));
            }
            cbVoznje.SelectedIndex = 0;
        }
예제 #12
0
        public List <bool> dajSlobodnaSjedista(long sifraLinije, long sifraVoznje, long sifraPocetneStanice, long sifraKrajnjeStanice)
        {
            DAL.DAL d = DAL.DAL.Instanca;
            d.kreirajKonekciju();
            List <bool> sjedista = new List <bool>();

            DAL.Entiteti.Linija linija = d.getDAO.getLinijaDAO().getById(sifraLinije);
            long brojSjedista          = d.getDAO.getVoznjaDAO().getById(sifraVoznje).Autobus.BrojSjedista;

            for (int i = 0; i < brojSjedista; i++)
            {
                sjedista.Add(true);
            }
            List <DAL.Entiteti.KupacKarte>      kupciKarti          = new List <DAL.Entiteti.KupacKarte>();
            List <DAL.Entiteti.KupacSaPopustom> kupciKartiSPopustom = new List <DAL.Entiteti.KupacSaPopustom>();

            kupciKarti          = d.getDAO.getKupacKarteDAO().GetAll();
            kupciKartiSPopustom = d.getDAO.getKupacKarteSPopustomDAO().GetAll();
            foreach (DAL.Entiteti.KupacKarte kupac in kupciKarti)
            {
                if (kupac.Voznja.SifraVoznje == sifraVoznje)
                {
                    if (dajIndexStanice(kupac.PocetnaStanica.SifraStanice, linija) < dajIndexStanice(sifraKrajnjeStanice, linija)
                        &&
                        dajIndexStanice(kupac.KrajnjaStanica.SifraStanice, linija) > dajIndexStanice(sifraPocetneStanice, linija))
                    {
                        foreach (int mjesto in kupac.Sjedista)
                        {
                            sjedista[mjesto - 1] = false;
                        }
                    }
                }
            }
            foreach (DAL.Entiteti.KupacSaPopustom kupac in kupciKartiSPopustom)
            {
                if (kupac.Voznja.SifraVoznje == sifraVoznje)
                {
                    if (dajIndexStanice(kupac.PocetnaStanica.SifraStanice, linija) < dajIndexStanice(sifraKrajnjeStanice, linija)
                        &&
                        dajIndexStanice(kupac.KrajnjaStanica.SifraStanice, linija) > dajIndexStanice(sifraPocetneStanice, linija))
                    {
                        foreach (int mjesto in kupac.Sjedista)
                        {
                            sjedista[mjesto - 1] = false;
                        }
                    }
                }
            }
            return(sjedista);
        }
예제 #13
0
 private void button5_Click(object sender, EventArgs e)
 {
     if (textBox2.Text == "" || (textBox3.Enabled && textBox3.Text == ""))
     {
         MessageBox.Show("Molimo unesite sve podatke");
     }
     else
     {
         if (listBox1.SelectedItems.Count > 0 && comboBox2.SelectedIndex > -1 && comboBox3.SelectedIndex > comboBox2.SelectedIndex)
         {
             DAL.Entiteti.Stanica prvaStanica    = staniceUVoznji[comboBox2.SelectedIndex];
             DAL.Entiteti.Stanica drugaStanica   = staniceUVoznji[comboBox3.SelectedIndex];
             DAL.Entiteti.Voznja  voznja         = voznje[listBox1.SelectedIndices[0]];
             DAL.Entiteti.Linija  odabranaLinija = comboBox1.SelectedItem as DAL.Entiteti.Linija;
             double        cijena = odabranaLinija.vratiCijenu(prvaStanica, drugaStanica);
             List <double> cijene = new List <double>();
             for (int i = 0; i < odabranaMjesta.Count; i++)
             {
                 cijene.Add(cijena * (1 - tipPopusta[comboBox4.SelectedIndex].VrijednostPopusta / 100.0));
             }
             try
             {
                 if (tipPopusta[comboBox4.SelectedIndex].VrijednostPopusta == 0)
                 {
                     DAL.Entiteti.KupacKarte kupac = new DAL.Entiteti.KupacKarte(textBox2.Text, prvaStanica, drugaStanica, voznja, odabranaMjesta, cijene, System.DateTime.Today);
                     d.getDAO.getKupacKarteDAO().create(kupac);
                     MessageBox.Show("Obavljeno");
                     StampacKarti stampac = new StampacKarti(kupac, staniceUVoznji, logovaniKorisnik);
                     stampac.DokumentZaPrintanje.PrinterSettings = printDialog.PrinterSettings;
                     stampac.Stampaj();
                 }
                 else
                 {
                     DAL.Entiteti.KupacSaPopustom kupac = new DAL.Entiteti.KupacSaPopustom(textBox2.Text, prvaStanica, drugaStanica, voznja, odabranaMjesta, cijene, System.DateTime.Today, tipPopusta[comboBox4.SelectedIndex].VrijednostPopusta, textBox3.Text, (DAL.TipoviPodataka.TipoviKupaca)(tipPopusta[comboBox4.SelectedIndex].Indeks));
                     d.getDAO.getKupacKarteSPopustomDAO().create(kupac);
                     MessageBox.Show("Obavljeno");
                     StampacKarti stampac = new StampacKarti(kupac, staniceUVoznji, logovaniKorisnik);
                     stampac.DokumentZaPrintanje.PrinterSettings = printDialog.PrinterSettings;
                     stampac.Stampaj();
                 }
                 updateujBrojSlobodnihSjedista();
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message);
             }
         }
     }
 }
예제 #14
0
        public void izbrisiLiniju(DAL.Entiteti.Linija l)
        {
            DAL.DAL           d  = DAL.DAL.Instanca;
            DAL.DAL.LinijaDAO ld = d.getDAO.getLinijaDAO();

            for (int i = 0; i < linije.Count; i++)
            {
                if (linije[i].SifraLinije == l.SifraLinije)
                {
                    ld.delete(linije[i]);
                    linije.RemoveAt(i);
                    return;
                }
            }
        }
예제 #15
0
 private bool ispunjavaUslove(DAL.Entiteti.KupacKarte kupac)
 {
     if (!(tbImeIPrez.Text == "") && !(tbImeIPrez.Text == kupac.Ime))
     {
         return(false);
     }
     if (cbLinije.SelectedIndex > -1)
     {
         DAL.Entiteti.Linija linija = cbLinije.SelectedItem as DAL.Entiteti.Linija;
         bool valja = false;
         foreach (DAL.Entiteti.Voznja voznja in linija.Voznje)
         {
             if (voznja.SifraVoznje == kupac.Voznja.SifraVoznje)
             {
                 valja = true;
             }
         }
         if (!valja)
         {
             return(false);
         }
     }
     if (cbVoznje.SelectedIndex > -1)
     {
         DAL.Entiteti.Voznja voznja = cbVoznje.SelectedItem as DAL.Entiteti.Voznja;
         if (voznja.SifraVoznje != kupac.Voznja.SifraVoznje)
         {
             return(false);
         }
     }
     if (cbPocStan.SelectedIndex > -1)
     {
         DAL.Entiteti.Stanica stanica = cbPocStan.SelectedItem as DAL.Entiteti.Stanica;
         if (stanica.SifraStanice != kupac.PocetnaStanica.SifraStanice)
         {
             return(false);
         }
     }
     if (cbKrajStan.SelectedIndex > -1)
     {
         DAL.Entiteti.Stanica stanica = cbKrajStan.SelectedItem as DAL.Entiteti.Stanica;
         if (stanica.SifraStanice != kupac.KrajnjaStanica.SifraStanice)
         {
             return(false);
         }
     }
     return(true);
 }
예제 #16
0
        public void Stampaj()
        {
            indeks = 0;
            dokumentZaPrintanje.DefaultPageSettings.PaperSize = new PaperSize("moje", 580, 410);
            long idLin = DAL.DAL.Instanca.getDAO.getVoznjaDAO().dajIdLinije(kupacKarte.Voznja.SifraVoznje);

            linija  = DAL.DAL.Instanca.getDAO.getLinijaDAO().getById(idLin);
            pocetak = kraj = kupacKarte.Voznja.VrijemePolaska;
            int vrijemePocetak, vrijemeKraj;

            vrijemePocetak = linija.TrajanjeDoPolaska[dajIndexStanice(kupacKarte.PocetnaStanica)];
            vrijemeKraj    = linija.TrajanjeDoDolaska[dajIndexStanice(kupacKarte.KrajnjaStanica)];
            pocetak        = pocetak.AddMinutes((double)vrijemePocetak);
            kraj           = kraj.AddMinutes((double)vrijemeKraj);
            dokumentZaPrintanje.Print();
        }
예제 #17
0
 private void cbLinije_SelectedIndexChanged(object sender, EventArgs e)
 {
     cbVoznje.Items.Clear();
     cbVoznje.SelectedText = "";
     cbPocStan.Items.Clear();
     cbPocStan.SelectedText = "";
     cbKrajStan.Items.Clear();
     cbKrajStan.SelectedText = "";
     if (cbLinije.SelectedIndex > -1)
     {
         //postavi voznju i stanice
         DAL.Entiteti.Linija linija = cbLinije.SelectedItem as DAL.Entiteti.Linija;
         cbVoznje.Items.AddRange(linija.Voznje.ToArray());
         cbPocStan.Items.AddRange(linija.Stanice.ToArray());
         cbKrajStan.Items.AddRange(linija.Stanice.ToArray());
     }
 }
예제 #18
0
        private void tsbDelete_Click(object sender, EventArgs e)
        {
            try
            {
                DAL.Entiteti.Linija odabranaLinija = dajSelektiranuLiniju();

                DialogResult dres = MessageBox.Show("Da li ste sigurni da želite obrisati selektiranu liniju?", "Brisati?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (dres == DialogResult.Yes)
                {
                    kl.izbrisiLiniju(odabranaLinija);
                    lvLinije.Items.Remove(lvLinije.SelectedItems[0]);
                    MessageBox.Show("Linija je uspješno obrisana!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #19
0
        private void btnSpasi_Click(object sender, EventArgs e)
        {
            if (stanice.Count < 1 || cijene.Count == 0 || rasporediVoznje.Count == 0)
            {
                MessageBox.Show("Niste unijeli sve potrebne vrijednosti da opišete liniju!");
                return;
            }

            dgvStanice.Rows[dgvStanice.RowCount - 1].Cells[3].Value = dgvStanice.Rows[dgvStanice.RowCount - 1].Cells[2].Value;

            List <int> trajanjeDoDolaska, trajanjeDoPolaska;

            try
            {
                validirajTrajanja(out trajanjeDoDolaska, out trajanjeDoPolaska);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            DAL.Entiteti.Linija novaLinija = new DAL.Entiteti.Linija(tbNaziv.Text, stanice, trajanjeDoDolaska, trajanjeDoPolaska, cijene, new List <DAL.Entiteti.Voznja>(), rasporediVoznje);


            try
            {
                novaLinija.SifraLinije = kl.dodajLiniju(novaLinija);
                pozvanOd.promjenjenaLinija();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            MessageBox.Show("Promjene su uspješno spašene u bazu!");
            Close();
        }
예제 #20
0
        public void dodajKupca(string imeKupca, long sifraLinije, long sifraVoznje, long sifraPocetneStanice, long sifraKrajnjeStanice, List <int> sjedista, string kod)
        {
            DAL.DAL d = DAL.DAL.Instanca;
            d.kreirajKonekciju();
            DAL.Entiteti.Linija  odabranaLinija = d.getDAO.getLinijaDAO().getById(sifraLinije);
            DAL.Entiteti.Voznja  odabranaVoznja = d.getDAO.getVoznjaDAO().getById(sifraVoznje);
            DAL.Entiteti.Stanica prvaStanica    = d.getDAO.getStaniceDAO().getById(sifraPocetneStanice);
            DAL.Entiteti.Stanica drugaStanica   = d.getDAO.getStaniceDAO().getById(sifraKrajnjeStanice);

            double        cijenaKarte = odabranaLinija.vratiCijenu(prvaStanica, drugaStanica);
            List <double> cijene      = new List <double>();

            for (int i = 0; i < sjedista.Count; i++)
            {
                cijene.Add(cijenaKarte);
            }

            DAL.Entiteti.KupacKarte kupac = new DAL.Entiteti.KupacKarte(imeKupca, prvaStanica, drugaStanica, odabranaVoznja, sjedista, cijene, DateTime.Now);
            long sifraKupca = d.getDAO.getKupacKarteDAO().create(kupac);

            d.getDAO.getSifraZaInternetKupovinuDAO().create(new DAL.Entiteti.SifraZaInternetKupovinu(sifraKupca, kod));
        }
예제 #21
0
 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     listBox1.Items.Clear();
     comboBox2.Items.Clear();
     comboBox3.Items.Clear();
     odabranaMjesta = new List <int>();
     d.kreirajKonekciju();
     DAL.Entiteti.Linija odabranaLinija = comboBox1.SelectedItem as DAL.Entiteti.Linija;
     voznje = odabranaLinija.Voznje;
     for (int i = 0; i < voznje.Count; i++)
     {
         listBox1.Items.Add(voznje[i].SifraVoznje.ToString());
         listBox1.Items[i].SubItems.Add(voznje[i].VrijemePolaska.ToString("dd.MM.yyyy"));
         listBox1.Items[i].SubItems.Add(voznje[i].VrijemePolaska.ToString("HH:mm:ss"));
         listBox1.Items[i].SubItems.Add(voznje[i].Autobus.SifraAutobusa.ToString());
     }
     staniceUVoznji = odabranaLinija.Stanice;
     foreach (DAL.Entiteti.Stanica v in odabranaLinija.Stanice)
     {
         comboBox2.Items.Add(String.Format("{0}, {1}", v.Naziv, v.Mjesto));
         comboBox3.Items.Add(String.Format("{0}, {1}", v.Naziv, v.Mjesto));
     }
 }
예제 #22
0
 private void cbLinije_SelectedIndexChanged(object sender, EventArgs e)
 {
     selektiranaLinija = (cbLinije.SelectedItem as DAL.Entiteti.Linija);
 }