public ContatoAppServico(IAtividadeServico servicoAtividade, IStatusAtividadeServico servicoStatusAtividade,
                          IAtividadeTipoServico servicoAtividadeTipo)
 {
     _servicoAtividade       = servicoAtividade;
     _servicoStatusAtividade = servicoStatusAtividade;
     _servicoAtividadeTipo   = servicoAtividadeTipo;
 }
 public StatusAtividadeAppServico(IStatusAtividadeServico statusAtividadeServico,
                                  IAtividadeServico atividadeServico, IAtendimentoServico atendimentoServico)
 {
     _statusAtividadeServico = statusAtividadeServico;
     _atividadeServico       = atividadeServico;
     _atendimentoServico     = atendimentoServico;
 }
示例#3
0
 public EmailAppServico(IEmailServico emailServico, IEmailModeloServico emailModeloServico,
                        IAtividadeServico atividadeServico,
                        IAtividadeTipoServico atividadeTipoServico, IStatusAtividadeServico statusAtividadeServico,
                        IAtividadeParteEnvolvidaServico atividadeParteEnvolvidaServico,
                        IUsuarioServico usuarioServico, IConfiguracaoServico configuracaoServico, IFilaServico filaServico,
                        IAtividadeFilaServico atividadeFilaServico, IEmailAnexoServico emailAnexoServico,
                        IConfiguracaoContasEmailsServico configuracaoContaEmailServico, IAtendimentoServico servicoAtendimento,
                        ICanalServico servicoCanal, IAtividadeServico servicoAtividade)
 {
     _emailServico                   = emailServico;
     _emailModeloServico             = emailModeloServico;
     _atividadeServico               = atividadeServico;
     _atividadeTipoServico           = atividadeTipoServico;
     _statusAtividadeServico         = statusAtividadeServico;
     _atividadeParteEnvolvidaServico = atividadeParteEnvolvidaServico;
     _usuarioServico                 = usuarioServico;
     _configuracaoServico            = configuracaoServico;
     _filaServico                   = filaServico;
     _atividadeFilaServico          = atividadeFilaServico;
     _emailAnexoServico             = emailAnexoServico;
     _configuracaoContaEmailServico = configuracaoContaEmailServico;
     _servicoAtendimento            = servicoAtendimento;
     _servicoCanal                  = servicoCanal;
     _servicoAtividade              = servicoAtividade;
     _anexos = new List <EmailAnexo>();
 }
示例#4
0
 public AtividadeAppServico(IAtividadeRepositorio atividadeRepositorio, IAtendimentoServico atendimentoServico, IAtividadeServico atividadeServico,
                            ILigacaoServico ligacaoServico, IStatusAtividadeServico statusAtividadeServico,
                            IAtividadeFilaServico atividadeFilaServico, IFilaServico filaServico, IMidiaServico midiaServico,
                            ITelefoneServico telefoneServico, ITarefaServico tarefaServico, IOcorrenciaServico ocorrenciaServico,
                            IOcorrenciaTipoServico ocorrenciaTipoServico, IUsuarioServico usuarioServico, IEmailServico emailServico,
                            IAtividadeParteEnvolvidaServico atividadeParteEnvolvidaServico, ICanalServico canalServico,
                            IChatServico chatServico, IAtividadeTipoServico atividadeTipoServico,
                            IAtendimentoAtividadeServico atendimentoAtividadeServico, IAtividadeApoioServico atividadeApoioServico, IAtividadeParteEnvolvidaServico servicoAtividadeParteEnvolvidaServico)
 {
     _atividadeRepositorio                  = atividadeRepositorio;
     _atendimentoServico                    = atendimentoServico;
     _atividadeServico                      = atividadeServico;
     _ligacaoServico                        = ligacaoServico;
     _statusAtividadeServico                = statusAtividadeServico;
     _atividadeFilaServico                  = atividadeFilaServico;
     _filaServico                           = filaServico;
     _midiaServico                          = midiaServico;
     _telefoneServico                       = telefoneServico;
     _tarefaServico                         = tarefaServico;
     _ocorrenciaServico                     = ocorrenciaServico;
     _ocorrenciaTipoServico                 = ocorrenciaTipoServico;
     _usuarioServico                        = usuarioServico;
     _emailServico                          = emailServico;
     _atividadeParteEnvolvidaServico        = atividadeParteEnvolvidaServico;
     _canalServico                          = canalServico;
     _chatServico                           = chatServico;
     _atividadeTipoServico                  = atividadeTipoServico;
     _atendimentoAtividadeServico           = atendimentoAtividadeServico;
     _atividadeApoioServico                 = atividadeApoioServico;
     _servicoAtividadeParteEnvolvidaServico = servicoAtividadeParteEnvolvidaServico;
 }
