コード例 #1
0
        private IEnumerable <Ocorrencia> GetOcorrenciasCompletas(long cdRota, string query)
        {
            using (var dapperConnection = AbreConexao())
            {
                dapperConnection.Open();

                // Multi-Mapping
                List <Ocorrencia> ocorrencias = dapperConnection.Query <Ocorrencia>(query,
                                                                                    new[]
                {
                    typeof(Ocorrencia),
                    typeof(Parada),
                    typeof(PontoInteresse),
                    typeof(CategoriaPontoInteresse)
                },
                                                                                    objects =>
                {
                    Ocorrencia Ocorrencia         = objects[0] as Ocorrencia;
                    Parada Parada                 = objects[1] as Parada;
                    PontoInteresse PontoInteresse = objects[2] as PontoInteresse;
                    CategoriaPontoInteresse CategoriaPontoInteresse = objects[3] as CategoriaPontoInteresse;

                    if (PontoInteresse != null)
                    {
                        PontoInteresse.CategoriaPontoInteresse = CategoriaPontoInteresse;
                    }

                    if (Parada != null)
                    {
                        Parada.PontoInteresse = PontoInteresse;
                    }

                    if (Ocorrencia != null)
                    {
                        Ocorrencia.Parada = Parada;
                    }

                    return(Ocorrencia);
                },
                                                                                    splitOn: "CdOcorrencia, CdParada, CdPontoInteresse, CdCategoriaPontoInteresse",
                                                                                    param: new { CdRota = cdRota }).AsList();

                return(ocorrencias);
            }
        }
コード例 #2
0
        public IEnumerable <Ocorrencia> GetOcorrencias(long cdRota, string descricaoCategoriaPontoInteresse)
        {
            using (var dapperConnection = AbreConexao())
            {
                dapperConnection.Open();

                // Multi-Mapping
                List <Ocorrencia> ocorrencias = dapperConnection.Query <Ocorrencia>(
                    @"SELECT CAT_PIM.*, PIN.*, PARADA.*, OCORRENCIA.* FROM TB_OCORRENCIA OCORRENCIA
                        LEFT JOIN TB_PARADA PARADA ON OCORRENCIA.CdParada = PARADA.CdParada
                        LEFT JOIN TB_PONTO_INTERESSE PIN ON PARADA.CdPontoInteresse = PIN.CdPontoInteresse
                        LEFT JOIN TB_CATEGORIA_PONTO_INTERESSE CAT_PIN ON PIN.CdCategoriaPontoInteresse = CAT_PIN.CdCategoriaPontoInteresse
                        WHERE OCORRENCIA.CdRota = @CdRota AND CAT_PIN.DsCategoriaPontoInteresse LIKE '%' + @DsCategoriaPontoInteresse  + '%';",
                    new[]
                {
                    typeof(Ocorrencia),
                    typeof(Parada),
                    typeof(PontoInteresse),
                    typeof(CategoriaPontoInteresse)
                },
                    objects =>
                {
                    Ocorrencia Ocorrencia         = objects[0] as Ocorrencia;
                    Parada Parada                 = objects[1] as Parada;
                    PontoInteresse PontoInteresse = objects[2] as PontoInteresse;
                    CategoriaPontoInteresse CategoriaPontoInteresse = objects[3] as CategoriaPontoInteresse;

                    PontoInteresse.CategoriaPontoInteresse = CategoriaPontoInteresse;
                    Parada.PontoInteresse = PontoInteresse;
                    Ocorrencia.Parada     = Parada;

                    return(Ocorrencia);
                },
                    splitOn: "CdParada, CdPontoInteresse, CdCategoriaPontoInteresse",
                    param: new { CdRota = cdRota, DsCategoriaPontoInteresse = descricaoCategoriaPontoInteresse }).AsList();

                return(ocorrencias);
            }
        }