Esempio n. 1
0
        public string ObterSenhaPadrao()
        {
            var config = _servicoConfiguracao.ObterPorSigla("SEPAD");

            if (config != null)
            {
                return(_servicoConfiguracao.ObterPorSigla("SEPAD").Valor);
            }
            else
            {
                return("");
            }
        }
Esempio n. 2
0
        public ClienteBuscaViewModel PesquisarGenerico(long?atividadeId, bool?carregarComPost, string nomeAction,
                                                       string nomeController, long?atualClienteId, string atualClienteTipo, bool?clienteContato, string criadoPor)
        {
            var model = new ClienteBuscaViewModel
            {
                AtividadeId      = atividadeId,
                CarregarComPost  = (bool)carregarComPost,
                Action           = nomeAction,
                Controller       = nomeController,
                AtualClienteId   = atualClienteId,
                AtualClienteTipo = atualClienteTipo,
                ClienteContato   = clienteContato
            };

            if (clienteContato != null && clienteContato != true)
            {
                return(model);
            }

            var permitirAtendimentoTerceiro = false;
            var configuracao = new Configuracao();

            configuracao.SetarAtendimentoTerceiros();
            configuracao = _configuracaoServico.ObterPorSigla(configuracao.Sigla);

            if (configuracao != null)
            {
                permitirAtendimentoTerceiro = configuracao.Valor == "1";
            }

            if (permitirAtendimentoTerceiro)
            {
                model.ClienteContato = null;

                if (atividadeId.HasValue && clienteContato == null)
                {
                    if (_servicoAtividadeParteEnvolvidaServico.PossuiClienteContato((long)atividadeId))
                    {
                        model.ClienteContato = false;
                    }
                }
                else
                {
                    model.ClienteContato = clienteContato;
                }
            }
            else
            {
                model.ClienteContato = false;
            }

            return(model);
        }
Esempio n. 3
0
        private bool Chave()
        {
            var retorno = _configuracaoServico.ObterPorSigla("KEYGO");

            if (retorno.ValidationResult.IsValid)
            {
                _chaveGoogleApi = retorno.Valor;
            }
            else
            {
                foreach (var erro in retorno.ValidationResult.Erros)
                {
                    _chaveGoogleApi += erro.Message + ' ';
                }
            }

            return(retorno.ValidationResult.IsValid);
        }
        public EmailFormViewModel TratarEmail(EmailFormViewModel model)
        {
            ValidarRegrasEmail(model);

            if (!model.ValidationResult.IsValid)
            {
                return(model);
            }

            var envolvidos = CarregarEnvolvidos(model);

            if (model.EmailPaiId.HasValue)
            {
                var emailPai = _emailServico.ObterEmailCompletoPor((long)model.EmailPaiId, null);
                if (emailPai != null)
                {
                    model.PessoaJuridicaId = emailPai.Atividade.PessoasJuridicasId;
                    model.PessoaFisicaId   = emailPai.Atividade.PessoasFisicasId;
                    model.AtividadePaiId   = emailPai.AtividadeId;
                }
            }

            var configuracao = new Configuracao();

            configuracao.SetarUrlEmailAnexos();
            var diretorioArquivos = _configuracaoServico.ObterPorSigla(configuracao.Sigla).Valor;

            if (model.ConfiguracaoContaEmailId.HasValue)
            {
                var configuracaoContaEmail =
                    _configuracaoContaEmailServico.ObterPorId((int)model.ConfiguracaoContaEmailId);

                model.Remetente = configuracaoContaEmail.Email;
                model.FilaId    = configuracaoContaEmail.FilasId;
            }

            var htmlCompleto = @"<span style='color:white;mso-themecolor:background1'>IdEmailInicio[EmailId]|" +
                               DateTime.Now + "IdEmailFim <o:p></o:p></span>";

            model.Html = model.Html.Replace("style='pointer-events:none;'", "") + htmlCompleto;
            SalvarImagensTexto(model, diretorioArquivos);
            ProcessarAnexos(model.Anexos, diretorioArquivos);
            var email = _emailServico.Novo(model.UsuarioId, model.UsuarioId, null,
                                           model.OcorrenciaId,
                                           null, model.AtendimentoId, model.PessoaFisicaId, model.PessoaJuridicaId,
                                           null, model.AtividadePaiId, model.Assunto, null,
                                           model.Remetente, model.Html, model.Html, null, null, model.Sentido, model.Assunto,
                                           model.EmailPaiId, model.ConfiguracaoContaEmailId, model.FilaId, envolvidos,
                                           _anexos, model.StatusId, Guid.NewGuid().ToString());

            if (email.ValidationResult.IsValid)
            {
                model.AtividadeId = email.AtividadeId;
                model.EmailId     = email.Id;
            }
            else
            {
                model.ValidationResult = email.ValidationResult;
            }

            return(model);
        }
