public async Task <byte> AtivaStatusPrestador(string email) { try { Prestador prestador = _prestadorApp.GetPorEmail(email); prestador.status = EnumClass.EnumStatus.Ativo; _prestadorApp.Update(prestador); var user = _userManager.FindByName(email); var code = _userManager.GeneratePasswordResetToken(user.Id); var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); await _userManager.SendEmailAsync(user.Id, "Esqueci minha senha", "Por favor altere sua senha clicando aqui: <a href='" + callbackUrl + "'></a>"); //retorna 1 para procedimento realizado com sucesso return(1); } catch (Exception e) { var logVm = new LogViewModel(); logVm.Mensagem = e.Message; logVm.Controller = "Prestador"; logVm.View = "Ativar status prestador"; var log = Mapper.Map <LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); //retorna 0 senao deu certo efetuar o update return(0); } }
public ActionResult ServicosCategorias(FormCollection collection, string cpf, string nome, string celular, string email, bool editarPerfil) { try { var sbEmail = new StringBuilder(); var servicos = new List <Servico>(); foreach (var col in collection) { int servId; Int32.TryParse(col.ToString(), out servId); var servico = _iServicoApp.GetById(servId); sbEmail.Append(servico.serv_Nome); sbEmail.Append(", "); servicos.Add(servico); } //inserir por email, assim nao tem como duplicar var prestador = _iPrestadorApp.GetPorEmail(email); _iServicoPrestadorApp.SalvarServicosPrestador(servicos, prestador); if (editarPerfil) { return(RedirectToAction("MeuPerfil", "Prestador", new { usuarioId = prestador.pres_Id })); } else { //Enviar email para admins de novo usuario var admins = _iPrestadorApp.GetAdministradores(); foreach (var admin in admins) { var corpoNovoUsuario = "Olá, " + _utils.PrimeiraLetraMaiuscula(admin.pres_Nome.Trim()) + ", " + _utils.DefineSaudacao() + "!" + " <br /><br /> Chegou mais um prestador para Agiliza." + " <br /><strong>Nome:</strong> " + prestador.pres_Nome + " <br /><strong>Email:</strong> " + prestador.pres_Email + " <br /><strong>Telefone:</strong> " + prestador.pres_Telefone_Residencial + " <br /><strong>Celular:</strong> " + prestador.pres_Telefone_Celular + " <br /><strong>Endereço:</strong> " + prestador.pres_Endereco + " <br /><strong>Serviços:</strong><br /> " + sbEmail.ToString().Substring(0, sbEmail.ToString().Length - 2) + "." + "<br /><br /> <a href=" + '\u0022' + "www.agilizaorcamentos.com.br/Prestador/Index" + '\u0022' + "><strong>Clique aqui</strong></a> para visualizar os prestadores cadastrados. " + "<br /><br /> Att, <br />" + " Equipe Agiliza."; var assuntoNotificacao = "Novo orçamento Cadastrado"; var _enviaEmail = new EnviaEmail(); var enviouNotificacao = _enviaEmail.EnviaEmailConfirmacao(admin.pres_Email, corpoNovoUsuario, assuntoNotificacao); if (!enviouNotificacao.Key) { var logVm = new LogViewModel(); logVm.Mensagem = enviouNotificacao.Value; logVm.Controller = "Enviar Email Notificação para admin de novo prestador"; logVm.View = "Enviar email notificação para admin de novo prestador."; var log = Mapper.Map <LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); } } return(RedirectToAction("PrestadorCadastroSucesso", "Prestador")); } } catch { return(RedirectToAction("ErroAoCadastrar")); } }