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); }