示例#1
0
        public ConsultarObjetosResponse <ClienteLimiteInfo> ConsultarLimitesDoCliente(ConsultarObjetosRequest <ClienteLimiteInfo> pParametros)
        {
            ConsultarObjetosResponse <ClienteLimiteInfo> lRetorno = new ConsultarObjetosResponse <ClienteLimiteInfo>();

            RegrasDbLib _dbLib = new RegrasDbLib("RISCO_GRADUALOMS");
            Dictionary <string, object> paramsProc = new Dictionary <string, object>();

            lRetorno.Resultado = new List <ClienteLimiteInfo>();

            ///*
            // *
            // * CodBovespa  = 0,
            // * CpfCnpj     = 1,
            // * NomeCliente = 2
            // *
            // */

            try
            {
                paramsProc.Add("@id_parametro", pParametros.Objeto.ConsultaIdParametro);

                if (!string.IsNullOrEmpty(pParametros.Objeto.ConsultaClienteParametro))
                {
                    switch (pParametros.Objeto.ConsultaClienteTipo)
                    {
                    case 0:
                        if (0.Equals(pParametros.Objeto.ConsultaClienteParametro.DBToInt32()))
                        {
                            return(lRetorno);
                        }
                        paramsProc.Add("@cd_bovespa", pParametros.Objeto.ConsultaClienteParametro.DBToInt32());
                        break;

                    case 1:
                        paramsProc.Add("@ds_cpfcnpj", pParametros.Objeto.ConsultaClienteParametro.Trim().Replace(".", "").Replace("-", "").Replace("/", ""));
                        break;

                    case 2:
                        paramsProc.Add("@ds_nome", pParametros.Objeto.ConsultaClienteParametro.Trim());
                        break;
                    }
                }

                DataTable lDataTable = _dbLib.ExecutarProcedure("prc_relatorio_cliente_limite_sp", paramsProc).Tables[0];

                if (null != lDataTable && lDataTable.Rows.Count > 0)
                {
                    for (int i = 0; i < lDataTable.Rows.Count; i++)
                    {
                        lRetorno.Resultado.Add(this.CarregarEntidadeClienteLimiteInfo(lDataTable.Rows[i]));
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message, ex);
            }

            return(lRetorno);
        }