示例#1
0
        private static void Brisanje_sastoji_se_tačke(Cirkuska_tačka tačka)
        {
            try
            {
                //Sastoji_se sastoji = new Sastoji_se();
                Cirkuska_predstava tmp;
                Cirkuska_predstava cp = new Cirkuska_predstava();
                //Sastoji_se sastoji = new Sastoji_se();
                for (int i = 0; i < tačka.Predstave.Count; i++)
                {
                    tmp = tačka.Predstave[i];
                    tačka.Predstave.RemoveAt(i--);
                    //sesija.Flush();
                    MessageBox.Show("Cirkuska predstava sa ID-em:  " + tmp.id_predstave + " više ne pripada tački");

                    cp.Tačke.Remove(tačka);

                    //sesija.Flush();
                }
                tačka.Predstave.Clear();
            }
            catch (Exception ec)
            {
                System.Windows.Forms.MessageBox.Show(ec.Message);
            }
        }
示例#2
0
        private void Button3_Click(object sender, EventArgs e)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                Cirkuska_predstava cp = s.Load <Cirkuska_predstava>(18);
                Entiteti.Grad      g  = s.Load <Entiteti.Grad>(18220);

                Izvodi_se iz = new Izvodi_se();
                iz.Id.Predstava_u_gradu = cp;
                iz.Id.Izvodi_se_u       = g;
                iz.Od = DateTime.Today;
                iz.Do = DateTime.Now;

                s.Save(iz);

                s.Flush();
                MessageBox.Show("Uspešno dodeljena predstava.");
                s.Close();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#3
0
        private static void Brisanje_sastoji_se(Cirkuska_predstava predstava)
        {
            try
            {
                //Sastoji_se sastoji = new Sastoji_se();
                Cirkuska_tačka tmp;
                Cirkuska_tačka ct = new Cirkuska_tačka();
                //Sastoji_se sastoji = new Sastoji_se();
                for (int i = 0; i < predstava.Tačke.Count; i++)
                {
                    tmp = predstava.Tačke[i];
                    predstava.Tačke.RemoveAt(i--);
                    //sesija.Flush();
                    MessageBox.Show("Cirkuska tačka " + tmp.naziv_tačke + " više ne pripada predstavi");

                    ct.Predstave.Remove(predstava); //brisanje iz Sastoji_se

                    //sesija.Flush();
                }
                predstava.Tačke.Clear();
            }
            catch (Exception ec)
            {
                System.Windows.Forms.MessageBox.Show(ec.Message);
            }
        }
