public long ObterAtividadeTipoPorNome(string nome) { var atividadeTipoEntity = _atividadeTipoServico.BuscarPorNome(nome); if (atividadeTipoEntity == null) { return(0); } var firstOrDefault = atividadeTipoEntity; return(firstOrDefault != null ? firstOrDefault.Id : 0); }
public ChatViewModel AdicionarAtendimento(string userId, string k) { var viewModel = new ChatViewModel(); var statusAtividade = _statusAtividadeServico.ObterStatusAtividadeChat(); var tipoAtividade = _atividadeTipoServico.BuscarPorNome("Chat"); var canal = _canalServico.ObterPorNome("chat"); var atividade = new Atividade(); if (!string.IsNullOrEmpty(k)) { atividade = _atividadeServico.ObterPorId(Convert.ToInt64(k)); } if (atividade.AtendimentoId != null) { var retornoAtendimento = _atendimentoServico.ObterPorId(atividade.AtendimentoId.Value); retornoAtendimento.CanalOrigemId = 4; _atendimentoServico.Atualizar(retornoAtendimento); if (statusAtividade.Any() && tipoAtividade != null) { if (atividade.Id > 0) { atividade.AtendimentoId = retornoAtendimento.Id; _atividadeServico.Atualizar(atividade); } IEnumerable <Cliente> listaCliente = new List <Cliente>(); if (atividade.PessoasJuridicasId.HasValue) { var pj = _pessoaJuridicaServico.ObterPorId(atividade.PessoasJuridicasId.Value); if (pj != null) { atividade.PessoasJuridicasId = pj.Id; _atividadeServico.Atualizar(atividade); listaCliente = _clienteServico.ObterSugestoes(pj.NomeFantasia, pj.Cnpj, null, null); viewModel.Popular(statusAtividade, retornoAtendimento.Protocolo, listaCliente, retornoAtendimento.Id, null, atividade.PessoasJuridicasId.Value, pj.NomeFantasia); } } if (atividade.PessoasFisicasId.HasValue) { var pf = _pessoaFisicaServico.ObterPorId(atividade.PessoasFisicasId.Value); if (pf != null) { atividade.PessoasFisicasId = pf.Id; _atividadeServico.Atualizar(atividade); listaCliente = _clienteServico.ObterSugestoes(pf.Nome, pf.Cpf, null, null); viewModel.Popular(statusAtividade, retornoAtendimento.Protocolo, listaCliente, retornoAtendimento.Id, atividade.PessoasFisicasId.Value, null, pf.Nome); } } else { viewModel.Popular(statusAtividade, retornoAtendimento.Protocolo, listaCliente, retornoAtendimento.Id, null, null, null); } } else { viewModel.ValidationResult.Add( new ValidationError("Não possui StatusAtividade Cadastrado.")); } } else if (statusAtividade.Any() && tipoAtividade != null) { var atendimento = new Atendimento(userId, _atendimentoServico.GerarNumeroProtocolo(DateTime.Now), null, null); var firstOrDefault = canal.FirstOrDefault(); if (firstOrDefault != null) { atendimento.CanalOrigemId = firstOrDefault.Id; } var atendimentoAux = _atendimentoServico.Adicionar(atendimento); if (!atendimentoAux.IsValid) { return(viewModel); } if (atividade.Id > 0) { atividade.AtendimentoId = atendimento.Id; _atividadeServico.Atualizar(atividade); } IEnumerable <Cliente> listaCliente = new List <Cliente>(); if (atividade.PessoasJuridicasId.HasValue) { var pj = _pessoaJuridicaServico.ObterPorId(atividade.PessoasJuridicasId.Value); if (pj != null) { atividade.PessoasJuridicasId = pj.Id; _atividadeServico.Atualizar(atividade); listaCliente = _clienteServico.ObterSugestoes(pj.NomeFantasia, pj.Cnpj, null, null); viewModel.Popular(statusAtividade, atendimento.Protocolo, listaCliente, atendimento.Id, null, atividade.PessoasJuridicasId.Value, pj.NomeFantasia); } } if (atividade.PessoasFisicasId.HasValue) { var pf = _pessoaFisicaServico.ObterPorId(atividade.PessoasFisicasId.Value); if (pf != null) { atividade.PessoasFisicasId = pf.Id; _atividadeServico.Atualizar(atividade); listaCliente = _clienteServico.ObterSugestoes(pf.Nome, pf.Cpf, null, null); viewModel.Popular(statusAtividade, atendimento.Protocolo, listaCliente, atendimento.Id, atividade.PessoasFisicasId.Value, null, pf.Nome); } } else { viewModel.Popular(statusAtividade, atendimento.Protocolo, listaCliente, atendimento.Id, null, null, null); } } else { viewModel.ValidationResult.Add( new ValidationError("Não possui StatusAtividade Cadastrado.")); } return(viewModel); }
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); }
public ValidationResult AdicionarSolicitacaoLigacaoCorretor(long ocorrenciaId, string criadoPorUserId, string descricao) { var retorno = new ValidationResult(); var statusAtividade = _servicoStatusAtividade.ObterStatusAtividadePadraoParaLigacao(); var valorEncontrado = statusAtividade != null; if (!valorEncontrado) { retorno.Add( new ValidationError( "Não foi possível cadastrar a solicitação de ligação: nenhum status atividade padrão para ligação retornado")); return(retorno); } valorEncontrado = false; var atividadeTipo = _servicoAtividadeTipo.BuscarPorNome("Ligação"); if (atividadeTipo != null) { valorEncontrado = true; } if (!valorEncontrado) { retorno.Add( new ValidationError( "Não foi possível cadastrar a solicitação de ligação: nenhuma atividade tipo para o nome Ligação foi retornado")); return(retorno); } var ocorrencia = _servicoOcorrencia.ObterPorId(ocorrenciaId); var atividade = new Atividade() { CriadoPorUserId = criadoPorUserId, CriadoEm = DateTime.Now, StatusAtividadeId = statusAtividade.Id, AtividadeTipoId = atividadeTipo.Id, Titulo = "Ligação Ativa", Descricao = descricao, OcorrenciaId = ocorrenciaId, PessoasFisicasId = ocorrencia.PessoaFisicaId, PessoasJuridicasId = ocorrencia.PessoaJuridicaId }; retorno = Adicionar(atividade); if (!retorno.IsValid) { return(retorno); } var configuracao = new Configuracao(); configuracao.SetarListaSolicitacaoLigacaoCorretor(); var nomeFilaSolicitacaoCorretor = _servicoConfiguracao.ObterPor(configuracao); valorEncontrado = false; if (nomeFilaSolicitacaoCorretor != null) { if (nomeFilaSolicitacaoCorretor.Any()) { valorEncontrado = true; } } if (!valorEncontrado) { retorno.Add( new ValidationError( "Não foi possível cadastrar a solicitação de ligação: nenhuma lista para tratativa de solicitações Corretor cadastrada.")); return(retorno); } retorno = _servicoAtividadeFila.AdicionarAtividadeFila(nomeFilaSolicitacaoCorretor.FirstOrDefault().Valor, atividade.Id); return(retorno); }