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();
        }
Example #5
0
 public Localizador()
 {
     InitializeComponent();
     patricia = new Patricia<ArrayList>();
     Visible = false;
 }
Example #6
0
        public void Limpar()
        {
            patricia = new Patricia<ArrayList>();

            if (listaBusca != null)
                listaBusca.Clear();
            
            listaBuscaPosição = 0;
            últimoEncontrado = null;
        }