Пример #1
0
        private void KreirajMeni()
        {
            Dictionary <string, Meni>      Menus = new Dictionary <string, Meni>();
            Dictionary <StavkaKey, Stavka> Items = new Dictionary <StavkaKey, Stavka>();

            string        sql = @"SELECT * FROM MENI WHERE RESTORAN_ID = :RES_ID";
            OracleCommand cmd = new OracleCommand(sql, Conn);

            OracleParameter prm = new OracleParameter("RES_ID", OracleDbType.Int64);

            prm.Value = Restoran.RestoranID;
            cmd.Parameters.Add(prm);

            cmd.CommandType = CommandType.Text;
            OracleDataReader dr = cmd.ExecuteReader();
            Meni             meni;

            while (dr.Read())
            {
                meni = new Meni(dr.GetString(1));
                Object obj = dr.GetValue(3);
                if (obj == null)
                {
                    meni.ImeGlavno = null;
                }
                else
                {
                    meni.ImeGlavno = obj as String;
                }
                String IsValid = (string)dr.GetValue(2);
                if (IsValid == "1")
                {
                    meni.ValidnostMeni = true;
                }
                else
                {
                    meni.ValidnostMeni = false;
                }
                Menus.Add(meni.Ime, meni);
            }
            sql = @"SELECT * FROM STAVKA WHERE VALIDNOST_STAVKA LIKE '1' AND RESTORAN_ID = :RES_ID";
            cmd = new OracleCommand(sql, Conn);

            prm       = new OracleParameter("RES_ID", OracleDbType.Int64);
            prm.Value = Restoran.RestoranID;
            cmd.Parameters.Add(prm);

            cmd.CommandType = CommandType.Text;
            dr = cmd.ExecuteReader();

            Dodatok dodatok;
            Stavka  stavka;

            while (dr.Read())
            {
                String IsDecorator = (string)dr.GetValue(5);
                Object ImeGlavno   = dr.GetValue(1);
                Object OpisStavka  = dr.GetValue(3);
                if (IsDecorator == "1")
                {
                    dodatok = new Dodatok((int)dr.GetValue(2), dr.GetString(7), (decimal)dr.GetValue(4));
                    if (ImeGlavno == null)
                    {
                        dodatok.ImeGlavno = null;
                    }
                    else
                    {
                        dodatok.ImeGlavno = ImeGlavno as String;
                    }
                    if (OpisStavka == null)
                    {
                        dodatok.Opis = null;
                    }
                    else
                    {
                        dodatok.Opis = OpisStavka as String;
                    }
                    Items.Add(dodatok.GetStavkaKey(), dodatok);
                }
                else
                {
                    stavka = new Stavka((int)dr.GetValue(2), dr.GetString(7), (decimal)dr.GetValue(4));
                    if (ImeGlavno == null)
                    {
                        stavka.ImeGlavno = null;
                    }
                    else
                    {
                        stavka.ImeGlavno = ImeGlavno as String;
                    }
                    if (OpisStavka == null)
                    {
                        stavka.Opis = null;
                    }
                    else
                    {
                        stavka.Opis = OpisStavka as String;
                    }
                    Items.Add(stavka.GetStavkaKey(), stavka);
                }
            }

            foreach (var obj in Menus)
            {
                Meni menu;
                if (obj.Value.ImeGlavno != null && Menus.TryGetValue(obj.Value.ImeGlavno, out menu))
                {
                    menu.AddComp(obj.Value);
                    obj.Value.Parent = menu;
                }
                else
                {
                    Restoran.GlavnoMeni = obj.Value;
                }
            }

            foreach (var obj in Items)
            {
                Meni menu;
                if (Menus.TryGetValue(obj.Value.ImeGlavno, out menu))
                {
                    menu.AddComp(obj.Value);
                    obj.Value.Parent = menu;
                }
            }
            //lblOsnovnoMeni.UpdateObject(Restoran.GlavnoMeni);
            LoadingSemaphore.WaitOne();
            SetObject(lblOsnovnoMeni, Restoran.GlavnoMeni);
            MenuComponent mm = Restoran.GetSameComponent(CurrMenu);

            if (mm == null)
            {
                CurrMenu          = Restoran.GlavnoMeni;
                SelectedComponent = null;
            }
            else
            {
                CurrMenu = mm;
            }
            SelectedComponent = Restoran.GetSameComponent(SelectedComponent);

            PostaviPateka();
            PopolniListaMenija();
        }