private void EnviarEmailCodigo(SinacorExportarInfo pRequestSinacor, ClienteInfo pRequestCliente) { if (pRequestSinacor.Retorno.ExportacaoSinacorOk && pRequestCliente.StPasso == 3) { //--> Primeira exportação var lNome = pRequestCliente.DsNome; //--> Pegar Nome Cliente var lEntradaLogin = new ReceberEntidadeCadastroRequest <LoginInfo>() { //--> Pegar Login EntidadeCadastro = new LoginInfo() { IdLogin = pRequestCliente.IdLogin, } }; string lEmailDestinatario = this.ServicoPersistenciaCadastro.ReceberEntidadeCadastro(lEntradaLogin).EntidadeCadastro.DsEmail; if (lEmailDestinatario.Trim().Length > 0 && (lEmailDestinatario.Trim().IndexOf('@') > -1) && (lNome.Trim().Length > 0) && (lEmailDestinatario.Trim().ToLower() != "[email protected]")) { var dicVariaveis = new Dictionary <string, string>(); { //--> Enviando e-mail para o cliente. dicVariaveis.Add("@Nome", lNome); dicVariaveis.Add("@Codigo", pRequestSinacor.Entrada.CdCodigo.ToString()); var lNomeAssessorInicial = this.ServicoPersistenciaCadastro.ConsultarEntidadeCadastro <SinacorListaComboInfo>( new ConsultarEntidadeCadastroRequest <SinacorListaComboInfo>() { //-->Pegando o Assessor para ver se é TBC IdUsuarioLogado = base.UsuarioLogado.Id, DescricaoUsuarioLogado = base.UsuarioLogado.Nome, EntidadeCadastro = new SinacorListaComboInfo() { Informacao = eInformacao.Assessor, Filtro = pRequestCliente.IdAssessorInicial.Value.ToString() } }); var lTextoEmail = "CadastroPasso4-PrimeiraExportacao.htm"; if (MensagemResponseStatusEnum.OK.Equals(lNomeAssessorInicial.StatusResposta) && (null != lNomeAssessorInicial) && (null != lNomeAssessorInicial.Resultado) && (lNomeAssessorInicial.Resultado.Count > 0) && (null != lNomeAssessorInicial.Resultado[0]) && lNomeAssessorInicial.Resultado[0].Value.ToUpper().Contains("TBC")) { lTextoEmail = "CadastroPrimeiraExportacaoTBC.htm"; } else if (MensagemResponseStatusEnum.OK.Equals(lNomeAssessorInicial.StatusResposta) && (null != lNomeAssessorInicial) && (null != lNomeAssessorInicial.Resultado) && (lNomeAssessorInicial.Resultado.Count > 0) && (null != lNomeAssessorInicial.Resultado[0]) && lNomeAssessorInicial.Resultado[0].Value.ToUpper().Contains("ESPACO DELA")) { lTextoEmail = "CadastroPrimeiraExportacaoEspacoDela.htm"; } if (pRequestCliente.TpDesejaAplicar != "FUNDOS") { base.EnviarEmail(lEmailDestinatario, "Dados da sua conta na Gradual", lTextoEmail, dicVariaveis, eTipoEmailDisparo.Assessor); } } { //--> Enviando notificação para o assessor do cliente. var lAssessor = this.ServicoPersistenciaCadastro.ReceberEntidadeCadastro <AssessorDoClienteInfo>( new ReceberEntidadeCadastroRequest <AssessorDoClienteInfo>() { //--> Enviando email para o Assessor IdUsuarioLogado = base.UsuarioLogado.Id, DescricaoUsuarioLogado = base.UsuarioLogado.Nome, EntidadeCadastro = new AssessorDoClienteInfo() { IdCliente = pRequestCliente.IdCliente.Value } }); dicVariaveis = new Dictionary <string, string>(); dicVariaveis.Add("@NomeCliente", lNome); dicVariaveis.Add("@Codigo", pRequestSinacor.Entrada.CdCodigo.ToString());//.ToCodigoClienteFormatado()); dicVariaveis.Add("@Nome", lAssessor.EntidadeCadastro.NomeAssessor); var lListaEmailAssessor = base.ConsultarListaEmailAssessor(lAssessor.EntidadeCadastro.CodigoAssessor).ListaEmailAssessor; if (null != lListaEmailAssessor) { lListaEmailAssessor.ForEach(lDestinatario => { base.EnviarEmail(lDestinatario, "Dados do seu cliente na Gradual", "CadastroPrimeiraExportacaoAssessor.htm", dicVariaveis, eTipoEmailDisparo.Assessor); }); } } } } }
public static void Logar(SinacorExportarInfo Entidade, int IdUsuarioLogado, string DescricaoUsuarioLogado, eAcao Acao, Exception Ex = null) { string lCabecalho = GetCabacalho(Entidade, IdUsuarioLogado, DescricaoUsuarioLogado, Acao); string lConteudo = ""; try { lConteudo += " ; [Entrada.IdCliente] " + Entidade.Entrada.IdCliente.DBToString(); lConteudo += " ; [Entrada.CdCodigo] " + Entidade.Entrada.CdCodigo.DBToString(); lConteudo += " ; [Entrada.PrimeiraExportacao] " + Entidade.Entrada.PrimeiraExportacao.DBToString(); if (null != Entidade.Retorno) { lConteudo += " ; [Retorno.DadosClienteOk] " + Entidade.Retorno.DadosClienteOk.DBToString(); if (!Entidade.Retorno.DadosClienteOk) { if (null != Entidade.Retorno.DadosClienteMensagens) { foreach (var item in Entidade.Retorno.DadosClienteMensagens) { lConteudo += " ; [Mensagem] " + item.Mensagem.DBToString(); lConteudo += " ; [Tabela] " + item.Tabela.DBToString(); } } } lConteudo += " ; [Retorno.ExportacaoSinacorOk] " + Entidade.Retorno.ExportacaoSinacorOk.DBToString(); if (!Entidade.Retorno.ExportacaoSinacorOk) { if (null != Entidade.Retorno.ExportacaoSinacorMensagens) { foreach (var item in Entidade.Retorno.ExportacaoSinacorMensagens) { lConteudo += " ; [CD_CLIENTE] " + item.CD_CLIENTE.DBToString(); lConteudo += " ; [CD_CPFCGC] " + item.CD_CPFCGC.DBToString(); lConteudo += " ; [CD_EXTERNO] " + item.CD_EXTERNO.DBToString(); lConteudo += " ; [DS_AUX] " + item.DS_AUX.DBToString(); lConteudo += " ; [DS_OBS] " + item.DS_OBS.DBToString(); lConteudo += " ; [DT_IMPORTA] " + item.DT_IMPORTA.DBToString(); lConteudo += " ; [DT_NASC_FUND] " + item.DT_NASC_FUND.DBToString(); lConteudo += " ; [NM_CLIENTE] " + item.NM_CLIENTE.DBToString(); } } } lConteudo += " ; [Retorno.ExportacaoAtualizarCadastroOk] " + Entidade.Retorno.ExportacaoAtualizarCadastroOk.DBToString(); if (!Entidade.Retorno.ExportacaoAtualizarCadastroOk) { if (null != Entidade.Retorno.ExportacaoAtualizarCadastroMensagens) { foreach (var item in Entidade.Retorno.ExportacaoAtualizarCadastroMensagens) { lConteudo += " ; [Mensagem] " + item.Mensagem.DBToString(); lConteudo += " ; [Tabela] " + item.Tabela.DBToString(); } } } lConteudo += " ; [Retorno.ExportacaoComplementosOk] " + Entidade.Retorno.ExportacaoComplementosOk.DBToString(); if (!Entidade.Retorno.ExportacaoComplementosOk) { if (null != Entidade.Retorno.ExportacaoComplementosMensagens) { foreach (var item in Entidade.Retorno.ExportacaoComplementosMensagens) { lConteudo += " ; [Mensagem] " + item.Mensagem.DBToString(); lConteudo += " ; [Tabela] " + item.Tabela.DBToString(); lConteudo += " ; [Procedure] " + item.Procedure.DBToString(); } } } lConteudo += " ; [Retorno.ExportacaoRiscoOk] " + Entidade.Retorno.ExportacaoRiscoOk.DBToString(); if (!Entidade.Retorno.ExportacaoRiscoOk) { if (null != Entidade.Retorno.ExportacaoRiscoMensagens) { foreach (var item in Entidade.Retorno.ExportacaoRiscoMensagens) { lConteudo += " ; [Mensagem] " + item.Mensagem.DBToString(); lConteudo += " ; [Tabela] " + item.Tabela.DBToString(); lConteudo += " ; [Procedure] " + item.Procedure.DBToString(); } } } } if (null == Ex) { logger.Info(lCabecalho + lConteudo); } else { logger.Error(lCabecalho + lConteudo, Ex); } } catch (Exception ex) { logger.Error("[Erro ao Salvar Log] ", ex); } }
private string ResponderSincronizarComSinacor() { var lResposta = string.Empty; var lPrimeira = true; var lCodigo = new Nullable <int>(); //Pegar Cliente var lEntradaCliente = new ReceberEntidadeCadastroRequest <ClienteInfo>() { }; var lRetornoCliente = new ReceberEntidadeCadastroResponse <ClienteInfo>(); lEntradaCliente.EntidadeCadastro = new ClienteInfo(); lEntradaCliente.EntidadeCadastro.IdCliente = this.GetIdCliente; lEntradaCliente.IdUsuarioLogado = base.UsuarioLogado.Id; lEntradaCliente.DescricaoUsuarioLogado = base.UsuarioLogado.Nome; lRetornoCliente = this.ServicoPersistenciaCadastro.ReceberEntidadeCadastro(lEntradaCliente); if (lRetornoCliente.EntidadeCadastro.StPasso < 3) { lResposta = RetornarErroAjax("É preciso gerar a ficha cadastral antes de exportar o cliente."); } else { //Passo e Conta if (lRetornoCliente.EntidadeCadastro.StPasso == 4) { lPrimeira = false; //Pegar o Códio Principal var lEntradaConta = new ConsultarEntidadeCadastroRequest <ClienteContaInfo>(); var lRetornoConta = new ConsultarEntidadeCadastroResponse <ClienteContaInfo>(); lEntradaConta.EntidadeCadastro = new ClienteContaInfo(); lEntradaConta.EntidadeCadastro.IdCliente = lRetornoCliente.EntidadeCadastro.IdCliente.Value; lEntradaConta.DescricaoUsuarioLogado = base.UsuarioLogado.Nome; lEntradaConta.IdUsuarioLogado = base.UsuarioLogado.Id; lRetornoConta = this.ServicoPersistenciaCadastro.ConsultarEntidadeCadastro <ClienteContaInfo>(lEntradaConta); List <ClienteContaInfo> lListaConta = lRetornoConta.Resultado; foreach (ClienteContaInfo lConta in lListaConta) { if (null != lConta.StPrincipal && lConta.StPrincipal.Value) { lCodigo = lConta.CdCodigo; break; } } } //Exportação var lEntradaExportacao = new SalvarEntidadeCadastroRequest <SinacorExportarInfo>(); var lRetornoExportacao = new SalvarEntidadeCadastroResponse(); lEntradaExportacao.EntidadeCadastro = new SinacorExportarInfo(); lEntradaExportacao.EntidadeCadastro.Entrada = new SinacorExportacaoEntradaInfo(); lEntradaExportacao.EntidadeCadastro.Entrada.IdCliente = lRetornoCliente.EntidadeCadastro.IdCliente.Value; lEntradaExportacao.EntidadeCadastro.Entrada.CdCodigo = lCodigo; lEntradaExportacao.EntidadeCadastro.Entrada.PrimeiraExportacao = lPrimeira; lEntradaExportacao.DescricaoUsuarioLogado = base.UsuarioLogado.Nome; lEntradaExportacao.IdUsuarioLogado = base.UsuarioLogado.Id; lRetornoExportacao = this.ServicoPersistenciaCadastro.SalvarEntidadeCadastro <SinacorExportarInfo>(lEntradaExportacao); //Retorno da Exportação var lTransporte = new TransporteSincronizacaoComSinacor() { GridErro = new List <GridSincronizacao>() }; if (lRetornoExportacao.StatusResposta == MensagemResponseStatusEnum.OK) { SinacorExportarInfo lRetorno = (SinacorExportarInfo)lRetornoExportacao.Objeto; GridSincronizacao lGrig; if (!lRetorno.Retorno.DadosClienteOk) { //Erro na validação do Cliente lTransporte.Resultado = gResultadoErroCadastro; foreach (var item in lRetorno.Retorno.DadosClienteMensagens) { lGrig = new GridSincronizacao(); lGrig.Tipo = gTipoPendencia; lGrig.Descricao = item.Mensagem; lTransporte.GridErro.Add(lGrig); } } else { if (!lRetorno.Retorno.ExportacaoSinacorOk) { //Erro no processo CliExterno lTransporte.Resultado = gResultadoErroClieExterno; foreach (var item in lRetorno.Retorno.ExportacaoSinacorMensagens) { lGrig = new GridSincronizacao(); lGrig.Tipo = gTipoCliExterno; lGrig.Descricao = string.Concat(item.DS_OBS, " - ", item.DS_AUX); lTransporte.GridErro.Add(lGrig); } } else { //Cliente Exportado //Verificação do Resultado: if (lRetorno.Retorno.ExportacaoAtualizarCadastroOk && lRetorno.Retorno.ExportacaoComplementosOk)//Tudo OK { lTransporte.Resultado = gResultadoOk; } else //Com resalvas { lTransporte.Resultado = gResultadoOkParcial; if (!lRetorno.Retorno.ExportacaoAtualizarCadastroOk) //Atualizacao OK { lTransporte.Mensagens.Add(gResultadoErroAtualizacao); } if (!lRetorno.Retorno.ExportacaoRiscoOk) //Risco OK { lTransporte.Mensagens.Add(gResultadoErroRisco); } if (!lRetorno.Retorno.ExportacaoComplementosOk) //Complementos OK { lTransporte.Mensagens.Add(gResultadoErroComplementos); } } //Montando o Grid if (!lRetorno.Retorno.ExportacaoAtualizarCadastroOk) { foreach (var item in lRetorno.Retorno.ExportacaoAtualizarCadastroMensagens) { lGrig = new GridSincronizacao(); lGrig.Tipo = gTipoAtualizacao; lGrig.Descricao = item.Mensagem; lTransporte.GridErro.Add(lGrig); } } if (!lRetorno.Retorno.ExportacaoRiscoOk) { foreach (var item in lRetorno.Retorno.ExportacaoRiscoMensagens) { lGrig = new GridSincronizacao(); lGrig.Tipo = gTipoRisco; lGrig.Descricao = item.Mensagem; lTransporte.GridErro.Add(lGrig); } } if (!lRetorno.Retorno.ExportacaoComplementosOk) { foreach (var item in lRetorno.Retorno.ExportacaoComplementosMensagens) { lGrig = new GridSincronizacao(); lGrig.Tipo = gTipoComplementos; lGrig.Descricao = item.Mensagem; lTransporte.GridErro.Add(lGrig); } } this.EnviarEmailCodigo(lRetorno, lRetornoCliente.EntidadeCadastro); } // Fim Cliente Exportado } } else { lTransporte.Resultado = lRetornoExportacao.DescricaoResposta; lResposta = RetornarErroAjax(lRetornoExportacao.DescricaoResposta); } lResposta = RetornarSucessoAjax(lTransporte, "Comunicação com o Sinacor realizada."); base.RegistrarLogAlteracao(new Contratos.Dados.Cadastro.LogIntranetInfo() { IdClienteAfetado = this.GetIdCliente, DsObservacao = string.Concat("Cliente sincronizado: id_cliente: ", this.GetIdCliente) }); } return(lResposta); }