示例#5
0
 public TarefaServico(ITarefaRepositorio repositorio, IUsuarioServico usuarioServico,
                      IAtividadeServico atividadeServico, IAtividadeFilaServico atividadeFilaServico)
 {
     _repositorio          = repositorio;
     _usuarioServico       = usuarioServico;
     _atividadeServico     = atividadeServico;
     _atividadeFilaServico = atividadeFilaServico;
 }
示例#6
0
 public LigacaoServico(ILigacaoRepositorio repositorio, IClassificacaoServico classificacaoServico,
                       IAtendimentoServico atendimentoServico, IAtividadeServico atividadeServico)
     : base(repositorio)
 {
     _repositorio          = repositorio;
     _classificacaoServico = classificacaoServico;
     _atendimentoServico   = atendimentoServico;
     _atividadeServico     = atividadeServico;
 }
 public LigacaoServico(ILigacaoRepositorio repositorio, IAtividadeServico servicoAtividade,
                       IAtendimentoServico servicoAtendimento, IUsuarioServico usuarioServico, ICanalServico canalServico,
                       IStatusAtividadeServico atividadeServico)
     : base(repositorio)
 {
     _repositorio        = repositorio;
     _servicoAtividade   = servicoAtividade;
     _servicoAtendimento = servicoAtendimento;
     _usuarioServico     = usuarioServico;
     _canalServico       = canalServico;
     _atividadeServico   = atividadeServico;
 }
 public AnotacaoAppServico(IOcorrenciaServico servicoOcorrencia,
                           IAnotacaoServico servicoAnotacao, IAnotacoesApoioServico servicoAnotacoesApoio,
                           IAtividadeServico servicoAtividade, IAtendimentoOcorrenciaServico servicoAtendimentoOcorrencia,
                           IAnotacaoTipoServico anotacaoTipoServico)
 {
     _servicoOcorrencia            = servicoOcorrencia;
     _servicoAnotacao              = servicoAnotacao;
     _servicoAnotacoesApoio        = servicoAnotacoesApoio;
     _servicoAtividade             = servicoAtividade;
     _servicoAtendimentoOcorrencia = servicoAtendimentoOcorrencia;
     _anotacaoTipoServico          = anotacaoTipoServico;
 }
示例#9
0
 public FilaAppService(IFilaServico filaServico, IConfiguracaoContasEmailsServico configuracaoContasEmailServico,
                       IAspNetRolesFilaServico aspNetRolesFilaServico, IUsuarioServico usuarioServico,
                       IAtividadeServico atividadeServico, IAtividadeFilaServico atividadeFilaServico, IFilaRepositorioDal filaReposiotorioServicoDal)
 {
     _filaServico = filaServico;
     _configuracaoContasEmailServico = configuracaoContasEmailServico;
     _aspNetRolesFilaServico         = aspNetRolesFilaServico;
     _usuarioServico             = usuarioServico;
     _atividadeServico           = atividadeServico;
     _atividadeFilaServico       = atividadeFilaServico;
     _filaReposiotorioServicoDal = filaReposiotorioServicoDal;
 }
