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(); }