示例#4
0
        private void Button2_Click(object sender, EventArgs e)

        {
            try
            {
                ISession s = DataLayer.GetSession();

                Cirkuska_predstava cp = s.Load <Cirkuska_predstava>(6);
                Entiteti.Grad      g  = s.Load <Entiteti.Grad>(18000);

                g.Predstave.Add(cp);
                cp.Gradovi.Add(g);

                Entiteti.Grad g1 = s.Load <Entiteti.Grad>(18220);

                g1.Predstave.Add(cp);
                cp.Gradovi.Add(g1);

                //foreach (Grad gr in cp.Gradovi)
                //{
                //	MessageBox.Show(gr.naziv.ToString());
                //}

                s.Flush();
                s.Close();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#5
0
        public static bool Dodaj_predstavu(int broj_prodatih_karata, string vreme_predstave, int[] tačke, int[] gradovi, DateTime Od, DateTime Do)
        {
            Cirkuska_predstava predstava = new Cirkuska_predstava();

            Setuj_propertije_predstave(predstava, broj_prodatih_karata, vreme_predstave);
            Sastoji_se sastoji_se = new Sastoji_se();
            Izvodi_se  izvodi_se  = new Izvodi_se();

            try
            {
                ISession s = DataLayer.GetSession();
                s.SaveOrUpdate(predstava);
                s.Flush();

                int id_predstave      = predstava.id_predstave;
                Cirkuska_predstava cp = s.Load <Cirkuska_predstava>(id_predstave);

                foreach (int t in tačke)
                {
                    Entiteti.Cirkuska_tačka ct = s.Load <Entiteti.Cirkuska_tačka>(t);

                    Sastoji_se ss = new Sastoji_se();
                    ss.Sastoji_se_predstava = cp;
                    ss.Sastoji_se_tačka     = ct;

                    s.Save(ss);
                    s.Update(predstava);
                }
                s.Flush();


                // Setuj_vezu_izvodi_se
                foreach (int grad in gradovi)
                {
                    Entiteti.Grad g = s.Load <Entiteti.Grad>(grad);

                    Izvodi_se iz = new Izvodi_se();
                    iz.Id.Predstava_u_gradu = cp;
                    iz.Id.Izvodi_se_u       = g;
                    iz.Od = Od;
                    iz.Do = Do;

                    s.Save(iz);
                }
                s.Flush();
                s.Close();
            }
            catch (Exception ec)
            {
                //TODO handle
                return(false);
            }
            return(true);
        }
示例#6
0
        public static bool Izmeni_predstavu(PredstavaPregled predstava, int[] tačke, int[] gradovi, DateTime Od, DateTime Do)
        {
            // TODO videti zasto kad se otvori sesija po drugi put puca kod
            // Napomena: kad se prolazi kroz debager sve je u redu,
            // kad se pokrene kod na izvrsavanje regularno puca.
            try
            {
                ISession           s = DataLayer.GetSession();
                Cirkuska_predstava učitana_predstava = s.Load <Cirkuska_predstava>(predstava.id_predstave);
                Sastoji_se         sastoji_se        = new Sastoji_se();
                Izvodi_se          izvodi_se         = new Izvodi_se();

                Setuj_propertije_predstave(učitana_predstava, predstava.broj_prodatih_karata, predstava.vreme_predstave);

                foreach (int t in tačke)
                {
                    Entiteti.Cirkuska_tačka ct = s.Load <Entiteti.Cirkuska_tačka>(t);

                    Sastoji_se ss = new Sastoji_se();
                    ss.Sastoji_se_predstava = učitana_predstava;
                    ss.Sastoji_se_tačka     = ct;

                    s.Save(ss);
                    s.Update(učitana_predstava);
                }
                s.Flush();


                // Setuj_vezu_izvodi_se
                foreach (int grad in gradovi)
                {
                    Entiteti.Grad g = s.Load <Entiteti.Grad>(grad);

                    Izvodi_se iz = new Izvodi_se();
                    iz.Id.Predstava_u_gradu = učitana_predstava;
                    iz.Id.Izvodi_se_u       = g;
                    iz.Od = Od;
                    iz.Do = Do;

                    s.Save(iz);
                    s.Update(učitana_predstava);
                }

                s.Flush();
                s.Close();
                return(true);
            }
            catch (Exception ec)
            {
                return(false);
            }
        }
示例#7
0
        public static PredstavaPregled Učitaj_predstavu_po_id(int id)
        {
            try
            {
                ISession s = DataLayer.GetSession();


                Cirkuska_predstava cp            = s.Load <Cirkuska_predstava>(id);
                PredstavaPregled   predstava_ret = new PredstavaPregled(cp.broj_prodatih_karata, cp.vreme_predstave);
                s.Close();
                return(predstava_ret);
            }
            catch (Exception ec)
            {
                return(null);
            }
        }
示例#8
0
        private void Btn_učitaj_predstavu_Click(object sender, EventArgs e)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                Cirkuska_predstava p = s.Load <Cirkuska_predstava>(2);
                MessageBox.Show("Cirkuska predstava sa id-em: " + p.id_predstave.ToString() + " se održava " + p.vreme_predstave.ToString() + ". Broj prodatih karata je " + p.broj_prodatih_karata.ToString() + ".");

                s.Close();
            }

            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#9
0
        private static void Obriši_iz_izvodi_se(Grad grad, ISession sesija)
        {
            Cirkuska_predstava predstava;

            Cirkuska_predstava pred = new Cirkuska_predstava();

            for (int i = 0; i < grad.Predstave.Count; i++)
            {
                predstava = grad.Predstave[i];
                grad.Predstave.RemoveAt(i--);
                //sesija.Flush();
                //Kaskadno_brisanje_tačke(tmp, predstava, sesija);

                pred.Gradovi.Remove(grad); //bisanje iz Izvodi se
            }
            pred.Gradovi.Clear();
            //sesija.Flush();
        }
示例#10
0
 public static IList <Cirkuska_tačka> Učitaj_sve_tačke_za_predstavu(int id, ISession sesija)
 {
     try
     {
         try
         {
             Cirkuska_predstava predstava = sesija.Load <Cirkuska_predstava>(id);
             return(predstava.Tačke);
         }
         catch (Exception ec)
         {
             return(null);
         }
     }
     catch (Exception ec)
     {
         return(null);
     }
 }
示例#11
0
        public static bool Izmeni_predstavu(PredstavaPregled predstava)
        {
            try
            {
                ISession           s = DataLayer.GetSession();
                Cirkuska_predstava učitana_predstava = s.Load <Cirkuska_predstava>(predstava.id_predstave);

                Setuj_propertije_predstave(učitana_predstava, predstava.broj_prodatih_karata, predstava.vreme_predstave);

                // sesija = DataLayer.GetSession();
                s.Update(učitana_predstava);
                s.Flush();
                s.Close();
                return(true);
            }
            catch (Exception ec)
            {
                return(false);
            }
        }
示例#12
0
        //private static void Setuj_vezu_sastoji_se(Sastoji_se sastoji_se, int id_predstave, int broj_tačke)
        //{
        //    sastoji_se.Sastoji_se_predstava.id_predstave = id_predstave;
        //    sastoji_se.Sastoji_se_tačka.broj_tačke = broj_tačke;
        //}

        //private static void Setuj_vezu_izvodi_se(Izvodi_se izvodi_se, int id_predstave, DateTime Od, DateTime Do)
        //{
        //    izvodi_se.Id.Predstava_u_gradu.id_predstave = id_predstave;
        //    izvodi_se.Od = Od;
        //    izvodi_se.Do = Do;
        //}


        public static bool Dodaj_predstavu(int broj_prodatih_karata, string vreme_predstave)
        {
            Cirkuska_predstava predstava = new Cirkuska_predstava();

            Setuj_propertije_predstave(predstava, broj_prodatih_karata, vreme_predstave);

            try
            {
                ISession s = DataLayer.GetSession();
                s.SaveOrUpdate(predstava);
                s.Flush();
                s.Close();
            }
            catch (Exception ec)
            {
                //TODO handle
                return(false);
            }
            return(true);
        }
示例#13
0
        private void Btn_izbrisi_predstavu_Click(object sender, EventArgs e)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                Cirkuska_predstava p = s.Load <Cirkuska_predstava>(4);

                s.Delete(p);
                s.Flush();
                MessageBox.Show("Uspešno obrisana predstava.");

                s.Close();
            }

            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#14
0
        private void Btn_izmeni_predstavu_Click(object sender, EventArgs e)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                Cirkuska_predstava p = s.Load <Cirkuska_predstava>(1);
                p.broj_prodatih_karata = 233;

                s.Update(p);
                s.Flush();
                MessageBox.Show("Uspešno izmenjena predstava.");

                s.Close();
            }

            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#15
0
        private void Btn_dodeli_tacku_Click(object sender, EventArgs e)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                Cirkuska_predstava      cp = s.Load <Cirkuska_predstava>(49);
                Entiteti.Cirkuska_tačka ct = s.Load <Entiteti.Cirkuska_tačka>(5145);

                Sastoji_se ss = new Sastoji_se();
                ss.Sastoji_se_predstava = cp;
                ss.Sastoji_se_tačka     = ct;

                s.Save(ss);

                s.Flush();

                MessageBox.Show("Uspešno dodeljena 1. tačka.");


                Cirkuska_predstava      cp2 = s.Load <Cirkuska_predstava>(49);
                Entiteti.Cirkuska_tačka ct2 = s.Load <Entiteti.Cirkuska_tačka>(5252);

                Sastoji_se ss2 = new Sastoji_se();
                ss2.Sastoji_se_predstava = cp2;
                ss2.Sastoji_se_tačka     = ct2;

                s.Save(ss2);

                s.Flush();
                MessageBox.Show("Uspešno dodeljena 2. tačka.");
                s.Close();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#16