示例#10
0
 public ChatServico(IChatRepositorio repositorio, IChatSolicitacaoServico chatSolicitacao,
                    IUsuarioServico usuarioServico, ICanalServico canalServico, IAtendimentoServico servicoAtendimento,
                    IAtividadeServico servicoAtividade, IConfiguracaoServico configuracaoServico)
     : base(repositorio)
 {
     _repositorio         = repositorio;
     _chatSolicitacao     = chatSolicitacao;
     _usuarioServico      = usuarioServico;
     _canalServico        = canalServico;
     _servicoAtendimento  = servicoAtendimento;
     _servicoAtividade    = servicoAtividade;
     _configuracaoServico = configuracaoServico;
 }
 public AtendimentoAppServico(IAtendimentoServico atendimentoServico, IAtividadeServico atividadeServico,
                              IMidiaServico midiaServico, IStatusAtividadeServico statusAtividadeServico, IEmailServico emailServico,
                              IConfiguracaoServico configuracaoServico, IConfiguracaoContasEmailsServico configuracaoContaEmailServico,
                              IEmailAnexoServico emailAnexoServico)
 {
     _atendimento                   = atendimentoServico;
     _atividadeServico              = atividadeServico;
     _midiaServico                  = midiaServico;
     _statusAtividadeServico        = statusAtividadeServico;
     _emailServico                  = emailServico;
     _configuracaoServico           = configuracaoServico;
     _configuracaoContaEmailServico = configuracaoContaEmailServico;
     _anexos            = new List <EmailAnexo>();
     _emailAnexoServico = emailAnexoServico;
 }
 public ReceptivoAppServico(IStatusAtividadeServico servicoStatusAtividade, IAtividadeServico servicoAtividade,
                            ILigacaoServico servicoLigacao, IAtendimentoServico servicoAtendimento, IClienteServico servicoCliente,
                            IPessoaFisicaServico servicoPessoaFisica, IPessoaJuridicaServico servicoPessoaJuridica,
                            IMidiaServico servicoMidia, IAtividadeParteEnvolvidaServico servicoAtividadeParteEnvolvida,
                            ICanalServico canalServico)
 {
     _servicoAtividade               = servicoAtividade;
     _servicoStatusAtividade         = servicoStatusAtividade;
     _servicoLigacao                 = servicoLigacao;
     _servicoAtendimento             = servicoAtendimento;
     _servicoPessoaFisica            = servicoPessoaFisica;
     _servicoPessoaJuridica          = servicoPessoaJuridica;
     _servicoMidia                   = servicoMidia;
     _servicoAtividadeParteEnvolvida = servicoAtividadeParteEnvolvida;
     _canalServico                   = canalServico;
 }
示例#13
0
 public UsuarioAppServico(IUsuarioServico usuarioService, IUnitOfWorkEntity uow,
                          ApplicationUserManager userManager, ITokenAcessoRapidoServico tokenAcessoRapidoServico,
                          IDepartamentoServico departamentoServico, IEquipeServico equipeServico,
                          IOcorrenciaServico ocorrenciaServico,
                          IAtividadeServico atividadeServico, IUsuarioRepositorioDal usuarioRepositorio)
     : base(uow)
 {
     _usuarioServico           = usuarioService;
     _userManager              = userManager;
     _tokenAcessoRapidoServico = tokenAcessoRapidoServico;
     _departamentoServico      = departamentoServico;
     _equipeServico            = equipeServico;
     _ocorrenciaServico        = ocorrenciaServico;
     _atividadeServico         = atividadeServico;
     _usuarioRepositorio       = usuarioRepositorio;
 }
示例#14
0
 public TarefaAppServico
 (
     IAnotacaoServico anotacoesServico
     , IAnotacoesApoioServico anotacaoApoioServico
     , IStatusAtividadeServico statusAtividadeServico
     , ITarefaAtividadeOcorrenciaServico tarefaAtividadeOcorrenciaServico
     , ITarefaServico tarefaServico
     , IAtividadeServico atividadeServico
     , IFilaServico filaServico
 )
 {
     _anotacaoServico                  = anotacoesServico;
     _anotacaoApoioServico             = anotacaoApoioServico;
     _statusAtividadeServico           = statusAtividadeServico;
     _tarefaAtividadeOcorrenciaServico = tarefaAtividadeOcorrenciaServico;
     _tarefaServico    = tarefaServico;
     _atividadeServico = atividadeServico;
     _filaServico      = filaServico;
 }
