Leve esse sorriso pra sempre Leve o amor Leve a vida leve Mas se puder me leve, para onde voce for Anonimo E muito comum achar validacao de dados para envio ao banco de dados da seguinte forma:O problema de validar desta forma e que o DateTime.MinValue retorna 00:00:00.0000000, January 1, 0001 enquanto a data minima aceita pelo SQL Server e 1/1/1753.Para que a validacao seja valida para o envio a um banco de dados SQL Server voce pode fazer como abaixo: Pra quem ainda nao conhece o Bootstrap, ele e um dos mais famosos frameworks de interface web.Amplamente difundido entre designers e programadores, sua utilizacao tem sido cada vez mais utilizadas principalmente devido a recursos bem interessantes como recurso de layout reponsive.Um dos sites mais famosos de vendas de layout, o ThemeForest tem em varios de seus produtos o Bootstrap como base. Mas pra quem nao esta afim de gastar em torno U$30,00 (em media) para ter um layout pronto com o Bootstrap, voce pode baixar layouts free (bem mais simples) no Start Bootstrap ele tem alguns templates prontos como:Shop Homepage: http://startbootstrap.com/shop-homepage;Admin: http://startbootstrap.com/sb-admin;Blog: http://startbootstrap.com/blog-home;E varios outros para Business: http://startbootstrap.com/home-page-templates Eu tenho utilizado muito o ASP.Net MVC e sem duvida e uma grande tecnologia, mas resolvi colocar nesse post alguns problemas que eu passei e como resolvi. Com o ASP.Net Web Forms, por padrao, temos um code behind (*.aspx.cs) por pagina (*.aspx) isso significa que temos tem uma classe, que podemos de certa forma caracterizar como uma controller, responsavel por uma View. Ja no ASP.Net MVC podemos ter um Controller responsavel por varias views. Ex.: ProdutoController responsavel pelas view Pesquisar, Detalhe, Edicao. Nesta mesma controller podemos potencializar a sua aplicacao deixando-a responsavel por responder chamadas de json.Bom com isso acabamos tendo muito codigo nas nossas controllers (consultas, escritas, conversoes de tipos etc). E isso nao e culpa da tecnologia e apenas uma questao de como organizar as ideias e responsabilidades.Com essa quantidade de codigo nas Controller fica dificil de dar manutencao, mesmo refatorando em metodos voce acaba vendo um codigo muito extenso na sua controller o que de cara parece ser um mal sinal (ou um mal cheiro). Nao precisamos "reinventar a roda" para resolver esses problemas, grandes mentes ja tem varias sugestoes sobre isso e quero apenas apresentar algumas delas que eu estou utilizando e tem me agradado.CQRS (Command Query Responsibility Segregation) e um padrao que tenho utilizado para organizar esse tipo de coisa, nao vou entrar em detalhes sobre o padrao, isso vai ficar para outro post, vou focar apenas em como estou aplicando nos meus projetos.ConsultasO primeiro problema que eu resolvi foi referente a consultas. Se voce utiliza um OR/M como o Entity Framework ou NHibernate com o ASP.Net MVC voce pode acabar tendo muito codigo de consulta dentro da sua controller.OBS.: Eu nao costumo encapsular os frameworks de OR/M com DAOs ou Repositories. Se estiver interessando no motivo leia o artigo abstracao da abstracao. So pra reforcar que isso tambem nao e coisa da minha cabeca, Ayende Rahien e um grande defensor da ideia de que abstrair OR/M