public async Task <ActionResult <Sediste> > AddSediste(Sediste sediste)
        {
            _context.SedistaLeta.Add(sediste);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetSediste", new { id = sediste.Id }, sediste));
        }
Exemple #2
0
        public static ObservableCollection<Karta> vratiKarte()
        {
            SqlConnection cnn = Konekcija.KreirajKoekciju();
            SqlCommand komanda = new SqlCommand("SELECT * FROM Karta WHERE Deleted = 0", cnn);

            ObservableCollection<Karta> karte = new ObservableCollection<Karta>();

            try
            {
                cnn.Open();
                SqlDataReader dr = komanda.ExecuteReader();

                while (dr.Read())
                {
                    Karta k = new Karta();

                    k.KartaId = (int)dr["KartaId"];
                    k.Let = LetDAO.vratiLet((int)dr["LetId"]);
                    Sediste s = new Sediste();
                    s.Id = 1;
                    s.Red = (int)dr["BrojReda"];
                    s.SedisteURedu = (int)dr["BrojSedista"];
                    EtipSedista tip;
                    Enum.TryParse(dr["Klasa"].ToString(), out tip);
                    s.tipSedista = tip;
                    s.Deleted = false;
                    k.Sediste = s;
                    k.Korisnik = KorisnikDAO.vratiKorisnika((int)dr["KorisnikId"]);
                    k.Kapija = dr["Kapija"].ToString();
                    k.Cena = (decimal)dr["Cena"];
                    k.Deleted = Convert.ToBoolean(dr["Deleted"]);

                    if (k.Let.Deleted || k.Let.Sifra == null)
                    {
                        IzbrisiKartu(k);
                       
                    }
                    else
                    {
                        karte.Add(k);
                    }
                    
                }
                cnn.Close();
            }
            catch (Exception xcp)
            {
                if (cnn.State == ConnectionState.Open)
                {
                    cnn.Close();
                }
                MessageBox.Show(xcp.Message);
                return null;
            }
            return karte;
        }
Exemple #3
0
        public static List<Karta> VratiKarteULetu(Let let)
        {
            SqlConnection cnn = Konekcija.KreirajKoekciju();
            SqlCommand komanda = new SqlCommand("SELECT * FROM Karta WHERE LetId = @LetID AND Deleted = 0", cnn);

            komanda.Parameters.AddWithValue("@LetID", let.Id);
            List<Karta> karte = new List<Karta>();


            try
            {
                cnn.Open();
                SqlDataReader dr = komanda.ExecuteReader();

                while (dr.Read())
                {
                    Karta k = new Karta();
                    k.KartaId = (int)dr["KartaId"];
                    k.Let = LetDAO.vratiLet((int)dr["LetId"]);
                    Sediste s = new Sediste();
                    s.Id = 1;
                    s.Red = (int)dr["BrojReda"];
                    s.SedisteURedu = (int)dr["BrojSedista"];
                    EtipSedista tip;
                    Enum.TryParse(dr["Klasa"].ToString(), out tip);
                    s.tipSedista = tip;
                    s.Deleted = false;
                    k.Sediste = s;
                    k.Korisnik = KorisnikDAO.vratiKorisnika((int)dr["KorisnikId"]);
                    k.Kapija = dr["Kapija"].ToString();
                    k.Cena = (decimal)dr["Cena"];
                    k.Deleted = Convert.ToBoolean(dr["Deleted"]);

                    karte.Add(k);
                }
            }
            catch (Exception xcp)
            {
                if (cnn.State == ConnectionState.Open)
                {
                    cnn.Close();
                }
                MessageBox.Show(xcp.Message);
                return null;
            }

            return karte;


        }
        public async Task <ActionResult <Sediste> > DeleteSediste(int idLeta, string idSedista)
        {
            Sediste        sediste = new Sediste();
            string         idS     = idSedista.Replace("-", " ");
            List <Sediste> sedista = _context.SedistaLeta.ToList();

            foreach (Sediste s in sedista)
            {
                if (s.IdSedista == idS && s.IdLeta == idLeta)
                {
                    sediste = s;
                }
            }

            if (sediste == null)
            {
                return(NotFound());
            }

            _context.SedistaLeta.Remove(sediste);
            await _context.SaveChangesAsync();

            return(sediste);
        }
