public EquipeServicoDeAplicacao(IEquipeRepositorio equipeRepositorio, IProgramaRepositorio programaRepositorio, IFuncionarioRepositorio funcionarioRepositorio, IUnitOfWork unitOfWork)
 {
     _equipeRepositorio      = equipeRepositorio;
     _funcionarioRepositorio = funcionarioRepositorio;
     _programaRepositorio    = programaRepositorio;
     _equipeServico          = new EquipeServico();
     _unitOfWork             = unitOfWork;
 }
        public long Adicionar(EquipeApp instancia)
        {
            var modelDominio = Mapper.Map <Equipe>(instancia);

            var result = EquipeServico.Adicionar(modelDominio);

            return(result);
        }
        public async Task <long> AdicionarAsync(EquipeApp instancia)
        {
            var instanciaDominio = Mapper.Map <Equipe>(instancia);

            var resultado = await EquipeServico.AdicionarAsync(instanciaDominio);

            return(resultado);
        }
        public async Task <bool> AlterarAsync(EquipeApp instancia)
        {
            var instanciaDominio = Mapper.Map <Equipe>(instancia);

            var resultado = await EquipeServico.AlterarAsync(instanciaDominio);

            return(resultado);
        }
        public async Task <EquipeApp> PegarAsync(long id)
        {
            var resultadoDominio = await EquipeServico.PegarAsync(id);

            var resultado = Mapper.Map <EquipeApp>(resultadoDominio);

            return(resultado);
        }
        public PaginadoOrdenado <EquipeApp> Listar(PaginadoOrdenado <EquipeApp> consulta)
        {
            var consultaDominio = new PaginadoOrdenado <Equipe>()
            {
                ItensPorPagina = consulta.ItensPorPagina,
                PaginaAtual    = consulta.PaginaAtual,
                OrdemDirecao   = consulta.OrdemDirecao,
            };

            switch (consulta.OrdemNome)
            {
            case "Nome":
                consultaDominio.OrdemNome = "EquipeNome";
                break;

            case "Id":
                consultaDominio.OrdemNome = "EquipeId";
                break;
            }

            var resultadoDominio = EquipeServico.Listar(consultaDominio);

            var resultado = new PaginadoOrdenado <EquipeApp>()
            {
                ItensPorPagina    = resultadoDominio.ItensPorPagina,
                ContagemDePaginas = resultadoDominio.ContagemDePaginas,
                ContagemDeLinhas  = resultadoDominio.ContagemDeLinhas,
                PaginaAtual       = resultadoDominio.PaginaAtual,
                Itens             = Mapper.Map <List <EquipeApp> >(resultadoDominio.Itens),
                OrdemDirecao      = resultadoDominio.OrdemDirecao
            };

            switch (resultadoDominio.OrdemNome)
            {
            case "EquipeNome":
                resultado.OrdemNome = "Nome";
                break;

            case "EquipeId":
                resultado.OrdemNome = "Id";
                break;
            }

            return(resultado);
        }