public AtividadeFilaViewModel AdicionarAtividadeFila(AtividadeFilaViewModel model)
        {
            var atividadeFila = new AtividadeFila(model.AtividadeId, model.FilaId);
            var resultado     = _atividadeFilaServico.Adicionar(atividadeFila);

            return(new AtividadeFilaViewModel(atividadeFila.Id, atividadeFila.AtividadeId, atividadeFila.FilaId, atividadeFila.EntrouNaFilaEm, resultado));
        }
Beispiel #2
0
        public AtividadeViewModel SalvarAtendimentoLigacao(AtividadeViewModel view)
        {
            var entidade = _atividadeServico.ObterPorId(view.id);

            entidade.PrevisaoDeExecucao = view.previsaoDeExecucao;
            entidade.Descricao          = view.descricao;
            entidade.Titulo             = view.titulo ?? "";
            _atividadeServico.Atualizar(entidade);
            entidade = _atividadeServico.ObterPorId(view.id);

            if (view.filaID != null)
            {
                _atividadeServico.AtualizarResponsavel(entidade.Id, null, null);
                var listaAtividadeFila =
                    _atividadeFilaServico.ObterPorAtividadeId(entidade.Id).Where(c => c.SaiuDaFilaEm == null);

                foreach (var item in listaAtividadeFila)
                {
                    _atividadeFilaServico.AtualizaSaiuDaFilaEm(item.Id);
                }
                _atividadeFilaServico.Adicionar(new AtividadeFila(entidade.Id, Convert.ToInt32(view.filaID)));
            }


            var ligacao = _ligacaoServico.ObterPorId(view.LigacaoViewModel.id);

            ligacao.PessoaFisicaId   = view.LigacaoViewModel.pessoaFisicaID;
            ligacao.PessoaJuridicaId = view.LigacaoViewModel.pessoaJuridicaID == 0
                ? null
                : view.LigacaoViewModel.pessoaJuridicaID;
            ligacao.TelefoneId = view.LigacaoViewModel.telefoneID;
            ligacao.Sentido    = view.LigacaoViewModel.sentido;

            var retornoLigacao = _ligacaoServico.Atualizar(ligacao);

            return(new AtividadeViewModel(entidade.Id, entidade.AtividadeTipoId, view.LigacaoViewModel.pessoaFisicaID,
                                          view.LigacaoViewModel.pessoaJuridicaID));
        }
Beispiel #3
0
        public ValidationResult Adicionar(Tarefa entidade, int?filaId)
        {
            var Retorno = new ValidationResult();

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

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

            var Id = _repositorio.Adicionar(entidade);

            if (Id != null && filaId.HasValue)
            {
                Retorno = _atividadeFilaServico.Adicionar(new AtividadeFila(entidade.AtividadeId, (int)filaId, null));
            }

            return(Retorno);
        }
Beispiel #4
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);
        }
Beispiel #5
0
        public ValidationResult Adicionar(Email entidade, int?filaId)
        {
            var retorno = new ValidationResult();

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

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

            var emailId = _repositorio.Adicionar(entidade);

            if (emailId != null)
            {
                if (entidade.Anexos.Any())
                {
                    foreach (var anexo in entidade.Anexos)
                    {
                        anexo.SetarEmailId(emailId);
                        _emailAnexoServico.Adicionar(anexo);

                        ////Tratando os anexos do corpo do E-mail
                        if (!string.IsNullOrEmpty(anexo.IdProvisorio))
                        {
                            var oldString = @"/Imagem/CorpoEmail/" + anexo.IdProvisorio;
                            entidade.SetarCorpoEmail(entidade.CorpoDoEmail.Replace(oldString,
                                                                                   @"/Imagem/CorpoEmail/" + anexo.Id));
                            entidade.SetarCorpoEmail(
                                entidade.CorpoDoEmail.Replace(oldString.Replace("<", "").Replace(">", ""),
                                                              @"/Imagem/CorpoEmail/" + anexo.Id));
                        }

                        if (!string.IsNullOrEmpty(anexo.ContentId))
                        {
                            var oldStringCompleto = "cid:" + anexo.Nome + anexo.ContentId;
                            var oldString         = "cid:" + anexo.ContentId;
                            entidade.SetarCorpoEmail(entidade.CorpoDoEmail.Replace(oldString,
                                                                                   @"/Imagem/CorpoEmail/" + anexo.Id));
                            entidade.SetarCorpoEmail(
                                entidade.CorpoDoEmail.Replace(oldString.Replace("<", "").Replace(">", ""),
                                                              @"/Imagem/CorpoEmail/" + anexo.Id));
                            entidade.SetarCorpoEmail(entidade.CorpoDoEmail.Replace(oldStringCompleto,
                                                                                   @"/Imagem/CorpoEmail/" + anexo.Id));
                            entidade.SetarCorpoEmail(
                                entidade.CorpoDoEmail.Replace(oldStringCompleto.Replace("<", "").Replace(">", ""),
                                                              @"/Imagem/CorpoEmail/" + anexo.Id));
                        }
                    }
                    _repositorio.Atualizar(entidade);
                }

                if (filaId.HasValue && filaId != 0)
                {
                    retorno =
                        _atividadeFilaServico.Adicionar(new AtividadeFila(entidade.Atividade.Id, (int)filaId,
                                                                          string.IsNullOrEmpty(entidade.Atividade.ResponsavelPorUserId)
                                ? (DateTime?)null
                                : DateTime.Now));
                }
                entidade.SetarIdEmailReferenciaHtml();
                retorno = Atualizar(entidade);
            }
            return(retorno);
        }