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
sql
out 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