这有点奇怪,我有这段代码可以加载 GridView 的 DataSource 并绑定它:
gvwPesquisaCotacao.DataSource = Pesquisar(new Corretor()
{
IdPessoa = ddlCorretorPesquisa.SelectedValue.Split('|').GetValue(0).ToString(),
RazaoSocial = ddlCorretorPesquisa.SelectedValue.Split('|').GetValue(1).ToString(),
Departamento = new Departamento() { Descricao = ddlCorretorPesquisa.SelectedValue.Split('|').GetValue(2).ToString() },
IdCorretor = ddlCorretorPesquisa.SelectedValue.Split('|').GetValue(4).ToString(),
TpUsuario = Pessoa.TipoUsuario.CORRETOR,
});
gvwPesquisaCotacao.DataBind();
我在执行最后一行代码时抛出了这个异常。这是被调用以填充 DataSource 的方法的实现(以正确的顺序):
private List<Cotacao> Pesquisar(Corretor pCorretor)
{
try
{
return new CotacaoBO().Listar(new Cotacao()
{
Id = Convert.ToInt32(String.IsNullOrEmpty(txtNumeroCotacao.Text) ? "0" : txtNumeroCotacao.Text),
Proponente = new Proponente() { CNPJ = String.IsNullOrEmpty(txtCNPJ.Text) ? "0" : txtCNPJ.Text, RazaoSocial = txtRazaoSocial.Text, Fantasia = txtRazaoSocial.Text },
Status = new Status() { Id = ddlSituacao.SelectedIndex.Equals(0) ? "999" : ddlSituacao.SelectedItem.Value.ToString() },
Filial = pCorretor.Filial,
Corretor = pCorretor,
Produto = new Produto() { Id = Convert.ToInt32(ddlProdutoIdVersao.SelectedValue.Split(';').GetValue(0).ToString()) },
Proposta = new Proposta(Convert.ToDecimal(String.IsNullOrEmpty(txtNumPI.Text) ? "0" : txtNumPI.Text))
}).OrderByDescending(order => order.Id).ToList();
}
catch (Exception ex)
{
...
}
}
public List<Cotacao> Listar(Cotacao pCotacao)
{
try
{
List<Cotacao> lstCotacao = new List<Cotacao>();
new CotacaoDAO().Listar(pCotacao).ForEach(delegate(Cotacao resCotacao) {
resCotacao.Mercadoria.TaxaMercadoria = new MercadoriaBO().GetTaxaMercadoria(resCotacao).TaxaMercadoria;
resCotacao.ParametroSistema = new ParametroSistemaBO().Listar(resCotacao.Produto, resCotacao.Corretor).First();
resCotacao.Produto.Moeda.IOF = new MoedaBO().ListarIOF(new Moeda() { Id = resCotacao.ParametroSistema.cMoeApo }, resCotacao.ParametroSistema).IOF;
resCotacao.CoberturasAdicionais = new CoberturaBO().ListarCoberturasAdicionaisByCotacao(pCotacao, false);
resCotacao.TrechoComplementar = new TrechoComplementarBO().ListarPorCotacao(pCotacao.Id);
lstCotacao.Add(resCotacao);
});
return lstCotacao;
}
catch (Exception ex)
{
...
}
}
最后一个方法是巨大的,但它基本上执行一个 sql 命令,用它的返回填充阅读器并将返回列表安装到前一个应用程序层。
public List<Cotacao> Listar(Cotacao pCotacao)
{
try
{
var sql = new StringBuilder();
sql.Append(" SELECT DISTINCT NUMERO_COTACAO ");
sql.Append(" ,COD_PRODUTO ");
sql.Append(" ,VERSAO_PRODUTO ");
sql.Append(" ,DESCRICAO_PRODUTO ");
sql.Append(" ,DSC_PROD_DOC ");
sql.Append(" ,CNPJ_CLIENTE ");
sql.Append(" ,NOME_CLIENTE ");
sql.Append(" ,SIT_COTACAO ");
sql.Append(" ,SIT_DESCRICAO ");
sql.Append(" ,CORRETOR ");
sql.Append(" ,SUSEP_CORRETOR ");
sql.Append(" ,DESC_CORRETOR ");
sql.Append(" ,ID_FILIAL_CORRETOR ");
sql.Append(" ,DESC_FILIAL_CORRETOR ");
sql.Append(" ,COD_PRODUTOR ");
sql.Append(" ,DSC_PRODUTOR ");
sql.Append(" ,FILIAL ");
sql.Append(" ,VALIDADE_COTACAO ");
sql.Append(" ," + dbUtility.ValidaNulo() + "(U_CTR_SEG,0) as U_CTR_SEG ");
sql.Append(" ," + dbUtility.ValidaNulo() + "(U_PRP,0) AS U_PRP ");
sql.Append(" ," + dbUtility.ValidaNulo() + "(U_APO_PNC,0) AS U_APO_PNC ");
sql.Append(" ," + dbUtility.ValidaNulo() + "(C_EMS_SEG,0) AS C_EMS_SEG ");
sql.Append(" ,DATA_COTACAO");
sql.Append(" ,DATA_EMBARQUE");
sql.Append(" ,DATA_ALTERACAO");
sql.Append(" ,ORIGEM ");
sql.Append(" ,DESCRICAO_ORIGEM ");
sql.Append(" ,COMPLEMENTO_ORIGEM ");
sql.Append(" ,DESCRICAO_COMPLEMENTO_ORIGEM ");
sql.Append(" ,DESTINO ");
sql.Append(" ,DESCRICAO_DESTINO ");
sql.Append(" ,COMPLEMENTO_DESTINO ");
sql.Append(" ,DESCRICAO_COMPLEMENTO_DESTINO ");
sql.Append(" ,MEIO_TRANSPORTE ");
sql.Append(" ,TIPO_VEICULO ");
sql.Append(" ,VEICULO_TRANSPORTE ");
sql.Append(" ,ID_NAVIO ");
sql.Append(" ,GRUPO_MERCADORIA ");
sql.Append(" ,TIPO_MERCADORIA ");
sql.Append(" ,ID_MERCADORIA ");
sql.Append(" ,DESCRICAO_MERCADORIA ");
sql.Append(" ,COMPLEMENTO_MERCADORIA ");
sql.Append(" ,IS_CONTAINER ");
sql.Append(" ,ID_EMBALAGEM ");
sql.Append(" ,ID_COBERTURA_BASICA ");
sql.Append(" ,DESCRICAO_COBERTURA ");
sql.Append(" ,VLR_FOB ");
sql.Append(" ,VLR_FOB_CONVERT ");
sql.Append(" ,MOEDA_FOB ");
sql.Append(" ,CAMBIO_FOB ");
sql.Append(" ,VLR_PREMIO_FOB ");
sql.Append(" ,VLR_FRETE ");
sql.Append(" ,VLR_FRETE_CONVERT ");
sql.Append(" ,MOEDA_FRETE ");
sql.Append(" ,CAMBIO_FRETE ");
sql.Append(" ,VLR_PREMIO_FRETE ");
sql.Append(" ,VLR_DESPESAS ");
sql.Append(" ,VLR_DESPESAS_CONVERT ");
sql.Append(" ,MOEDA_DESPESAS ");
sql.Append(" ,CAMBIO_DESPESAS ");
sql.Append(" ,PERCENTUAL_DESPESAS ");
sql.Append(" ,VLR_PREMIO_DESPESAS ");
sql.Append(" ,VLR_LUCRO ");
sql.Append(" ,VLR_LUCRO_CONVERT ");
sql.Append(" ,MOEDA_LUCRO ");
sql.Append(" ,CAMBIO_LUCRO ");
sql.Append(" ,PERCENTUAL_LUCRO ");
sql.Append(" ,VLR_PREMIO_LUCRO ");
sql.Append(" ,VLR_IMPOSTOS ");
sql.Append(" ,VLR_IMPOSTOS_ORI ");
sql.Append(" ,CAMBIO_IMPOSTOS ");
sql.Append(" ,MOEDA_IMPOSTOS ");
sql.Append(" ,VLR_PREMIO_IMPOSTOS ");
sql.Append(" ,PERCENTUAL_LUC_DESP_IMP ");
sql.Append(" ,VLR_CONTAINER ");
sql.Append(" ,VLR_PREMIO_CONTAINER ");
sql.Append(" ,V_IS_TOTAL ");
sql.Append(" ,VLR_PREMIO_TOTAL ");
sql.Append(" ,VLR_PREMIO_LIQUIDO ");
sql.Append(" ,VLR_PREMIO_CALCULADO ");
sql.Append(" ,VLR_IMP_II_ORI ");
sql.Append(" ,VLR_IMP_II ");
sql.Append(" ,PERCENTUAL_IMP_II ");
sql.Append(" ,MOEDA_II ");
sql.Append(" ,CAMBIO_II ");
sql.Append(" ,VLR_IMP_IPI_ORI ");
sql.Append(" ,VLR_IMP_IPI ");
sql.Append(" ,PERCENTUAL_IMP_IPI ");
sql.Append(" ,MOEDA_IPI ");
sql.Append(" ,CAMBIO_IPI ");
sql.Append(" ,VLR_IMP_ICMS_ORI ");
sql.Append(" ,VLR_IMP_ICMS ");
sql.Append(" ,PERCENTUAL_IMP_ICMS ");
sql.Append(" ,MOEDA_ICMS ");
sql.Append(" ,CAMBIO_ICMS ");
sql.Append(" ,VLR_IMP_PIS_ORI ");
sql.Append(" ,VLR_IMP_PIS ");
sql.Append(" ,PERCENTUAL_IMP_PIS ");
sql.Append(" ,MOEDA_PIS ");
sql.Append(" ,CAMBIO_PIS ");
sql.Append(" ,VLR_IMP_COFINS_ORI ");
sql.Append(" ,VLR_IMP_COFINS ");
sql.Append(" ,PERCENTUAL_IMP_COFINS ");
sql.Append(" ,MOEDA_COFINS ");
sql.Append(" ,CAMBIO_COFINS ");
sql.Append(" ,MOEDA_CERTIFICADO ");
sql.Append(" ,CAMBIO_CERTIFICADO ");
sql.Append(" ,VLR_TOTAL_CERTIFICADO ");
sql.Append(" ,PREMIO_CERTIFICADO ");
sql.Append(" ,DATA_VENCIMENTO_PROPOSTA ");
sql.Append(" ,SERIE_DOCUMENTO ");
sql.Append(" ,NUMERO_DOCUMENTO ");
sql.Append(" ,PERCENTUAL_COMISSAO ");
sql.Append(" ,NUMERO_APOLICE ");
sql.Append(" ,DATA_INI_VIGENCIA_APOLICE ");
sql.Append(" ,DATA_FIM_VIGENCIA_APOLICE ");
sql.Append(" ,DATA_EMISSAO_APOLICE ");
sql.Append(" ,OBSERVACAO ");
sql.Append(" ,PERC_FRANQUIA ");
sql.Append(" ,CAMBIO_MOEDA_PRODUTO ");
sql.Append(" ,IS_GERENCIAMENTO_RISCO ");
sql.Append(" ,INCOTERM ");
sql.Append(" ,PROC_SUSEP ");
sql.Append(" ,COD_BANCO ");
sql.Append(" ,NUM_PROPOSTA ");
sql.Append(" ,DIG_PROPOSTA ");
sql.Append(" ,IDENTIFICACAO_PAGAMENTO ");
sql.Append(" ,VALOR_IOF ");
sql.Append(" ,VALOR_IOF_CALCULADO ");
sql.Append(" ,IS_CARTA_CREDITO ");
sql.Append(" ,COD_RAMO_ATIVIDADE ");
sql.Append(" ,COD_INCOTERM ");
sql.Append(" ,DESC_INCOTERM ");
sql.Append(" ,IS_PONTA_IMPORTACAO ");
sql.Append(" ,IS_DESTINO_EXPORTACAO ");
sql.Append(" ,IS_CIF_FECHADO ");
sql.Append(" ,IS_RETORNO_BENEF ");
sql.Append(" ,VALOR_BENEF ");
sql.Append(" ,PREMIO_BENEF ");
sql.Append(" ,IS_RETORNO_EVENTO ");
sql.Append(" ,DSC_PROD_DOC ");
sql.Append(" ,DT_EMISSAO ");
sql.Append(" ,HR_EMISSAO ");
sql.Append(" ,FORMA_PAGAMENTO ");
sql.Append(" ,BANCO ");
sql.Append(" ,AGENCIA ");
sql.Append(" ,CONTA_CORRENTE ");
sql.Append(" FROM " + ConfigurationManager.AppSettings["PrefixNameDbAvulsa"] + ".VW_PESQUISA_COTACAO ");
sql.Append(" WHERE (1=1) ");
if (pCotacao != null)
{
if (!pCotacao.Id.Equals(0))
{
sql.Append(" AND NUMERO_COTACAO = " + dbUtility.Variavel("COTACAO"));
dbUtility.AddParametro("COTACAO", pCotacao.Id, ParameterDirection.Input);
}
if (pCotacao.Produto != null)
{
if (!pCotacao.Produto.Id.Equals(0))
{
sql.Append(" AND COD_PRODUTO = " + dbUtility.Variavel("PRODUTO"));
dbUtility.AddParametro("PRODUTO", pCotacao.Produto.Id, ParameterDirection.Input);
}
}
if (pCotacao.Proposta != null && !pCotacao.Proposta.Id.Equals(0))
{
sql.Append(" AND NUM_PROPOSTA = " + dbUtility.Variavel("NUM_PROPOSTA"));
dbUtility.AddParametro("NUM_PROPOSTA", pCotacao.Proposta.Id, ParameterDirection.Input);
}
if (pCotacao.Proponente != null)
{
if (!String.IsNullOrEmpty(pCotacao.Proponente.RazaoSocial))
{
sql.Append(" AND UPPER(NOME_CLIENTE) LIKE " + dbUtility.Variavel("NOME"));
dbUtility.AddParametro("NOME", "%" + pCotacao.Proponente.RazaoSocial.Trim().ToUpper() + "%", ParameterDirection.Input);
}
if (!String.IsNullOrEmpty(pCotacao.Proponente.CNPJ) && !Int64.Parse(pCotacao.Proponente.CNPJ).Equals(0))
{
sql.Append(" AND CNPJ_CLIENTE = " + dbUtility.Variavel("CNPJ"));
dbUtility.AddParametro("CNPJ", pCotacao.Proponente.CNPJ.Replace(".", "").Replace("-", "").Replace("/", ""), ParameterDirection.Input);
}
}
if (pCotacao.Status != null)
{
if (!String.IsNullOrEmpty(pCotacao.Status.Id) & !pCotacao.Status.Id.Trim().Equals("999"))
{
sql.Append(" AND SIT_COTACAO = " + dbUtility.Variavel("SITUACAO"));
dbUtility.AddParametro("SITUACAO", pCotacao.Status.Id, ParameterDirection.Input);
}
}
if (pCotacao.Corretor != null)
{
if (!pCotacao.Corretor.IdPessoa.Equals(0))
{
sql.Append(" AND CORRETOR = " + dbUtility.Variavel("COD_CORRETOR"));
dbUtility.AddParametro("COD_CORRETOR", pCotacao.Corretor.IdPessoa, ParameterDirection.Input);
}
}
if (pCotacao.Filial != null)
{
if (!pCotacao.Filial.Id.Equals(0))
{
sql.Append(" AND FILIAL = " + dbUtility.Variavel("FILIAL"));
dbUtility.AddParametro("FILIAL", pCotacao.Filial.Id, ParameterDirection.Input);
}
}
}
sql.Append(" ORDER BY NUMERO_COTACAO DESC ");
reader = dbUtility.Consultar(sql.ToString());
List<Cotacao> lstCotacao = new List<Cotacao>();
while (reader.Read())
{
Cotacao _cot = new Cotacao();
_cot.ParametroSistema = pCotacao.ParametroSistema;
_cot.Apolice = new Apolice();
_cot.Apolice.Id = reader["NUMERO_APOLICE"].ToString();
_cot.Apolice.DataIniVigencia = Convert.ToDateTime(reader["DATA_INI_VIGENCIA_APOLICE"]);
_cot.Apolice.DataFimVigencia = Convert.ToDateTime(reader["DATA_FIM_VIGENCIA_APOLICE"]);
_cot.Apolice.DataEmissao = Convert.ToDateTime(DBNull.Value.Equals(reader["DATA_EMISSAO_APOLICE"]) ? null : reader["DATA_EMISSAO_APOLICE"]);
_cot.Id = Convert.ToInt32(reader["NUMERO_COTACAO"]);
_cot.DtEntrada = Convert.ToDateTime(reader["DATA_COTACAO"]);
_cot.DtAlteracao = Convert.ToDateTime(reader["DATA_ALTERACAO"]);
_cot.DtEmbarque = Convert.ToDateTime(reader["DATA_EMBARQUE"]);
_cot.Produto = new Produto();
_cot.Produto.Id = Convert.ToInt32(reader["COD_PRODUTO"].ToString());
_cot.Produto.Descricao = reader["DESCRICAO_PRODUTO"].ToString();
_cot.Produto.DescricaoDoc = reader["DSC_PROD_DOC"].ToString();
_cot.Produto.VersaoProduto = reader["VERSAO_PRODUTO"].ToString();
_cot.Produto.ProcessoSusep = reader["PROC_SUSEP"].ToString();
_cot.Produto.TipoProduto = (Produto.TpProduto)Enum.Parse(typeof(Produto.TpProduto), _cot.Produto.Id.ToString().Substring(0, 7));
_cot.Produto.Moeda = new Moeda();
_cot.Produto.Moeda.Cambio = Convert.ToDecimal(reader["CAMBIO_MOEDA_PRODUTO"]);
_cot.Produto.IsGerenciamentoRisco = Convert.ToBoolean(reader["IS_GERENCIAMENTO_RISCO"]);
_cot.Proponente = new Proponente();
_cot.Proponente.CNPJ = reader["CNPJ_CLIENTE"].ToString();
_cot.Proponente.RazaoSocial = reader["NOME_CLIENTE"].ToString();
_cot.Proponente.Fantasia = reader["NOME_CLIENTE"].ToString();
_cot.Proponente.Corretor = new Corretor();
_cot.Proponente.Corretor.IdPessoa = reader["CORRETOR"].ToString();
_cot.Proponente.Corretor.IdCorretor = reader["SUSEP_CORRETOR"].ToString();
_cot.Proponente.Corretor.RazaoSocial = reader["DESC_CORRETOR"].ToString();
_cot.Proponente.Corretor.Filial = new Filial();
_cot.Proponente.Corretor.Filial.Id = Convert.ToInt32(reader["ID_FILIAL_CORRETOR"]);
_cot.Proponente.Corretor.Filial.Descricao = reader["DESC_FILIAL_CORRETOR"].ToString();
_cot.Proponente.AtividadePrincipal = new AtividadePrincipal();
_cot.Proponente.AtividadePrincipal.Id = reader["COD_RAMO_ATIVIDADE"].ToString();
_cot.Status = new Status();
_cot.Status.Id = reader["SIT_COTACAO"].ToString();
_cot.Status.Descricao = reader["SIT_DESCRICAO"].ToString();
_cot.Corretor = new Corretor();
_cot.Corretor.IdPessoa = reader["CORRETOR"].ToString();
_cot.Corretor.IdCorretor = reader["SUSEP_CORRETOR"].ToString();
_cot.Corretor.RazaoSocial = reader["DESC_CORRETOR"].ToString();
_cot.Corretor.Filial = new Filial();
_cot.Corretor.Filial.Id = Convert.ToInt32(reader["ID_FILIAL_CORRETOR"]);
_cot.Corretor.Filial.Descricao = reader["DESC_FILIAL_CORRETOR"].ToString();
_cot.Corretor.Produtor = new PessoaFisica();
_cot.Corretor.Produtor.IdPessoa = reader["COD_PRODUTOR"].ToString();
_cot.Corretor.Produtor.Nome = reader["DSC_PRODUTOR"].ToString().Trim();
_cot.Filial = new Filial();
_cot.Filial.Id = Convert.ToInt32(reader["FILIAL"]);
_cot.DataValidadeCotacao = Convert.ToDateTime(reader["VALIDADE_COTACAO"]);
_cot.IdEmissaoSeguradora = Convert.ToInt32(reader["C_EMS_SEG"]);
_cot.IdContrato = reader["U_CTR_SEG"].ToString();
_cot.IdProposta = reader["U_PRP"].ToString();
_cot.Origem = new Local();
_cot.Origem.Id = Convert.ToInt32(reader["ORIGEM"]);
_cot.Origem.Descricao = reader["DESCRICAO_ORIGEM"].ToString();
_cot.Origem.Complemento = new Local();
_cot.Origem.Complemento.Id = Convert.ToInt32(reader["COMPLEMENTO_ORIGEM"]);
_cot.Origem.Complemento.Descricao = reader["DESCRICAO_COMPLEMENTO_ORIGEM"].ToString();
_cot.Destino = new Local();
_cot.Destino.Id = Convert.ToInt32(reader["DESTINO"]);
_cot.Destino.Descricao = reader["DESCRICAO_DESTINO"].ToString();
_cot.Destino.Complemento = new Local();
_cot.Destino.Complemento.Id = Convert.ToInt32(reader["COMPLEMENTO_DESTINO"]);
_cot.Destino.Complemento.Descricao = reader["DESCRICAO_COMPLEMENTO_DESTINO"].ToString();
_cot.Transporte = new Transporte();
_cot.Transporte.EnMeioTransporte = (Transporte.MTransporte)Enum.Parse(typeof(Transporte.MTransporte), reader["MEIO_TRANSPORTE"].ToString());
_cot.Transporte.Id = reader["MEIO_TRANSPORTE"].ToString();
_cot.Transporte.IdNavio = Convert.ToInt32(reader["ID_NAVIO"]);
_cot.Transporte.TipoVeiculo = reader["TIPO_VEICULO"].ToString();
_cot.Transporte.IdentificacaoVeiculo = reader["VEICULO_TRANSPORTE"].ToString();
_cot.Mercadoria = new Mercadoria();
_cot.Mercadoria.IdGrupoMercadoria = Convert.ToInt32(reader["GRUPO_MERCADORIA"]);
_cot.Mercadoria.TipoMercadoria = (Mercadoria.TpMercadoria)Enum.Parse(typeof(Mercadoria.TpMercadoria), reader["TIPO_MERCADORIA"].ToString());
_cot.Mercadoria.Id = reader["ID_MERCADORIA"].ToString();
_cot.Mercadoria.Descricao = reader["DESCRICAO_MERCADORIA"].ToString();
_cot.Mercadoria.ComplementoMercadoria = reader["COMPLEMENTO_MERCADORIA"].ToString();
_cot.Mercadoria.IsContainer = reader["IS_CONTAINER"].ToString();
_cot.Mercadoria.PercentualFranquia = Convert.ToDecimal(reader["PERC_FRANQUIA"].ToString());
_cot.Mercadoria.IsRetornoEvento = String.IsNullOrEmpty(reader["IS_RETORNO_EVENTO"].ToString()) ? String.Empty : reader["IS_RETORNO_EVENTO"].ToString();
_cot.Embalagem = new Embalagem() { Id = Convert.ToInt32(reader["ID_EMBALAGEM"]) };
_cot.IdentificacaoPagamento = reader["IDENTIFICACAO_PAGAMENTO"].ToString();
_cot.Cobertura = new Cobertura();
_cot.Cobertura.Id = Convert.ToInt32(reader["ID_COBERTURA_BASICA"]);
_cot.Cobertura.Descricao = reader["DESCRICAO_COBERTURA"].ToString();
_cot.ValorIOF = Convert.ToDecimal(reader["VALOR_IOF"]);
_cot.ValorIofCalculado = Convert.ToDecimal(reader["VALOR_IOF_CALCULADO"]);
_cot.VlrCustoMercadoria = Convert.ToDecimal(reader["VLR_FOB"]);
_cot.VlrCustoMercadoriaConvert = Convert.ToDecimal(reader["VLR_FOB_CONVERT"]);
_cot.MoedaCustoMercadoria = new Moeda() { Id = Convert.ToInt32(reader["MOEDA_FOB"]), Cambio = Convert.ToDecimal(reader["CAMBIO_FOB"]) };
_cot.VlrPremioFOB = Convert.ToDecimal(reader["VLR_PREMIO_FOB"]);
_cot.VlrValorFrete = Convert.ToDecimal(reader["VLR_FRETE"]);
_cot.VlrValorFreteConvert = Convert.ToDecimal(reader["VLR_FRETE_CONVERT"]);
_cot.MoedaFrete = new Moeda() { Id = Convert.ToInt32(reader["MOEDA_FRETE"]), Cambio = Convert.ToDecimal(reader["CAMBIO_FRETE"]) };
_cot.VlrDespesas = Convert.ToDecimal(reader["VLR_DESPESAS"]);
_cot.VlrPremioFrete = Convert.ToDecimal(reader["VLR_PREMIO_FRETE"]);
_cot.VlrDespesasConvert = Convert.ToDecimal(reader["VLR_DESPESAS_CONVERT"]);
_cot.MoedaDespesas = new Moeda() { Id = Convert.ToInt32(reader["MOEDA_DESPESAS"]), Cambio = Convert.ToDecimal(reader["CAMBIO_DESPESAS"]) };
_cot.PercDespesas = Convert.ToDecimal(reader["PERCENTUAL_DESPESAS"]);
_cot.VlrPremioDespesas = Convert.ToDecimal(reader["VLR_PREMIO_DESPESAS"]);
_cot.VlrLucrosEsperados = Convert.ToDecimal(reader["VLR_LUCRO"]);
_cot.VlrLucrosEsperadosConvert = Convert.ToDecimal(reader["VLR_LUCRO_CONVERT"]);
_cot.MoedaLucrosEsperados = new Moeda() { Id = Convert.ToInt32(reader["MOEDA_LUCRO"]), Cambio = Convert.ToDecimal(reader["CAMBIO_LUCRO"]) };
_cot.PercLucrosEsperados = Convert.ToDecimal(DBNull.Value.Equals(reader["PERCENTUAL_LUCRO"]) ? 0 : reader["PERCENTUAL_LUCRO"]);
_cot.VlrPremioLucrosEsperados = Convert.ToDecimal(reader["VLR_PREMIO_LUCRO"]);
_cot.VlrImportanciaSeguradaTotal = Convert.ToDecimal(reader["V_IS_TOTAL"]);
_cot.VlrPremioTotal = Convert.ToDecimal(reader["VLR_PREMIO_TOTAL"]);
_cot.VlrPremioLiquido = Convert.ToDecimal(reader["VLR_PREMIO_LIQUIDO"]);
_cot.VlrPremioCalculado = Convert.ToDecimal(reader["VLR_PREMIO_CALCULADO"]);
_cot.VlrIImportacao = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_II_ORI"]) ? 0 : reader["VLR_IMP_II_ORI"]);
_cot.VlrIImportacaoConvert = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_II"]) ? 0 : reader["VLR_IMP_II"]);
_cot.PercImpostoIImportacao = Convert.ToDecimal(DBNull.Value.Equals(reader["PERCENTUAL_IMP_II"]) ? 0 : reader["PERCENTUAL_IMP_II"]);
_cot.MoedaImpostoII = new Moeda();
_cot.MoedaImpostoII.Id = Convert.ToInt32(DBNull.Value.Equals(reader["MOEDA_II"]) ? 0 : reader["MOEDA_II"]);
_cot.MoedaImpostoII.Cambio = Convert.ToDecimal(DBNull.Value.Equals(reader["CAMBIO_II"]) ? 0 : reader["CAMBIO_II"]);
_cot.VlrIPI = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_IPI_ORI"]) ? 0 : reader["VLR_IMP_IPI_ORI"]);
_cot.VlrIPIConvert = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_IPI"]) ? 0 : reader["VLR_IMP_IPI"]);
_cot.PercImpostoIPI = Convert.ToDecimal(DBNull.Value.Equals(reader["PERCENTUAL_IMP_IPI"]) ? 0 : reader["PERCENTUAL_IMP_IPI"]);
_cot.MoedaImpostoIPI = new Moeda();
_cot.MoedaImpostoIPI.Id = Convert.ToInt32(DBNull.Value.Equals(reader["MOEDA_IPI"]) ? 0 : reader["MOEDA_IPI"]);
_cot.MoedaImpostoIPI.Cambio = Convert.ToDecimal(DBNull.Value.Equals(reader["CAMBIO_IPI"]) ? 0 : reader["CAMBIO_IPI"]);
_cot.VlrICMS = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_ICMS_ORI"]) ? 0 : reader["VLR_IMP_ICMS_ORI"]);
_cot.VlrICMSConvert = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_ICMS"]) ? 0 : reader["VLR_IMP_ICMS"]);
_cot.PercImpostoICMS = Convert.ToDecimal(DBNull.Value.Equals(reader["PERCENTUAL_IMP_ICMS"]) ? 0 : reader["PERCENTUAL_IMP_ICMS"]);
_cot.MoedaImpostoICMS = new Moeda();
_cot.MoedaImpostoICMS.Id = Convert.ToInt32(DBNull.Value.Equals(reader["MOEDA_ICMS"]) ? 0 : reader["MOEDA_ICMS"]);
_cot.MoedaImpostoICMS.Cambio = Convert.ToDecimal(DBNull.Value.Equals(reader["CAMBIO_ICMS"]) ? 0 : reader["CAMBIO_ICMS"]);
_cot.VlrPIS = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_PIS_ORI"]) ? 0 : reader["VLR_IMP_PIS_ORI"]);
_cot.VlrPISConvert = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_PIS"]) ? 0 : reader["VLR_IMP_PIS"]);
_cot.PercImpostoPIS = Convert.ToDecimal(DBNull.Value.Equals(reader["PERCENTUAL_IMP_PIS"]) ? 0 : reader["PERCENTUAL_IMP_PIS"]);
_cot.MoedaImpostoPIS = new Moeda();
_cot.MoedaImpostoPIS.Id = Convert.ToInt32(DBNull.Value.Equals(reader["MOEDA_PIS"]) ? 0 : reader["MOEDA_PIS"]);
_cot.MoedaImpostoPIS.Cambio = Convert.ToDecimal(DBNull.Value.Equals(reader["CAMBIO_PIS"]) ? 0 : reader["CAMBIO_PIS"]);
_cot.VlrCOFINS = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_COFINS_ORI"]) ? 0 : reader["VLR_IMP_COFINS_ORI"]);
_cot.VlrCOFINSConvert = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMP_COFINS"]) ? 0 : reader["VLR_IMP_COFINS"]);
_cot.PercImpostoCOFINS = Convert.ToDecimal(DBNull.Value.Equals(reader["PERCENTUAL_IMP_COFINS"]) ? 0 : reader["PERCENTUAL_IMP_COFINS"]);
_cot.MoedaImpostoCOFINS = new Moeda();
_cot.MoedaImpostoCOFINS.Id = Convert.ToInt32(DBNull.Value.Equals(reader["MOEDA_COFINS"]) ? 0 : reader["MOEDA_COFINS"]);
_cot.MoedaImpostoCOFINS.Cambio = Convert.ToDecimal(DBNull.Value.Equals(reader["CAMBIO_COFINS"]) ? 0 : reader["CAMBIO_COFINS"]);
_cot.VlrImpostos = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMPOSTOS_ORI"]) ? 0 : reader["VLR_IMPOSTOS_ORI"]);
_cot.VlrImpostosConvert = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_IMPOSTOS"]) ? 0 : reader["VLR_IMPOSTOS"]);
_cot.MoedaImpostos = new Moeda();
_cot.MoedaImpostos.Id = Convert.ToInt32(DBNull.Value.Equals(reader["MOEDA_IMPOSTOS"]) ? 0 : reader["MOEDA_IMPOSTOS"]);
_cot.MoedaImpostos.Cambio = Convert.ToDecimal(DBNull.Value.Equals(reader["CAMBIO_IMPOSTOS"]) ? 0 : reader["CAMBIO_IMPOSTOS"]);
_cot.PercentualDespesasLucrosImpostos = Convert.ToDecimal(DBNull.Value.Equals(reader["PERCENTUAL_LUC_DESP_IMP"]) ? 0 : reader["PERCENTUAL_LUC_DESP_IMP"]);
_cot.VlrContainer = Convert.ToDecimal(DBNull.Value.Equals(reader["VLR_CONTAINER"]) ? 0 : reader["VLR_CONTAINER"]);
_cot.Proposta = new Proposta();
_cot.Proposta.Id = Convert.ToDecimal(reader["NUM_PROPOSTA"]);
_cot.Proposta.Digito = reader["DIG_PROPOSTA"].ToString();
_cot.Proposta.DtVencimentoProposta = Convert.ToDateTime(reader["DATA_VENCIMENTO_PROPOSTA"]);
_cot.Proposta.Banco = new Banco();
_cot.Proposta.Banco.Id = reader["COD_BANCO"].ToString();
_cot.SerieDocumento = reader["SERIE_DOCUMENTO"].ToString();
_cot.NumeroDocumento = reader["NUMERO_DOCUMENTO"].ToString();
//_cot.PercComissao = Convert.ToDecimal(reader["PERCENTUAL_COMISSAO"]);
_cot.Observacao = reader["OBSERVACAO"].ToString();
_cot.Certificado = new Certificado();
_cot.Certificado.TipoIconterms = reader["INCOTERM"].ToString();
_cot.Certificado.Moeda = new Moeda();
_cot.Certificado.Moeda.Id = Convert.ToInt32(reader["MOEDA_CERTIFICADO"]);
_cot.Certificado.Moeda.Cambio = Convert.ToDecimal(reader["CAMBIO_CERTIFICADO"]);
_cot.Certificado.VlrPremioTotal = Convert.ToDecimal(reader["PREMIO_CERTIFICADO"]);
_cot.Certificado.VlrImportanciaSeguradaTotal = Convert.ToDecimal(reader["VLR_TOTAL_CERTIFICADO"]);
_cot.IsCartaCredito = reader["IS_CARTA_CREDITO"].ToString();
_cot.Incoterms = new Entities.Geral.Incoterms();
_cot.Incoterms.Id = reader["COD_INCOTERM"].ToString();
_cot.Incoterms.Descricao = reader["DESC_INCOTERM"].ToString();
_cot.Incoterms.IsPontaImportacao = String.IsNullOrEmpty(reader["IS_PONTA_IMPORTACAO"].ToString().Trim()) ? "" : reader["IS_PONTA_IMPORTACAO"].ToString();
_cot.Incoterms.IsDestinoExportacao = String.IsNullOrEmpty(reader["IS_DESTINO_EXPORTACAO"].ToString().Trim()) ? "" : reader["IS_DESTINO_EXPORTACAO"].ToString();
_cot.IsCifFechado = reader["IS_CIF_FECHADO"].ToString();
_cot.VlrBeneficiamento = Convert.ToDecimal(reader["VALOR_BENEF"]);
_cot.VlrPremioBeneficiamento = Convert.ToDecimal(reader["PREMIO_BENEF"]);
_cot.IsRetornoBeneficiamento = String.IsNullOrEmpty(reader["IS_RETORNO_BENEF"].ToString()) ? "0" : reader["IS_RETORNO_BENEF"].ToString();
_cot.HrEmissao = reader["HR_EMISSAO"].ToString();
_cot.DtEmissao = reader["DT_EMISSAO"].ToString();
_cot.FormaPagamento = reader["FORMA_PAGAMENTO"].ToString();
_cot.CodBanco = reader["BANCO"].ToString();
_cot.CodAgencia = reader["AGENCIA"].ToString();
_cot.ContaCorrente = reader["CONTA_CORRENTE"].ToString();
lstCotacao.Add(_cot);
}
dbUtility.FecharConexao();
return lstCotacao;
}
catch (Exception ex)
{
...
}
finally
{
dbUtility.FecharConexao();
}
}