示例#15
0
 public ClienteAppServico(IClienteServico servicoCliente, IPessoaFisicaServico servicoPessoaFisica,
                          IPessoaJuridicaServico servicoPessoaJuridica, ITelefoneServico servicoTelefone, ICidadeServico servicoCidade,
                          IAtividadeServico servicoAtividade, IAtendimentoServico servicoAtendimento,
                          IAtividadeParteEnvolvidaServico servicoAtividadeParteEnvolvidaServico,
                          IConfiguracaoServico configuracaoServico, IIntegracaoAppServico integracaoAppServico,
                          IIntegracaoControleServico integracaoControleServico, ILigacaoServico servicoLigacao)
 {
     _servicoCliente        = servicoCliente;
     _servicoPessoaFisica   = servicoPessoaFisica;
     _servicoPessoaJuridica = servicoPessoaJuridica;
     _servicoTelefone       = servicoTelefone;
     _servicoCidade         = servicoCidade;
     _servicoAtividade      = servicoAtividade;
     _servicoAtendimento    = servicoAtendimento;
     _servicoAtividadeParteEnvolvidaServico = servicoAtividadeParteEnvolvidaServico;
     _configuracaoServico       = configuracaoServico;
     _integracaoAppServico      = integracaoAppServico;
     _integracaoControleServico = integracaoControleServico;
     _servicoLigacao            = servicoLigacao;
 }
示例#16
0
 public EmailServico(IEmailRepositorioDal repositorioDal, IEmailRepositorio repositorio, IAtividadeServico atividadeServico,
                     IStatusAtividadeServico statusAtividadeServico, IEmailLogServico emailLogServico,
                     IEmailAnexoServico emailAnexoServico, IAtividadeFilaServico atividadeFilaServico,
                     IAtividadeParteEnvolvidaServico atividadeParteEnvolvidaServico, IAtendimentoServico atendimentoServico,
                     IUsuarioServico usuarioServico, IEmailModeloServico emailModelServico,
                     IConfiguracaoContasEmailsServico configuracaoContaEmailServico, IFilaServico filaServico)
     : base(repositorio)
 {
     _repositorio                    = repositorio;
     _atividadeServico               = atividadeServico;
     _statusAtividadeServico         = statusAtividadeServico;
     _emailLogServico                = emailLogServico;
     _emailAnexoServico              = emailAnexoServico;
     _atividadeFilaServico           = atividadeFilaServico;
     _atividadeParteEnvolvidaServico = atividadeParteEnvolvidaServico;
     _atendimentoServico             = atendimentoServico;
     _usuarioServico                 = usuarioServico;
     _emailModelServico              = emailModelServico;
     _configuracaoContaEmailServico  = configuracaoContaEmailServico;
     _filaServico                    = filaServico;
     //_repositorioDal = repositorioDal;
 }
示例#17
0
 public ChatAppServico(IAtividadeServico atividadeServico, IAtendimentoServico atendimentoServico,
                       IClienteServico clienteServico, IPessoaFisicaServico pessoaFisicaServico,
                       IPessoaJuridicaServico pessoaJuridicaServico, IChatMensagemServico chatMensagensServico,
                       IStatusAtividadeServico statusAtividadeServico, IAtividadeTipoServico atividadeTipoServico,
                       IChatUraServico chatUraServico, ICanalServico canalServico, IMidiaServico midiaServico,
                       IChatServico chatServico, IEntidadeServico entidadeServico, IChatSolicitacaoServico chatSolicitacaoServico)
 {
     _atividadeServico       = atividadeServico;
     _atendimentoServico     = atendimentoServico;
     _clienteServico         = clienteServico;
     _pessoaFisicaServico    = pessoaFisicaServico;
     _pessoaJuridicaServico  = pessoaJuridicaServico;
     _chatMensagensServico   = chatMensagensServico;
     _statusAtividadeServico = statusAtividadeServico;
     _atividadeTipoServico   = atividadeTipoServico;
     _chatUraServico         = chatUraServico;
     _canalServico           = canalServico;
     _midiaServico           = midiaServico;
     _chatServico            = chatServico;
     _entidadeServico        = entidadeServico;
     _chatSolicitacaoServico = chatSolicitacaoServico;
 }
