Esempio n. 1
0
        public static EscolaDTO Map(Escola escola)
        {
            if (escola is null)
            {
                return(null);
            }

            var contato = new ContatoDTO(escola.Contato.Telefone, escola.Contato.Email, escola.Contato.Site);

            var tipoLocalizacao = new TipoLocalizacaoDTO(escola.Endereco.TipoLocalizacaoId,
                                                         Enumeration.FromValue <TipoLocalizacao>(escola.Endereco.TipoLocalizacaoId).Descricao);

            var endereco = new EnderecoDTO(escola.Endereco.Logradouro,
                                           escola.Endereco.Numero,
                                           escola.Endereco.Complemento,
                                           escola.Endereco.Bairro,
                                           escola.Endereco.Cep,
                                           tipoLocalizacao);

            var turmas = escola.Turmas?.Select(t =>
            {
                var tipoTurno = new TipoTurnoDTO(t.TipoTurnoId,
                                                 Enumeration.FromValue <TipoTurno>(t.TipoTurnoId).Descricao);

                return(new TurmaDTO(t.Id, t.Codigo, tipoTurno, t.QuantidadeAlunos));
            });

            return(new EscolaDTO(escola.Id,
                                 escola.Nome,
                                 escola.Codigo,
                                 contato,
                                 endereco,
                                 turmas));
        }
Esempio n. 2
0
 public EnderecoDTO(
     string logradouro,
     string numero,
     string complemento,
     string bairro,
     string cep,
     TipoLocalizacaoDTO tipoLocalizacao)
 {
     Logradouro      = logradouro;
     Numero          = numero;
     Complemento     = complemento;
     Bairro          = bairro;
     Cep             = cep;
     TipoLocalizacao = tipoLocalizacao;
 }
        public async Task <List <EscolaDTO> > Handle(ObterEscolasPaginadasQuery request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                throw new DomainException("Request inválido");
            }

            var escolas = await _escolaRepository.ObterEscolasPaginadas(request.Pagina,
                                                                        request.TamanhoPagina, true);

            if (escolas.IsNullOrEmpty())
            {
                return(new List <EscolaDTO>());
            }

            return(escolas.Select(e =>
            {
                var contato = new ContatoDTO(e.Contato.Telefone, e.Contato.Email, e.Contato.Site);

                var tipoLocalizacao = new TipoLocalizacaoDTO(e.Endereco.TipoLocalizacaoId,
                                                             Enumeration.FromValue <TipoLocalizacao>(e.Endereco.TipoLocalizacaoId).Descricao);

                var endereco = new EnderecoDTO(e.Endereco.Logradouro,
                                               e.Endereco.Numero,
                                               e.Endereco.Complemento,
                                               e.Endereco.Bairro,
                                               e.Endereco.Cep,
                                               tipoLocalizacao);

                return new EscolaDTO(e.Id,
                                     e.Nome,
                                     e.Codigo,
                                     contato,
                                     endereco,
                                     e.Turmas.Count());
            }).ToList());
        }