예제 #1
0
        private static void TesteDao <T, TIPO_ID>(BaseDao <T, TIPO_ID> dao)
            where T : class, IEntidade <TIPO_ID>
        {
            var obj  = (T)Activator.CreateInstance(typeof(T));
            var prop = obj
                       .GetType()
                       .GetProperties()
                       .FirstOrDefault(w => w.Name == "Nome" || w.Name == "Titulo");

            if (prop != null)
            {
                prop.SetValue(obj, $"Teste {obj.GetType().Name}");
            }

            Console.WriteLine();
            Console.WriteLine(new string('-', 40));
            Console.WriteLine(obj.ToString());
            dao.Incluir(obj);
            Console.WriteLine($"Após inclusao\n{obj} - {dao.Navegar().Count} Itens");

            if (prop != null)
            {
                prop.SetValue(obj, $"Teste {obj.GetType().Name} alterado");
            }
            dao.Alterar(obj);
            Console.WriteLine($"Após alteracao\n{obj} - {dao.Navegar().Count} Itens");

            dao.Deletar(obj.Id);
            Console.WriteLine($"Após delecao\n{obj} - {dao.Navegar().Count} Itens");
        }