0
        private void Btn_tacke_u_predstavi_Click(object sender, EventArgs e)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                Cirkuska_predstava      cp = s.Load <Cirkuska_predstava>(6);
                Entiteti.Cirkuska_tačka ct = s.Load <Entiteti.Cirkuska_tačka>(1565);

                //Sastoji_se ss = new Sastoji_se();
                //ss.Sastoji_se_predstava = cp;
                //ss.Sastoji_se_tačka = ct;

                //s.Save(ss);
                cp.Tačke.Add(ct);

                Entiteti.Cirkuska_tačka ct1 = s.Load <Entiteti.Cirkuska_tačka>(1565);

                //Sastoji_se ss = new Sastoji_se();
                //ss.Sastoji_se_predstava = cp;
                //ss.Sastoji_se_tačka = ct;

                //s.Save(ss);
                cp.Tačke.Add(ct1);

                foreach (Cirkuska_tačka t in cp.Tačke)
                {
                    MessageBox.Show(t.naziv_tačke.ToString());
                }

                s.Flush();
                s.Close();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#17
0
        private void btn_sačuvaj_Click(object sender, EventArgs e)
        {
            PredstavaPregled predstava = new PredstavaPregled();

            predstava.id_predstave         = int.Parse(lbl_id_predstave.Text);
            predstava.vreme_predstave      = tbx_vreme_predstave.Text;
            predstava.broj_prodatih_karata = int.Parse(tbx_broj_prodatih_karata.Text);
            Cirkuska_predstava cp = new Cirkuska_predstava();

            // cp.Predstava_u_gradu[]


            try
            {
                if (DTOManager.Izmeni_predstavu(predstava, Pribavi_tačke(), Pribavi_gradove(), dtp_od.Value, dtp_do.Value))
                {
                    DialogResult dialog = MessageBox.Show("Uspešno su ažurirani podaci o predstavi!");
                    if (dialog == DialogResult.OK)
                    {
                        this.Close();
                    }
                }
                else
                {
                    DialogResult dialog = MessageBox.Show("Došlo je do problema sa ažuriranjem podataka ");
                    if (dialog == DialogResult.OK)
                    {
                        this.Close();
                    }
                }
            }

            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }
示例#18
0
        public static bool Obriši_predstavu(int id)
        {
            try
            {
                ISession sesija = DataLayer.GetSession();

                Cirkuska_predstava     predstava = sesija.Load <Cirkuska_predstava>(id);
                IList <Cirkuska_tačka> lista;
                //lista na osnovu koje se kasnije proverava da li tačka pripada nekoj predstavi
                lista = Učitaj_sve_tačke_za_predstavu(id, sesija);
                Brisanje_sastoji_se(predstava);

                Grad grad;
                Grad gr = new Grad();
                for (int i = 0; i < predstava.Gradovi.Count; i++)
                {
                    grad = predstava.Gradovi[i];
                    predstava.Gradovi.RemoveAt(i--);
                    gr.Predstave.Remove(predstava); //bisanje iz Izvodi se
                    predstava.Gradovi.Clear();
                }

                sesija.Update(predstava);
                sesija.Flush();
                //Obriši_povezane_tačke(lista, sesija);
                sesija.Delete(predstava);
                sesija.Flush();


                sesija.Close();
                return(true);
            }
            catch (Exception ec)
            {
                return(false);
            }
        }
示例#19
0
 private static void Setuj_propertije_predstave(Cirkuska_predstava predstava, int broj_prodatih_karata, string vreme_predstave)
 {
     predstava.vreme_predstave      = vreme_predstave;
     predstava.broj_prodatih_karata = broj_prodatih_karata;
 }