public DocumentoClienteDados InserirDocumentoClienteDados(DocumentoClienteDados documentoClienteDados_) { Int64 recordId = new DapperSqlHelper().InsertWithReturnId(documentoClienteDados_); documentoClienteDados_.DocCliDadosId = recordId; return(documentoClienteDados_); }
/// <summary> /// Lê o arquivo pdf para extrair os dados /// </summary> /// <param name="Caminho">Caminho do arquivo PDF a ser lido</param> public DocumentoClienteDados LerPdf(string Caminho) { DocumentoClienteDados dadosCliente = new DocumentoClienteDados(); string NomeArquivo = new FileInfo(Caminho).Name; dadosCliente.DocCliDadosValor = RetornarValor(Caminho, ConfigurationManager.AppSettings["Bradesco.PosicaoContrato"].ToString().Split(','), int.Parse(ConfigurationManager.AppSettings["Bradesco.PaginaContrato"].ToString())); //Preenche o modelo criando um novo arquivo return(dadosCliente); }
/// <summary> /// Consulta documento dados /// </summary> /// <param name="documentoCliente"></param> /// <returns></returns> public IEnumerable <DocumentoCliente> ConsultarInfoDocumentoCliente(DocumentoClienteDados documentoCliente) { var parameters = new DynamicParameters(); parameters.Add("@pClienteId", documentoCliente.ClienteId, DbType.Int16, null); parameters.Add("@pTipoInfoCliId", documentoCliente.TipoInfoCliId, DbType.Int16, null); parameters.Add("@pDocCliDadosValor", documentoCliente.DocCliDadosValor, DbType.String, null); var dadosInfoDocumentoCliente = this.QuerySPCustomInfoDocumentos("ConsultarDocumentoClientePorValorDado", parameters); return(dadosInfoDocumentoCliente.ToList()); }
public bool Delete(DocumentoClienteDados DocumentoClienteDados) { bool delete = new DapperSqlHelper().Delete <DocumentoClienteDados>(DocumentoClienteDados); return(delete); }
public DocumentoClienteDados Update(DocumentoClienteDados DocumentoClienteDados) { bool update = new DapperSqlHelper().Update <DocumentoClienteDados>(DocumentoClienteDados); return(DocumentoClienteDados); }
public Int64 Insert(DocumentoClienteDados DocumentoClienteDados) { Int64 recordId = new DapperSqlHelper().InsertWithReturnId(DocumentoClienteDados); return(recordId); }
public override List <DocumentoCliente> EnviarDocumentosCliente(List <DocumentoCliente> documentosCliente_) { UtilFileBradesco utilFileBradesco = new UtilFileBradesco(); //Validações ** //Validações para o tipo CCB Padrão DocumentoCliente DocumentoClienteCCB = documentosCliente_.FindAll(p => p.DocCliTipoId == 1).First(); #region 1 - Verifica tipo/ versão pdf if (UtilFile.GetMIMEType(documentosCliente_.FindAll(p => p.DocCliTipoId == 1).First().DocClienteNomeArquivoOriginal).ToLower() != "application/pdf") { throw new Exception("Erro - Documento deve ser do tipo PDF"); } #endregion #region 2 - Verifica número proposta no PDF DocumentoClienteDados _documentoClienteDados = null; try { _documentoClienteDados = utilFileBradesco.LerPdf(WorkingFolder + "\\" + DocumentoClienteCCB.DocClienteNomeArquivoSalvo); Int64 _valor; if (!Int64.TryParse(_documentoClienteDados.DocCliDadosValor, out _valor)) { throw new Exception("Valor do campo contrato deve ser numérico."); } _documentoClienteDados.ClienteId = DocumentoClienteCCB.ClienteId; //1 --> Tipo CCB _documentoClienteDados.TipoInfoCliId = (new ClienteTipoInformacaoClienteDal().GetAllByIdCliente(_documentoClienteDados.ClienteId).First()).TipoInfoCliId; } catch (Exception ex) { throw new Exception("Erro ao recuperar o número do contrato. Erro [" + ex.Message + "]"); } #endregion #region 3 - Consultar numero proposta por usuário na base //Não pode inserir um numero de proposta na base sem antes verificar se o numero da proposta já existe na base e se a proposta foi cadastrada pelo mesmo usuário que está enviando o arquivo. //Recupera todos os documentos de clientes que possuem o mesmo número de proposta List <DocumentoCliente> _documentosClienteCadastrado = new EnviarArquivoDal().ConsultarNumeroPropostaPorUsuario(_documentoClienteDados.DocCliDadosValor.Trim()).ToList(); if (_documentosClienteCadastrado.FindAll(p => p.UsuarioId != DocumentoClienteCCB.UsuarioId).Count > 0) { throw new BusinessException(0, EnumTipoMensagem.Alerta, "Proposta enviada por outro usuário."); } int docCliSituId; //Consulta as situações List <DocumentoClienteSituacao> _documentosClienteSituacao = new DocumentoClienteSituacaoDal().GetAllDocumentoClienteSituacaoByDocCliTipoId(DocumentoClienteCCB.DocCliTipoId).ToList(); if (_documentosClienteSituacao.Count == 0) { throw new Exception("Situação não cadastrada para este Tipo de Documento."); } docCliSituId = _documentosClienteSituacao.Min(p => p.DocCliSituId); DocumentoClienteCCB.DocCliSituId = docCliSituId; #endregion #region 5 - Consulta arquivos já existentes para o numero de proposta //Caso já exista um tipo e situação do arquivo na base igual ao que o usuário está tentando realizar o upload, irá perguntar ao usuário se ele deseja sobreescrever. if (!Reenvio && _documentosClienteCadastrado.FindAll(p => p.DocCliSituId == DocumentoClienteCCB.DocCliSituId).Count > 0) { // throw new BusinessException(EnumTipoMensagem.Pergunta, "Proposta já cadastrada para este tipo de arquivo e situação."); } #endregion //Fim validações //Validações para todos tipos for (int contador = 0; contador < documentosCliente_.Count; contador++) { #region 1 - Verifica tipo/ versão pdf if (UtilFile.GetMIMEType(documentosCliente_[contador].DocClienteNomeArquivoOriginal).ToLower() != "application/pdf") { throw new Exception("Erro - Documento deve ser do tipo PDF"); } #endregion #region Validar Conteúdo PDF validarConteudoPDF(documentosCliente_[contador]); #endregion #region Processamentos Processamentos(documentosCliente_[contador]); #endregion //Consulta as situações _documentosClienteSituacao = new DocumentoClienteSituacaoDal().GetAllDocumentoClienteSituacaoByDocCliTipoId(documentosCliente_[contador].DocCliTipoId).ToList(); if (_documentosClienteSituacao.Count == 0) { throw new Exception("Situação não cadastrada para este Tipo de Documento."); } docCliSituId = _documentosClienteSituacao.Min(p => p.DocCliSituId); } EnviarArquivoDal daoEnviarArquivo = new EnviarArquivoDal(); try { daoEnviarArquivo.BeginTransaction(); //Carga dos arquivos for (int contador = 0; contador < documentosCliente_.Count; contador++) { //Consulta as situações _documentosClienteSituacao = new DocumentoClienteSituacaoDal().GetAllDocumentoClienteSituacaoByDocCliTipoId(documentosCliente_[contador].DocCliTipoId).ToList(); if (_documentosClienteSituacao.Count == 0) { throw new Exception("Situação não cadastrada para este Tipo de Documento."); } docCliSituId = _documentosClienteSituacao.Min(p => p.DocCliSituId); documentosCliente_[contador].DocCliSituId = docCliSituId; #region 4 - Insere o numero proposta em base //Se o numero da proposta está OK e ainda não existe na base, irá realizar o insert na base, caso já exista irá utilizar o ID do numero de proposta que já existe na base List <DocumentoClienteDados> _documentosClienteDados = new DocumentoClienteDadosDal().GetAllByDocCliDadosValor(_documentoClienteDados.DocCliDadosValor).ToList(); if (_documentosClienteDados.Count == 0) { _documentoClienteDados = daoEnviarArquivo.InserirDocumentoClienteDados(_documentoClienteDados); } else { _documentoClienteDados = _documentosClienteDados.First(); } #endregion #region 6 - Salva arquivo em servidor e faz insert na base List <DocumentoCliente> _documentosClientes = new EnviarArquivoDal().ConsultarDocumentoClientePorDocCliDadosValorDocCliTipoId( _documentoClienteDados.DocCliDadosValor, documentosCliente_[contador].DocCliTipoId).ToList(); if (_documentosClientes.Count > 0) { //Apaga o arquivo if (System.IO.File.Exists(WorkingFolder + "\\" + _documentosClientes.First().DocClienteNomeArquivoSalvo)) { System.IO.File.Delete(WorkingFolder + "\\" + _documentosClientes.First().DocClienteNomeArquivoSalvo); } //Atualiza documentosCliente_[contador].DocClienteId = _documentosClientes.First().DocClienteId; new DocumentoClienteDal().Update(documentosCliente_[contador]); } else //Insere { documentosCliente_[contador] = (DocumentoCliente) new DocumentoClienteDal().Insert(documentosCliente_[contador]); } #endregion #region 7 - Faz insert na base p / relacionar id do documento e do num.de proposta if (_documentosClientes.Count == 0) { DocumentoClienteDadosDoc _documentoClienteDadosDoc = new DocumentoClienteDadosDoc(); _documentoClienteDadosDoc.DocClienteId = documentosCliente_[contador].DocClienteId; _documentoClienteDadosDoc.DocCliDadosId = _documentoClienteDados.DocCliDadosId; _documentoClienteDadosDoc = new DocumentoClienteDadosDocDal().Insert(_documentoClienteDadosDoc); } #endregion } new DocumentoClienteDadosDocDal().Delete(new DocumentoClienteDadosDoc() { DocCliDadosDocId = 85 }); new DocumentoClienteDadosDal().Delete(new DocumentoClienteDados() { DocCliDadosId = 38 }); new DocumentoClienteDal().Delete(new DocumentoCliente() { DocClienteId = 88 }); new DocumentoClienteDadosDocDal().CommitTransaction(); } catch (Exception) { daoEnviarArquivo.RollbackTransaction(); throw; } return(documentosCliente_); }