Exemple #5
0
        private void cbxSala_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataProvider dp   = new DataProvider();
            Sala         sala = new Sala();

            if (dp.PoveziBazu() > 0)
            {
                if (cbxSala.SelectedIndex == -1)
                {
                    return;
                }
                else
                {
                    Size q = new Size();
                    q.Width = 0;
                    flowLayoutPanel1.Controls.Clear();
                    flowLayoutPanel1.MaximumSize = q;
                    sala = dp.GetSala(cbxSala.Text, cbxBioskop.Text);
                    int.TryParse(sala.brojRedova, out brojRedova);
                    int.TryParse(sala.brojSedistaPoRedu, out brojSedisapoRedu);
                    Size s = new Size();
                    s.Width  = 20;
                    s.Height = 20;
                    Size   z = new Size();
                    int    j;
                    Button b = new Button();

                    for (int i = 0; i < brojRedova; i++)
                    {
                        for (j = 0; j < brojSedisapoRedu; j++)
                        {
                            b        = new Button();
                            b.Click += (object sender2, EventArgs e2) =>
                            {
                                Button button = sender2 as Button;
                                //   MessageBox.Show(button.Name);
                                if (button.BackColor != Color.Blue)
                                {
                                    label10.Visible = true;
                                    String[] ime = button.Name.Split(',');
                                    Sediste  sed = new Sediste();
                                    sed.red         = ime[0];
                                    sed.brojSedista = ime[1];
                                    sed.zauzeto     = true;
                                    sedisteSala.Add(sed);
                                    dugmici.Add(button);
                                    button.BackColor = Color.Blue;

                                    label10.Text = (cena * sedisteSala.Count).ToString() + " RSD";
                                }
                                else
                                {
                                    String[] ime = button.Name.Split(',');
                                    Sediste  sed = new Sediste();
                                    sed.red         = ime[0];
                                    sed.brojSedista = ime[1];
                                    sed.zauzeto     = true;
                                    foreach (Sediste sedi in sedisteSala)
                                    {
                                        if (sedi.brojSedista == sed.brojSedista && sedi.red == sed.red)
                                        {
                                            sedisteSala.Remove(sedi);
                                            return;
                                        }
                                    }
                                    dugmici.Remove(button);
                                    button.BackColor = Color.LightGray;
                                    label10.Text     = (cena * sedisteSala.Count).ToString() + " RSD";
                                }
                            };
                            b.BackColor = Color.LightGray;
                            b.Name      = i.ToString() + "," + j.ToString();
                            b.Text      = j.ToString();
                            b.Size      = s;
                            flowLayoutPanel1.Controls.Add(b);
                        }
                        z.Width = flowLayoutPanel1.Width;
                        flowLayoutPanel1.MaximumSize = z;
                    }

                    Prikaz p = dp.GetPrikazi2(cbxSala.Text, cbxDatum.Text, cbxVreme.Text, cbxBioskop.Text);
                    rezervacija.prikaz = p;
                    double.TryParse(p.cena, out cena);
                }
            }
            //OVDE UBACITI RACUNANJE CENE I SEDISTA
            //REDOVI SU VODORAVNO xD
        }
        public void Rezervisi(ComboBox cmbDestinacijeOd, ComboBox cmbDestinacijeDo, ListBox lbDatumPolaska,
                              ListBox lbDatumOdl, ComboBox cmbAvion, CheckBox checkBox1, DataGridView dataGridView1,
                              BindingList <Rezervacija> rezervacije, List <Avion> avioni, List <Let> letovi, Label lblSedistePocetak, Label lblSedistePov)
        {
            if (lblSedistePocetak.Text != "-")
            {
                int sifraLeta     = 0;
                int sifraPovratka = 0;

                foreach (Let l in letovi)
                {
                    if (l.DestinacijaOD.Grad == (cmbDestinacijeOd.SelectedItem as Aerodrom).Grad &&
                        l.DestinacijaDO.Grad == (cmbDestinacijeDo.SelectedItem as Aerodrom).Grad &&
                        l.DatumPolaska == Convert.ToDateTime(lbDatumPolaska.Text))
                    {
                        sifraLeta = l.SifraLet;
                    }
                    if (l.DestinacijaDO.Grad == (cmbDestinacijeOd.SelectedItem as Aerodrom).Grad &&
                        l.DestinacijaOD.Grad == (cmbDestinacijeDo.SelectedItem as Aerodrom).Grad &&
                        l.DatumPolaska == Convert.ToDateTime(lbDatumOdl.Text))
                    {
                        sifraPovratka = l.SifraLet;
                    }
                }

                Let let         = new Let();
                Let letPovratak = new Let();

                foreach (Let l in letovi)
                {
                    if (l.SifraLet == sifraLeta)
                    {
                        let = l;
                    }
                    if (l.SifraLet == sifraPovratka)
                    {
                        letPovratak = l;
                    }
                }
                List <Sediste> sedista = new List <Sediste>();
                sedista = KontrolerKorisnickogInterfejsa.Instance.VratiSedista(cmbAvion.SelectedItem as Avion);
                Avion avion = new Avion();
                foreach (Avion av in avioni)
                {
                    if (letPovratak.Avion != null && av.SifraAviona == letPovratak.Avion.SifraAviona)
                    {
                        avion = av;
                    }
                }
                List <Sediste> sedistaPovratka = new List <Sediste>();
                sedistaPovratka = KontrolerKorisnickogInterfejsa.Instance.VratiSedista(avion);
                Rezervacija r = new Rezervacija();
                r.Let = let;
                r.DatumRezervacije = DateTime.Now;
                r.Odobreno         = true;
                Avion a = new Avion();
                a          = cmbAvion.SelectedItem as Avion;
                r.Avion    = a;
                r.Korisnik = Sesija.Instance.Korisnik;
                Sediste sediste    = new Sediste();
                Sediste sedistePov = new Sediste();
                foreach (Sediste s in sedista)
                {
                    if (s.BrojSedista == Convert.ToInt32(lblSedistePocetak.Text))
                    {
                        sediste = s;
                    }
                }
                foreach (Sediste s in sedistaPovratka)
                {
                    if (lblSedistePov.Text != "-")
                    {
                        if (s.BrojSedista == Convert.ToInt32(lblSedistePov.Text))
                        {
                            sedistePov = s;
                        }
                    }
                }

                r.Sediste = sediste;
                if (rezervacije.Count > 0)
                {
                    foreach (Rezervacija r1 in rezervacije)
                    {
                        if (r.Sediste.BrojSedista == r1.Sediste.BrojSedista && r.Avion.NazivAviona == r1.Avion.NazivAviona && r.Let.DestinacijaOD.Grad == r1.Let.DestinacijaOD.Grad && r.Let.DestinacijaDO.Grad == r1.Let.DestinacijaDO.Grad)
                        {
                            MessageBox.Show("Sediste je zauzeto!");
                            return;
                        }
                    }
                }
                if (checkBox1.Checked && lbDatumOdl.SelectedItem is null)
                {
                    MessageBox.Show("Ne postoji povratna karta za dati let!");
                }
                else if (Convert.ToDateTime(lbDatumOdl.SelectedItem) < Convert.ToDateTime(lbDatumPolaska.SelectedItem) && checkBox1.Checked)
                {
                    MessageBox.Show("Datum povratka mora biti posle datuma polaska!");
                }
                else
                {
                    if (!checkBox1.Checked)
                    {
                        rezervacije.Add(r);
                    }
                    else if (checkBox1.Checked && lblSedistePov.Text != "-")
                    {
                        rezervacije.Add(r);
                        Rezervacija re = new Rezervacija();
                        re.Korisnik         = Sesija.Instance.Korisnik;
                        re.Avion            = avion;
                        re.Let              = letPovratak;
                        re.DatumRezervacije = DateTime.Now;
                        re.Odobreno         = true;
                        re.Sediste          = sedistePov;

                        rezervacije.Add(re);
                    }
                    else
                    {
                        MessageBox.Show("Morate odabrati sediste za povratni let!");
                    }
                }
                dataGridView1.DataSource = rezervacije;
            }
            else
            {
                MessageBox.Show("Morate odabrati sediste!");
            }
        }
        private void buttonKupiKartu_Click(object sender, RoutedEventArgs e)
        {
            Korisnik korisnik = new Korisnik();

            if (dataGridSedista.SelectedIndex == -1)
            {
                MessageBox.Show("Morate izabrati sediste!");
                return;
            }

            Sediste s = (Sediste)dataGridSedista.SelectedItem;


            Karta k = new Karta();

            k.Let     = mainLet;
            k.Sediste = s;
            if (Aplikacija.Instance.LoggedUser != null)
            {
                k.Korisnik = Aplikacija.Instance.LoggedUser;
            }
            else
            {
                if (Validacija())
                {
                    korisnik.Ime      = textBoxIme.Text;
                    korisnik.Prezime  = textBoxPrezime.Text;
                    korisnik.Email    = string.Empty;
                    korisnik.Adresa   = string.Empty;
                    korisnik.Pol      = null;
                    korisnik.UserName = string.Empty;
                    korisnik.Password = string.Empty;
                    korisnik.Tip      = Etip.Unregistred;
                    korisnik.Deleted  = false;
                    int id = KorisnikDAO.UbaciKorisnika(korisnik);
                    Aplikacija.Instance.UcitajKorisnike();
                    korisnik.Id = id;
                    k.Korisnik  = korisnik;
                }
                else
                {
                    return;
                }
            }
            k.Kapija = "kapija";
            if (k.Sediste.tipSedista == EtipSedista.Biznis)
            {
                decimal cena = decimal.Parse(textBoxCenaLeta.Text);
                k.Cena = cena + (cena * 0.3m);
            }
            else
            {
                k.Cena = decimal.Parse(textBoxCenaLeta.Text);
            }

            k.Deleted = false;

            if (KartaDAO.NaparviKartu(k) == 0)
            {
                MessageBox.Show("Kupili ste kartu");
                Aplikacija.Instance.UcitajKarte();
                this.Close();
            }
        }
        private bool CustomFilter(object obj)
        {
            Sediste sediste = (Sediste)obj;

            return(sediste.Deleted == false);
        }