Esempio n. 5
0
        public bool EmailSenha(string url, string email, string userId)
        {
            int     statusAtividadeId;
            Usuario usuarioSistema;
            var     retorno =
                _emailModeloServico.ObterPor(new EmailModelo {
                NomeDoModelo = "ESQUECI_MINHA_SENHA"
            }).FirstOrDefault();

            //colocar o usuario na tabela de configuração
            var usuarioSigla = _configuracaoServico.ObterPorSigla("USSYS");

            if (usuarioSigla != null)
            {
                usuarioSistema = _usuarioServico.BuscarPorNome(usuarioSigla.Valor).FirstOrDefault();
            }
            else
            {
                return(false);
            }

            if (retorno != null)
            {
                retorno.Html = retorno.Html.Replace("[URL]", url);
            }
            else
            {
                return(false);
            }

            var atividadeTipo = _atividadeTipoServico.BuscarPorNome("Email");

            if (atividadeTipo == null)
            {
                return(false);
            }

            var listaStatusEmail = _statusAtividadeServico.ObterStatusAtividadeEmail();

            if (listaStatusEmail.Any())
            {
                statusAtividadeId =
                    listaStatusEmail.FirstOrDefault(c => c.StatusPadrao && c.FinalizaAtividade == false).Id;
            }
            else
            {
                return(false);
            }

            int?canalId = null;
            {
                var canal = _servicoCanal.ObterCanalEmail();
                if (canal.ValidationResult.IsValid)
                {
                    canalId = canal.Id;
                }
            }

            var atividade = new Atividade(usuarioSistema.Id, statusAtividadeId, atividadeTipo.Id, "Esqueci Minha Senha",
                                          null, null, null, null, null, null, null, null, null, null, null, canalId, null);

            _atividadeServico.Adicionar(atividade);

            _atividadeParteEnvolvidaServico.Adicionar(new AtividadeParteEnvolvida(atividade.Id, null, null, null,
                                                                                  usuarioSistema.Id, "R", usuarioSistema.EnderecoEmail, usuarioSistema.Nome));
            _atividadeParteEnvolvidaServico.Adicionar(new AtividadeParteEnvolvida(atividade.Id, null, null, null, userId,
                                                                                  "D", email, null));

            var _email = new Email(email, userId, atividade.Id, retorno.Html, "S");

            _emailServico.Adicionar(_email);

            var fila = _filaServico.ObterFilasPorNome("EMAIL_TROCA_SENHA").FirstOrDefault();

            if (fila != null)
            {
                _atividadeFilaServico.Adicionar(new AtividadeFila(atividade.Id, fila.Id));
            }
            else
            {
                return(false);
            }

            return(true);
        }
