public FormAdministrator()
 {
     InitializeComponent();
     Init();
     letovanje                     = new Letovanje();
     zimovanje                     = new Zimovanje();
     spa                           = new Spa();
     ekskurzija                    = new Ekskurzija();
     tipPutovanja                  = null;
     cbParnoKupatilo.Visible       = false;
     cbSezonaSkiSkolaSauna.Visible = false;
 }
        public FormAdminKomentari(Letovanje l, Zimovanje z, Spa s, Ekskurzija e)
        {
            InitializeComponent();
            letovanje  = l;
            zimovanje  = z;
            spa        = s;
            ekskurzija = e;
            labels     = new Label[30];
            chbs       = new CheckBox[30];

            Init();
        }
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            string lokacija         = comboBox2.SelectedItem.ToString();
            var    connectionString = "mongodb://localhost/?safe=true";
            var    server           = MongoServer.Create(connectionString);
            var    database         = server.GetDatabase("agencija");

            var collectionPutovanje = database.GetCollection <Putovanje>("putovanja");

            var query1 = from letovanje in collectionPutovanje.AsQueryable <Letovanje>()
                         where letovanje.Lokacija == lokacija
                         where letovanje.TipPutovanja == "Letovanje"
                         select new Letovanje {
                Cena = letovanje.Cena, DatumDo = letovanje.DatumDo, DatumOd = letovanje.DatumOd, Komentari = letovanje.Komentari, Id = letovanje.Id, Lokacija = letovanje.Lokacija, TipLetovanja = letovanje.TipLetovanja, Opis = letovanje.Opis, Sezona = letovanje.Sezona, Slika = letovanje.Slika, TipPutovanja = letovanje.TipPutovanja
            };

            if (query1.FirstOrDefault() != null && query1.First().GetType().Equals(typeof(Letovanje)))
            {
                tipPutovanja = "Letovanje";
                letovanje    = query1.FirstOrDefault();
                zimovanje    = null; spa = null; ekskurzija = null;
            }
            else
            {
                var query2 = from z in collectionPutovanje.AsQueryable <Zimovanje>()
                             where z.Lokacija == lokacija
                             where z.TipPutovanja == "Zimovanje"
                             select new Zimovanje {
                    Cena = z.Cena, DatumDo = z.DatumDo, DatumOd = z.DatumOd, Komentari = z.Komentari, Id = z.Id, Lokacija = z.Lokacija, Opis = z.Opis, Slika = z.Slika, TipPutovanja = z.TipPutovanja, SkiPass = z.SkiPass, SkolaSkijanja = z.SkolaSkijanja
                };
                if (query2.FirstOrDefault() != null && query2.First().GetType().Equals(typeof(Zimovanje)))
                {
                    tipPutovanja = "Zimovanje"; zimovanje = query2.FirstOrDefault();
                    letovanje    = null;
                    spa          = null;
                    ekskurzija   = null;
                }
                else
                {
                    var query3 = from putovanje in collectionPutovanje.AsQueryable <Spa>()
                                 where putovanje.Lokacija == lokacija
                                 where putovanje.TipPutovanja == "Spa"
                                 select new Spa {
                        Cena = putovanje.Cena, DatumDo = putovanje.DatumDo, DatumOd = putovanje.DatumOd, Komentari = putovanje.Komentari, Id = putovanje.Id, Lokacija = putovanje.Lokacija, Opis = putovanje.Opis, Slika = putovanje.Slika, TipPutovanja = putovanje.TipPutovanja, DoplataMasaza = putovanje.DoplataMasaza, ParnoKupatilo = putovanje.ParnoKupatilo, Sauna = putovanje.Sauna
                    };
                    if (query3.FirstOrDefault() != null && query3.First().GetType().Equals(typeof(Spa)))
                    {
                        tipPutovanja = "Spa";
                        spa          = query3.FirstOrDefault();
                        letovanje    = null;
                        zimovanje    = null;
                        ekskurzija   = null;
                    }
                    else
                    {
                        var query4 = from z in collectionPutovanje.AsQueryable <Ekskurzija>()
                                     where z.Lokacija == lokacija
                                     where z.TipPutovanja == "Ekskurzija"
                                     select new Ekskurzija {
                            Cena = z.Cena, DatumDo = z.DatumDo, DatumOd = z.DatumOd, Komentari = z.Komentari, Id = z.Id, Lokacija = z.Lokacija, Opis = z.Opis, Slika = z.Slika, TipPutovanja = z.TipPutovanja, TipEkskurzije = z.TipEkskurzije
                        };
                        if (query4.FirstOrDefault() != null && query4.First().GetType().Equals(typeof(Ekskurzija)))
                        {
                            tipPutovanja = "Ekskurzija";
                            ekskurzija   = query4.FirstOrDefault();
                            zimovanje    = null;
                            letovanje    = null;
                            spa          = null;
                        }
                    }
                }
            }

            if (tipPutovanja.Equals("Letovanje"))
            {
                cbSezonaSkiSkolaSauna.Text    = "Sezona";
                cbSezonaSkiSkolaSauna.Checked = letovanje.Sezona;
                cbSezonaSkiSkolaSauna.Visible = true;

                comboEnum.Items.Clear();
                comboEnum.Items.Add("letoZaMlade");
                comboEnum.Items.Add("porodicnoLetovanje");
                comboEnum.Items.Add("egzoticnaDestinacija");
                if (letovanje.TipLetovanja == TipLetovanja.letoZaMlade)
                {
                    comboEnum.SelectedItem = comboEnum.Items[0];
                }
                else if (letovanje.TipLetovanja == TipLetovanja.porodicnoLetovanje)
                {
                    comboEnum.SelectedItem = comboEnum.Items[1];
                }
                else
                {
                    comboEnum.SelectedItem = comboEnum.Items[2];
                }

                //vrati za ostale
                cbParnoKupatilo.Visible  = false;
                lblNamena.Visible        = false;
                tbSkiPassMassage.Visible = false;

                if (letovanje.Slika == null)
                {
                    return;
                }

                byte[]       buffer    = letovanje.Slika.ToArray();
                MemoryStream memStream = new MemoryStream();
                memStream.Write(buffer, 0, buffer.Length);
                pbSlika.SizeMode = PictureBoxSizeMode.StretchImage;
                pbSlika.Image    = Image.FromStream(memStream);

                tbOpis.Text = letovanje.Opis;
                tbLok.Text  = letovanje.Lokacija;
                tbCena.Text = letovanje.Cena.ToString();

                dateTimePicker1.Text = letovanje.DatumOd;
                dateTimePicker2.Text = letovanje.DatumDo;
            }
            else if (tipPutovanja.Equals("Zimovanje"))
            {
                cbSezonaSkiSkolaSauna.Checked = zimovanje.SkolaSkijanja;
                cbSezonaSkiSkolaSauna.Text    = "Ski skola ukljucena";
                cbSezonaSkiSkolaSauna.Visible = true;

                tbSkiPassMassage.Text    = zimovanje.SkiPass.ToString();
                lblNamena.Text           = "SkiPass doplata";
                lblNamena.Visible        = true;
                tbSkiPassMassage.Visible = true;


                if (zimovanje.Slika == null)
                {
                    return;
                }

                byte[]       buffer    = zimovanje.Slika.ToArray();
                MemoryStream memStream = new MemoryStream();
                memStream.Write(buffer, 0, buffer.Length);
                pbSlika.SizeMode = PictureBoxSizeMode.StretchImage;
                pbSlika.Image    = Image.FromStream(memStream);

                tbOpis.Text = zimovanje.Opis;
                tbLok.Text  = zimovanje.Lokacija;
                tbCena.Text = zimovanje.Cena.ToString();

                dateTimePicker1.Text = zimovanje.DatumOd;
                dateTimePicker2.Text = zimovanje.DatumDo;
            }
            else if (tipPutovanja.Equals("Ekskurzija"))
            {
                comboEnum.Items.Clear();
                comboEnum.Items.Add("apsolventska");
                comboEnum.Items.Add("springBreak");
                comboEnum.Items.Add("skolska");


                if (ekskurzija.TipEkskurzije == TipEkskurzije.apsolventska)
                {
                    comboEnum.SelectedItem = comboEnum.Items[0];
                }
                else if (ekskurzija.TipEkskurzije == TipEkskurzije.springBreak)
                {
                    comboEnum.SelectedItem = comboEnum.Items[1];
                }
                else
                {
                    comboEnum.SelectedItem = comboEnum.Items[2];
                }
                cbParnoKupatilo.Visible       = false;
                cbSezonaSkiSkolaSauna.Visible = false;
                lblNamena.Visible             = false;
                tbSkiPassMassage.Visible      = false;
                comboEnum.Visible             = true;

                if (ekskurzija.Slika == null)
                {
                    return;
                }

                byte[]       buffer    = ekskurzija.Slika.ToArray();
                MemoryStream memStream = new MemoryStream();
                memStream.Write(buffer, 0, buffer.Length);
                pbSlika.SizeMode = PictureBoxSizeMode.StretchImage;
                pbSlika.Image    = Image.FromStream(memStream);

                tbOpis.Text = ekskurzija.Opis;
                tbLok.Text  = ekskurzija.Lokacija;
                tbCena.Text = ekskurzija.Cena.ToString();

                dateTimePicker1.Text = ekskurzija.DatumOd;
                dateTimePicker2.Text = ekskurzija.DatumDo;
            }
            else
            {
                cbParnoKupatilo.Checked       = spa.ParnoKupatilo;
                cbParnoKupatilo.Text          = "Parno kupatilo";
                cbParnoKupatilo.Visible       = true;
                cbSezonaSkiSkolaSauna.Checked = spa.Sauna;
                cbSezonaSkiSkolaSauna.Text    = "Sauna";
                cbSezonaSkiSkolaSauna.Visible = true;
                tbSkiPassMassage.Text         = spa.DoplataMasaza.ToString();
                tbSkiPassMassage.Visible      = true;
                lblNamena.Text    = "Doplata za masazu";
                comboEnum.Visible = false;

                if (spa.Slika == null)
                {
                    return;
                }

                byte[]       buffer    = spa.Slika.ToArray();
                MemoryStream memStream = new MemoryStream();
                memStream.Write(buffer, 0, buffer.Length);
                pbSlika.SizeMode = PictureBoxSizeMode.StretchImage;
                pbSlika.Image    = Image.FromStream(memStream);

                tbOpis.Text = spa.Opis;
                tbLok.Text  = spa.Lokacija;
                tbCena.Text = spa.Cena.ToString();

                dateTimePicker1.Text = spa.DatumOd;
                dateTimePicker2.Text = spa.DatumDo;
            }
        }