示例#18
0
 public ProcessamentoEmail2(ConfiguracaoContasEmails configuracaoContaEmail, MimeMessage mailMessage,
                            string userId, IEmailServico emailServico, string diretorioArquivos, IAtividadeServico servicoAtividade,
                            IEmailServico servicoEmail, List <EmailRemetenteRegra> emailsSpamFila)
 {
     _configuracaoContaEmail = configuracaoContaEmail;
     _mensagem           = mailMessage;
     _identificadorAnexo = Guid.NewGuid();
     BootStrapper.ContainerServicoLeituraEmail();
     _emailServico      = emailServico;
     _anexos            = new List <EmailAnexo>();
     _diretorioArquivos = diretorioArquivos;
     _diretorioArquivos = @"C:\Users\ptd000068\Desktop\AnexosFTP";
     _servicoEmail      = servicoEmail;
     _envolvidos        = new List <AtividadeParteEnvolvida>();
     _emailsSpamFila    = emailsSpamFila;
 }
示例#19
0
 public StatusEntidadeAppServico(IStatusEntidadeServico statusEntidadeServico, IOcorrenciaServico ocorrenciaServico, IAtividadeServico atividadeServico)
 {
     _statusEntidadeServico = statusEntidadeServico;
     _ocorrenciaServico     = ocorrenciaServico;
     _atividadeServico      = atividadeServico;
 }
        public List <EmailMessage> LerEmail(ConfiguracaoContasEmails configuracaoContaEmail, Container container,
                                            IEmailServico emailServico, IConfiguracaoServico configuracaoServico, IAtividadeServico atividadeServico,
                                            IFilaServico filaServico, List <EmailRemetenteRegra> emailsSpamFila, List <Email> uIdsExistentes,
                                            string diretorioArquivos)
        {
            var dirLog = ConfigurationManager.AppSettings["DiretorioLog"];

            using (var emailClient = new Pop3Client())
            {
                emailClient.Connect(_hostname, _port, _useSsl);
                emailClient.AuthenticationMechanisms.Remove("XOAUTH2");
                emailClient.Authenticate(_username, _password);
                var emails       = new List <EmailMessage>();
                var messageCount = emailClient.GetMessageCount();
                var contador     = 0;

                for (int i = messageCount; i > 0; i--)
                {
                    if (contador > 150)
                    {
                        break;
                    }

                    contador++;
                    var message = emailClient.GetMessage(i - 1);

                    if (message.Date.DateTime < DateTime.Now.AddDays(-10))
                    {
                        continue;
                    }

                    if (message.Date.DateTime > DateTime.Now.AddHours(-3))
                    {
                        continue;
                    }

                    //var emailExistente =
                    //            uIdsExistentes.Find(
                    //                p =>
                    //                    p.MessageId == message.MessageId.Replace("<", "").Replace(">", ""));
                    //                    // &&  p.CriadoEm == message.Date.DateTime);

                    //if (emailExistente != null) continue;


                    if (message.MessageId.Replace("<", "").Replace(">", "") ==
                        "[email protected]")
                    {
                        var emailRetornado = uIdsExistentes.FirstOrDefault(x =>
                                                                           x.MessageId.Replace("<", "").Replace(">", "") ==
                                                                           message.MessageId.Replace("<", "").Replace(">", ""));

                        try
                        {
                            var processar = new ProcessamentoEmail2(configuracaoContaEmail, message, null,
                                                                    emailServico, diretorioArquivos, atividadeServico, emailServico, emailsSpamFila);
                            var retorno = processar.ProcessarEmail();
                        }
                        catch (Exception ex)
                        {
                            continue;
                        }
                    }



                    //var emailMessage = new EmailMessage
                    //{
                    //    Content = !string.IsNullOrEmpty(message.HtmlBody) ? message.HtmlBody : message.TextBody,
                    //    Subject = message.Subject
                    //};
                    //emailMessage.ToAddresses.AddRange(message.To.Select(x => (MailboxAddress)x)
                    //    .Select(x => new EmailAddress { Address = x.Address, Name = x.Name }));
                    //emailMessage.FromAddresses.AddRange(message.From.Select(x => (MailboxAddress)x)
                    //    .Select(x => new EmailAddress { Address = x.Address, Name = x.Name }));
                    //emails.Add(emailMessage);
                }

                return(emails);
            }
        }
示例#21
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);
            }
        }