Esempio n. 6
0
        private static void Run(ConfiguracaoContasEmails configuracaoContaEmail, Container container,
                                IEmailServico emailServico, IConfiguracaoServico configuracaoServico, IAtividadeServico atividadeServico,
                                IFilaServico filaServico, List <EmailRemetenteRegra> emailsSpamFila)
        {
            var dirLog = ConfigurationManager.AppSettings["DiretorioLog"];

            try
            {
                var uIdsExistentes = (List <Email>)emailServico.ObterUids(configuracaoContaEmail.Id);
                var configuracao   = new Configuracao();
                configuracao.SetarUrlEmailAnexos();
                var pathPadrao = configuracaoServico.ObterPorSigla(configuracao.Sigla);

                //using (
                //    var ic = new ImapClient(configuracaoContaEmail.ServidorPop, configuracaoContaEmail.UsuarioEmail,
                //        configuracaoContaEmail.SenhaEmail, AuthMethods.Login,
                //        configuracaoContaEmail.PortaServidorEntrada, true, true))
                //{
                //    ic.SelectMailbox("inbox");
                //    var iDiasAMenos = -3;

                //    var messages =
                //        ic.SearchMessages(
                //            new SearchCondition()
                //            {
                //                Field = SearchCondition.Fields.SentSince,
                //                Value =
                //                    DateTime.Now.AddDays(iDiasAMenos)
                //                        .ToString("dd-MMM-yyyy", new System.Globalization.CultureInfo("en-US"))
                //            }, true,
                //            false);

                //    if (!messages.Any()) return;

                //    var uIdsExistentes = (List<Email>)emailServico.ObterUids(configuracaoContaEmail.Id);
                //    var configuracao = new Configuracao();
                //    configuracao.SetarUrlEmailAnexos();
                //    var pathPadrao = configuracaoServico.ObterPorSigla(configuracao.Sigla);

                //    if (configuracaoContaEmail.FilasId != null)
                //    {
                //        var fila = filaServico.ObterPorId((int)configuracaoContaEmail.FilasId);
                //        configuracaoContaEmail.Fila = fila;
                //    }

                //    //foreach (var message in messages)
                //    //{
                //    //    try
                //    //    {
                //    //        var emailExistente =
                //    //            uIdsExistentes.Find(
                //    //                p =>
                //    //                    p.MessageId == message.Value.MessageID.Replace("<", "").Replace(">", "") &&
                //    //                    p.CriadoEm == message.Value.Date);
                //    //        if (emailExistente != null) continue;

                //    //        var messageCompleta = new MailMessage();

                //    //        try
                //    //        {
                //    //            messageCompleta = ic.GetMessage(message.Value.Uid);
                //    //        }
                //    //        catch (Exception ex)
                //    //        {
                //    //            continue;
                //    //        }

                //    //        var processar = new ProcessamentoEmail(configuracaoContaEmail, messageCompleta, null,
                //    //            emailServico, pathPadrao.Valor, atividadeServico, emailServico, emailsSpamFila);
                //    //        var retorno = processar.ProcessarEmail();

                //    //        if (retorno.IsValid)
                //    //        {
                //    //            Log.ErrorLog("ServicoLeituraEmail", dirLog,
                //    //                "E-mail (" + messageCompleta.Subject + ") processado com sucesso");
                //    //        }
                //    //        else
                //    //        {
                //    //            Log.ErrorLog("ServicoLeituraEmail", dirLog,
                //    //                "E-mail (" + messageCompleta.Subject + ") não processado, erro: " +
                //    //                retorno.Erros.ToString());
                //    //        }
                //    //    }
                //    //    catch (Exception ex)
                //    //    {
                //    //        Log.ErrorLog("ServicoLeituraEmail", dirLog,
                //    //            "E-mail (" + message.Value + ") não processado, erro: " + ex.Message);
                //    //    }
                //    //}

                //}

                new LerViaMailKit(configuracaoContaEmail.ServidorPop, configuracaoContaEmail.PortaServidorEntrada, false, configuracaoContaEmail.UsuarioEmail,
                                  configuracaoContaEmail.SenhaEmail).LerEmail(configuracaoContaEmail, container, emailServico, configuracaoServico, atividadeServico, filaServico, emailsSpamFila, uIdsExistentes, pathPadrao.Valor);
            }
            catch (Exception ex)
            {
                Log.ErrorLog("ServicoLeituraEmail", dirLog, "Erro : " + ex.Message);
            }
        }