public static void Main(string[] args) { Patricia patricia = new Patricia(); Wrapper <int> number = (Wrapper <int>) 23; Wrapper <string> text = (Wrapper <string>) "text"; Wrapper <double> fraction = (Wrapper <double>) 0.5; Wrapper <bool> boolean = (Wrapper <bool>)false; patricia.add <int>("test", number); patricia.add <string>("test123", text); patricia.add <double>("test1", fraction); patricia.add <bool>("test124", boolean); Console.WriteLine(patricia.find("test")); Console.WriteLine(patricia.getNodeData <int>("test")); patricia.getNodeData <int>("test").value = 2; Console.WriteLine(number); number.value = 10; Console.WriteLine(patricia.getNodeData <int>("test")); Console.WriteLine(patricia.find("test123")); Console.WriteLine(patricia.find("test1")); Console.WriteLine(patricia.find("test124")); Console.WriteLine(patricia.find("test12")); Console.WriteLine("-"); Console.WriteLine("-"); Console.WriteLine("-"); MyEnum myEnum1 = Parser.parseEnum <MyEnum>("MyEnumValue1", MyEnum.NONE, true); MyEnum myEnum2 = Parser.parseEnum <MyEnum>("MYEnumValue1", MyEnum.NONE); MyEnum myEnum3 = Parser.parseEnum <MyEnum>("MyEnumValue2", MyEnum.NONE); Console.WriteLine("meow".ToString().ToString()); }
private static void AoAlterarMercadoria(DbManipulação entidade) { árvore = null; }
/// <summary> /// Carrega as mercadorias inserindo-as na árvore. /// </summary> private static void Carregar() { IDbConnection conexão = Conexão; if (Usuários.UsuárioAtual == null) return; Usuários.UsuárioAtual.GerenciadorConexões.RemoverConexão(conexão); try { lock (conexão) { using (IDbCommand cmd = conexão.CreateCommand()) { cmd.CommandText = "SELECT * FROM mercadoria "; List<MercadoriaCampos> lista = Mapear<MercadoriaCampos>(cmd); Patricia<MercadoriaCampos> árvore; #if DEBUG Console.WriteLine("Construindo árvore de mercadorias!"); #endif árvore = new Patricia<MercadoriaCampos>(); foreach (MercadoriaCampos m in lista) { if (!String.IsNullOrEmpty(m.ReferênciaNumérica)) árvore.Add(m.ReferênciaNumérica, m); m.Alterado += new DbManipulaçãoHandler(AoAlterarMercadoria); } // Carregar coeficientes. cmd.CommandText = "SELECT * FROM tabelamercadoria"; List<TabelaMercadoria> coeficientes = Mapear<TabelaMercadoria>(cmd); foreach (TabelaMercadoria item in coeficientes) { MercadoriaCampos m; System.Diagnostics.Debug.Assert(item.mercadoria != null, "A mercadoria não deveria ser nula"); // Mercadorias fora de linha não são consideradas. if (árvore.TryGetValue(item.mercadoria, out m)) { #if DEBUG System.Diagnostics.Debug.Assert(m.referencia == item.mercadoria); #endif if (m.coeficientes == null) m.coeficientes = new Coeficientes(); m.coeficientes.AdicionarCoeficiente(item.tabela, item.coeficiente); } } MercadoriaCampos.árvore = árvore; #if DEBUG Console.WriteLine("Árvore construída!"); #endif } } } catch (Exception e) { System.Diagnostics.Debug.Assert(false, e.Message); Usuários.UsuárioAtual.RegistrarErro(new Exception("Erro montando árvore de mercadorias.", e)); } finally { carregandoPatricia = false; #if DEBUG System.Diagnostics.Debug.Assert(((Acesso.Comum.Adaptadores.ConexãoConcorrente)conexão).Ocupado == 0); #endif Usuários.UsuárioAtual.GerenciadorConexões.AdicionarConexão(conexão); } }
/// <summary> /// Inicia carga em primeiro plano das mercadorias. /// </summary> public static void IniciarCarga() { if (carregandoPatricia) return; carregandoPatricia = true; árvore = null; Carregar(); }
public Localizador() { InitializeComponent(); patricia = new Patricia<ArrayList>(); Visible = false; }
public void Limpar() { patricia = new Patricia<ArrayList>(); if (listaBusca != null) listaBusca.Clear(); listaBuscaPosição = 0; últimoEncontrado = null; }