1
I have the code below and is giving the following error:
The name 'sql' does not exist in the Current context The name 'parameters' does not exist in the Current context
Can someone please help me? Thank you in advance...
public DataSet PesquisarProtocolos(string usuarioAutenticado, long? codigoProcotolo, int? codigoMenu, string campoPesquisaDinamica, string valorPesquisaDinamica, string periodo, int? mes, int? ano, int? codigoStatus, int? codigoMotivo, int? codigoTipoRemuneracao, int? codigoGrupoContestacao, int? codigoTipoContestacao, int? codigoMotivoContestacao, bool carregarDivergentes, int? perfil = null, string parceirosGestaoCarteira = "", int codigoCargo = 0)
        {
            if ((codigoCargo == 9) || (codigoCargo == 1029) || (codigoCargo == 1030))
            { 
                //vou colocar depois o código
            }
            else if ((codigoCargo == 8) || (codigoCargo == 11)) 
            {
                //vou colocar depois o código
            }
            else
            {
                 string sql = string.Format(@"
                SELECT DISTINCT     
                       C.[COD_PROTOCOLO_CONTESTACAO]
                      ,C.[COD_PROTOCOLO_CONTESTACAO_RELACIONADO]
                      ,C.[QTD_LINHAS_PROCESSADAS]
                      ,C.[QTD_LINHAS_DIVERGENTES]
                      ,(SELECT TOP 1 LOGIN FROM ADM_USUARIO U WHERE U.cod_usuario = C.COD_USUARIO_RESPONSAVEL) [COD_USUARIO_RESPONSAVEL]
                      ,C.[DSC_PERIODO_PAGAMENTO]
                      ,C.[NUM_ANO_PAGAMENTO]
                      ,C.[NUM_MES_PAGAMENTO]
                      ,C.[COD_ESPELHO_ASSOCIACAO]
                     ,C.[COD_TIPO_REMUNERACAO]
                      ,C.[NUM_MES_REFERENCIA]
                      ,C.[NUM_ANO_REFERENCIA]
                      ,C.[COD_PARCEIRO_REFERENCIA]
                      ,C.[DT_CRIACAO]
                      ,C.[DSC_ARQUIVO]
                      ,C.[DT_ATUALIZACAO]
                      ,TR.DESC_TIPO_REMUNERACAO  
                      ,SP.desc_status_processo
                      ,AM.desc_motivo
                      ,DATEDIFF(DAY, HP.DT_HISTORICO, GETDATE()) AS SLA
                      ,P.cnpj_parceiro
                      ,P.nom_razao_social
                      ,E.NUM_MES_COMISSAO
                      ,E.NUM_ANO_COMISSAO
                    ,case when  c.cod_tipo_remuneracao=4 then 'Mensal' else T.desc_tipo_quinzena end AS PERIODO
            FROM [CON_PROTOCOLO_CONTESTACAO] C
            LEFT JOIN REM_ESPELHO E ON E.COD_ESPELHO = CAST(C.COD_ESPELHO_ASSOCIACAO AS BIGINT)
            LEFT JOIN GAC_TIPO_QUINZENA T ON T.cod_tipo_quinzena = E.cod_periodo_Comissao
            INNER JOIN ADM_TIPO_REMUNERACAO TR ON TR.cod_tipo_remuneracao = C.cod_tipo_remuneracao
            INNER JOIN CON_CONTESTACAO_HISTORICO_PROCESSO HP ON HP.COD_PROTOCOLO_CONTESTACAO = C.COD_PROTOCOLO_CONTESTACAO  AND DT_MUDANCA_FILA is null 
            INNER JOIN ADM_STATUS_PROCESSO SP ON SP.cod_status_processo = HP.cod_status_processo
            INNER JOIN ADM_MOTIVO AM ON AM.cod_motivo = HP.COD_MOTIVO
            LEFT JOIN GDC_PARCEIRO P ON P.cod_parceiro = C.COD_PARCEIRO_REFERENCIA
            LEFT JOIN GDC_SEGMENTO SG ON SG.cod_segmento = P.cod_segmento
            LEFT JOIN GDC_CANAL canal ON canal.cod_canal = SG.cod_canal
            LEFT JOIN GDC_CANAL_PERFIL perfil ON perfil.cod_canal_perfil = canal.cod_canal_perfil
        WHERE   
            (C.COD_PROTOCOLO_CONTESTACAO = @COD_PROTOCOLO_CONTESTACAO OR @COD_PROTOCOLO_CONTESTACAO IS NULL)
            AND (perfil.cod_canal_perfil = @PERFIL OR @PERFIL IS NULL)
            AND (
                @LOGIN IS NULL
                OR (COD_USUARIO_RESPONSAVEL IS NULL OR COD_USUARIO_RESPONSAVEL = '')
                OR (COD_USUARIO_RESPONSAVEL IS NOT NULL AND COD_USUARIO_RESPONSAVEL = (SELECT cod_usuario FROM ADM_USUARIO WHERE Login = @LOGIN))
                OR (SELECT COUNT(*) FROM ADM_USUARIO where sit_libera_pedido = 1 AND Login = @LOGIN) = 1)
            AND (@COD_MENU IS NULL OR C.COD_PROTOCOLO_CONTESTACAO IN (
                    SELECT COD_PROTOCOLO_CONTESTACAO FROM CON_CONTESTACAO_HISTORICO_PROCESSO 
                    WHERE COD_MENU = @COD_MENU AND DT_MUDANCA_FILA IS NULL 
                    AND (DATEPART(MONTH,DT_HISTORICO) = @MES OR @MES IS NULL) AND (DATEPART(YEAR,DT_HISTORICO) = @ANO OR @ANO IS NULL) 
                ))
            {0}
            AND (@PERIODO IS NULL  OR @PERIODO = DSC_PERIODO_PAGAMENTO)
            AND (C.COD_TIPO_REMUNERACAO = @COD_TIPO_REMUNERACAO OR @COD_TIPO_REMUNERACAO IS NULL)
            AND (@COD_GRUPO_CONTESTACAO IS NULL OR C.COD_PROTOCOLO_CONTESTACAO IN (SELECT COD_PROTOCOLO_CONTESTACAO FROM CON_CONTESTACAO_ESPELHO_ITEM WHERE COD_GRUPO_CONTESTACAO = @COD_GRUPO_CONTESTACAO))
            AND (@COD_TIPO_CONTESTACAO IS NULL OR C.COD_PROTOCOLO_CONTESTACAO IN (SELECT COD_PROTOCOLO_CONTESTACAO FROM CON_CONTESTACAO_ESPELHO_ITEM WHERE COD_TIPO_CONTESTACAO = @COD_TIPO_CONTESTACAO))
            AND (@COD_MOTIVO_CONTESTACAO IS NULL OR C.COD_PROTOCOLO_CONTESTACAO IN (SELECT COD_PROTOCOLO_CONTESTACAO FROM CON_CONTESTACAO_ESPELHO_ITEM WHERE COD_MOTIVO_CONTESTACAO = @COD_MOTIVO_CONTESTACAO))
            AND (@COD_STATUS IS NULL OR C.COD_PROTOCOLO_CONTESTACAO IN (SELECT COD_PROTOCOLO_CONTESTACAO FROM CON_CONTESTACAO_HISTORICO_PROCESSO WHERE COD_STATUS_PROCESSO = @COD_STATUS AND DT_MUDANCA_FILA IS NULL))
            AND (@COD_MOTIVO IS NULL OR C.COD_PROTOCOLO_CONTESTACAO IN (SELECT COD_PROTOCOLO_CONTESTACAO FROM CON_CONTESTACAO_HISTORICO_PROCESSO WHERE COD_MOTIVO = @COD_MOTIVO AND DT_MUDANCA_FILA IS NULL))
            AND (@CARREGAR_DIVERGENTES = 1 OR (@CARREGAR_DIVERGENTES = 0 AND C.COD_PROTOCOLO_CONTESTACAO IN (select cod_protocolo_contestacao from CON_CONTESTACAO_ESPELHO_ITEM where sit_divergente = 0)))
             ", string.IsNullOrEmpty(parceirosGestaoCarteira) ? "" : string.Format("AND P.cod_parceiro IN ({0})", parceirosGestaoCarteira)); ;
            Dictionary<string, object> parametros = new Dictionary<string, object>();
            if (!string.IsNullOrEmpty(valorPesquisaDinamica) && !string.IsNullOrEmpty(campoPesquisaDinamica))
            {
                sql += string.Format("AND (CAST({0} AS VARCHAR(MAX)) LIKE '%' + @VALOR_PESQUISA_DINAMICA + '%')", campoPesquisaDinamica, valorPesquisaDinamica);
                parametros.Add("@VALOR_PESQUISA_DINAMICA", valorPesquisaDinamica);
            }
            sql += "  ORDER BY SLA DESC ";
            parametros.Add("@LOGIN", usuarioAutenticado ?? (object)DBNull.Value);
            parametros.Add("@PERFIL", perfil ?? (object)DBNull.Value);
            parametros.Add("@COD_PROTOCOLO_CONTESTACAO", codigoProcotolo ?? (object)DBNull.Value);
            parametros.Add("@CARREGAR_DIVERGENTES", carregarDivergentes ? 1 : 0);
            parametros.Add("@COD_MENU", codigoMenu ?? (object)DBNull.Value);
            parametros.Add("@PERIODO", periodo ?? (object)DBNull.Value);
            parametros.Add("@MES", mes ?? (object)DBNull.Value);
            parametros.Add("@ANO", ano ?? (object)DBNull.Value);
            parametros.Add("@COD_STATUS", codigoStatus ?? (object)DBNull.Value);
            parametros.Add("@COD_MOTIVO", codigoMotivo ?? (object)DBNull.Value);
            parametros.Add("@COD_TIPO_REMUNERACAO", codigoTipoRemuneracao ?? (object)DBNull.Value);
            parametros.Add("@COD_GRUPO_CONTESTACAO", codigoGrupoContestacao ?? (object)DBNull.Value);
            parametros.Add("@COD_TIPO_CONTESTACAO", codigoTipoContestacao ?? (object)DBNull.Value);
            parametros.Add("@COD_MOTIVO_CONTESTACAO", codigoMotivoContestacao ?? (object)DBNull.Value);
        }
        using (TFPlusDO db = GetConnection<TFPlusDO>())
        {
            return db.Query(sql, parametros);
        }
    }
@GWER Sorry, we both edited at the same time and the system for some reason gave preference to my edition. If you have any other issues to suggest, feel free.
– Victor Stafusa
sql is outside the scope of using. I should have declared the
sqlout of Him, the same with theparametros.– ptkato
@Victorstafusa Thanks for the comment, but my edition was basically the same as yours! Anyway I appreciate the concern, and your issue is great like this. ;)
– GWER
@Patrick writes an answer on this.
– Marciano.Andrade