Skip to content

dn32/dn32.infraestrutura

Repository files navigation

dn32.infraestrutura

Essa infraestrutura foi desenvolvida durante o treinamento Formação Completa Desenvolvedor Web

É compatível com ASP.NET Core 1.1.2 ou superior

Licença

dn32.infraestrutura é licenciado por meio de Apache License.


  • 1° passo: Instalar o dn32.infraestrutura no meu projeto

Lembre-se dn32.infraestrutura é compatível com ASP.NET Core 1.1.2 ou superior

Baixe o pacote por meio do NuGet executando o seguinte comando:

PM> Install-Package dn32.infraestrutura
  • 2° passo: Implantar o dn32.infraestrutura no meu projeto

Adicione a inicialização da infraestrutura ao seu projeto por meio dos comandos abaixo em seu arquivo startup.cs

public void ConfigureServices(IServiceCollection services)
{

    services.AddMvc();

    var parametrosDeInicializacao = new ParametrosDeInicializacao
    {
        EnderecoDeBackupDoBancoDeDados = "c:/ravendb-backup",
        EnderecoDoBancoDeDados = "http://localhost:8080",
        NomeDoAssemblyDaValidacao = "MinhaAplicacao.Validacao",
        NomeDoAssemblyDoRepositorio = "MinhaAplicacao.Repositorio",
        NomeDoAssemblyDoServico = "MinhaAplicacao.Servico",
        NomeDoBancoDeDados = "banco-de-dados-de-minha-aplicacao",
        Services = services
    };

    Inicializar.Inicialize(parametrosDeInicializacao);
    
    .........
}
  • 3 passo: O Model

public class UnidadeDeTeste : ModelGenerico
{
    public string Descricao { get; set; }
    public int Numero { get; set; }
}
  • 4° passo: O Controller

public class UnidadeDeTesteController : ControladorGenerico<UnidadeDeTeste>
{
    public ActionResult Cadastro(UnidadeDeTeste unidadeDeTeste)
    {
        Servico.Cadastre(unidadeDeTeste);
        return View();
    }
}
  • 5° passo: O Serviço customizado

[ServicoDe(typeof(UnidadeDeTeste))]
public class ServicoDeUnidadeDeTeste : ServicoGenerico<UnidadeDeTeste>
{
    public int CadastreCustomizado(UnidadeDeTeste unidadeDeteste)
    {
        unidadeDeteste.Descricao += " - Servico";
        ((ValidacaoDeUnidadeDeTeste)Validacao).CadastreCustomizado(unidadeDeteste);
        return ((RepositorioDeUnidadeDeTeste)Repositorio).CadastreCustomizado(unidadeDeteste);
    }
}
  • 6° passo: O Validação customizada

[ValidacaoDe(typeof(UnidadeDeTeste))]
public class ValidacaoDeUnidadeDeTeste : ValidacaoGenerica<UnidadeDeTeste>
{
    public override void Cadastre(UnidadeDeTeste item)
    {
        if(item.Numero < 17 || item.Numero > 80)
        {
            throw new Exception(ConstantesDeTeste.O_NUMERO_DEVE_SEM_MAIOR_QUE_17_E_MENOR_QUE_80);
        }

        base.Cadastre(item);
    }

    public void CadastreCustomizado(UnidadeDeTeste unidadeDeteste)
    {

    }
}
  • 7° passo: O Repositório customizado

[RepositorioDe(typeof(UnidadeDeTeste))]
public class RepositorioDeUnidadeDeTeste : RepositorioGenerico<UnidadeDeTeste>
{
    public int CadastreCustomizado(UnidadeDeTeste unidadeDeteste)
    {
        unidadeDeteste.Descricao += "-Repositório";
       return Cadastre(unidadeDeteste);
    }
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages