public async Task<ActionResult> ForgotPassword(ForgotPasswordViewModel model) { try { if (ModelState.IsValid) { var user = _userManager.FindByName(model.Email); if (user == null) { // Não revelar se o usuario nao existe ou nao esta confirmado return View("ForgotPasswordConfirmation"); } //var code = _userManager.GeneratePasswordResetToken(user.Id); var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.Id }, protocol: Request.Url.Scheme); //await _userManager.SendEmailAsync(user.Id, "Esqueci minha senha", "Por favor altere sua senha clicando aqui: <a href='" + callbackUrl + "'></a>"); //ViewBag.Link = callbackUrl; //ViewBag.Status = "DEMO: Caso o link não chegue: "; //ViewBag.LinkAcesso = callbackUrl; var saudacao = ""; var date = DateTime.Now; if (date.Hour > 12 && date.Hour < 18) { saudacao = "boa tarde"; } else if (date.Hour > 0 && date.Hour < 12) { saudacao = "bom dia"; } else { saudacao = "boa noite"; } var corpoNotificacao = "Olá, " + saudacao + "!" + " <br /><br /> Troque agora sua senha." + "<br /> <a href=" + '\u0022' + callbackUrl + '\u0022' + "><strong>Clique aqui</strong></a> para alterar sua senha. " + "<br /><br /> Att, <br />" + " Equipe Agiliza."; var assuntoNotificacao = "Solicitação de nova senha"; var _enviaEmail = new EnviaEmail(); var enviouNotificacao = _enviaEmail.EnviaEmailConfirmacao(model.Email, corpoNotificacao, assuntoNotificacao); if (!enviouNotificacao.Key) { var logVm = new LogViewModel(); logVm.Mensagem = enviouNotificacao.Value; logVm.Controller = "Enviar Email Nova Senha"; logVm.View = "Enviar email notificação de nova senha."; var log = Mapper.Map<LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); } return View("ForgotPasswordConfirmation"); } // No caso de falha, reexibir a view. return View(model); } catch (Exception e) { var logVm = new LogViewModel(); logVm.Mensagem = e.Message; logVm.Controller = "Account"; logVm.View = "ForgotPassword"; var log = Mapper.Map<LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); return RedirectToAction("ErroAoCadastrar"); } }
public ActionResult Cadastrar(OrcamentoViewModel orcamento, int servico_id) { try { if (ModelState.IsValid) { var orcamentoEntity = Mapper.Map<OrcamentoViewModel, Orcamento>(orcamento); var endereco = orcamento.orc_Endereco; var partes = endereco.Split(','); foreach (var parte in partes.Where(s => s.Contains("-"))) { var separar = parte.Split('-'); var ufs = " AC, AL, AP, AM, BA, CE, DF, ES, GO, MA, MT, MS, MG, PA,PB, PR, PE, PI, RJ, RN, RS, RO, RR, SC, SP, SE, TO"; if (ufs.Contains(separar[1])) { orcamentoEntity.orc_estado = (EnumClass.EnumEstados)Enum.Parse(typeof(EnumClass.EnumEstados), separar[1]); orcamentoEntity.orc_cidade = separar[0]; } else continue; } orcamentoEntity.serv_Id = servico_id; _orcamentoApp.Add(orcamentoEntity); var corpo = @"Olá " + orcamento.orc_nome_solicitante + " seu orçamento já está cadastrado em nosso sistema, fique atento que logo o prestador entrará em contato com você. Obrigado por nos escolher!" + "<br /><br /> Att, <br />"; var assunto = "Orçamento Enviado"; _enviaEmail = new EnviaEmail(); var enviou = _enviaEmail.EnviaEmailConfirmacao(orcamentoEntity.orc_email_solicitante, corpo, assunto); if (!enviou.Key) { var logVm = new LogViewModel(); logVm.Mensagem = enviou.Value; logVm.Controller = "Enviar Email"; logVm.View = "Cadastrar Orçamento"; var log = Mapper.Map<LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); } _enviaEmail.EnviaEmailConfirmacao(orcamentoEntity.orc_email_solicitante, corpo, assunto); var prestadores = _orcamentoApp.EnviaEmailParaPrestadoresQueOferecemOServico(orcamentoEntity.serv_Id); foreach (var prestadorID in prestadores) { var prestador = _prestadorApp.GetPorGuid(prestadorID); var envia = _orcamentoApp.EnviaEmailNotificacao(prestador, orcamentoEntity); if (envia.Key) { var corpoNotificacao = "Olá, " + _utils.PrimeiraLetraMaiuscula(prestador.pres_Nome.Trim()) + ", " + _utils.DefineSaudacao() + "!" + " <br /><br /> Chegou mais um orçamento para você." + " <br /> Este orçamento está à uma distância de " + envia.Value.Trim() + ". <br />" + "<br /> <a href=" + '\u0022' + "www.agilizaorcamentos.com.br/Orcamento/BuscaTrabalhos?usuarioId=" + prestador.pres_Id + '\u0022' + "><strong>Clique aqui</strong></a> para visualizar os orçamentos disponíveis para você. " + "<br /><br /> Att, <br />" + "Equipe Agiliza"; var assuntoNotificacao = "Novo orçamento encontrado"; _enviaEmail = new EnviaEmail(); var enviouNotificacao = _enviaEmail.EnviaEmailConfirmacao(prestador.pres_Email, corpoNotificacao, assuntoNotificacao); if (!enviou.Key) { var logVm = new LogViewModel(); logVm.Mensagem = enviou.Value; logVm.Controller = "Enviar Email Notificação"; logVm.View = "Enviar email notificação de novo orçamento."; var log = Mapper.Map<LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); } } } //Enviar email para administradores de novo orçamento var servico = _servicoApp.GetById(servico_id); var admins = _prestadorApp.GetAdministradores(); foreach (var admin in admins) { var corpoNovoUsuario = "Olá, " + _utils.PrimeiraLetraMaiuscula(admin.pres_Nome.Trim()) + ", " + _utils.DefineSaudacao() + "!" + " <br /><br /> Chegou mais um novo orçamento para Agiliza." + " <br /><strong>Solicitante:</strong> " + orcamento.orc_nome_solicitante + " <br /><strong>Email:</strong> " + orcamento.orc_email_solicitante + " <br /><strong>Telefone:</strong> " + orcamento.orc_telefone_solicitante + " <br /><strong>Tipo de serviço:</strong> " + servico.serv_Nome + " <br /><strong>Descrição:</strong> " + orcamento.orc_descricao + " <br /><strong>Local para realizar o trabalho:</strong> " + orcamento.orc_Endereco + " <br /><strong>Prazo previsto:</strong> " + orcamento.orc_prazo + " <br /><strong>Descrição:</strong> " + orcamento.orc_descricao + "<br /> <a href=" + '\u0022' + "www.agilizaorcamentos.com.br/Orcamento/ListarTodos" + '\u0022' + "><strong>Clique aqui</strong></a> para visualizar os orçamentos. " + "<br /><br /> Att, <br />" + "Equipe Agiliza"; var assuntoNotificacao = "Novo orçamento Cadastrado"; _enviaEmail = new EnviaEmail(); var enviouNotificacao = _enviaEmail.EnviaEmailConfirmacao(admin.pres_Email, corpoNovoUsuario, assuntoNotificacao); if (!enviou.Key) { var logVm = new LogViewModel(); logVm.Mensagem = enviou.Value; logVm.Controller = "Enviar Email Notificação para admin de novo orçamento"; logVm.View = "Enviar email notificação para admin de novo orçamento."; var log = Mapper.Map<LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); } } return RedirectToAction("OrcamentoEnviadoSucesso"); } else { ViewBag.ListaCat = new SelectList(_categoriaApp.GetAll(), "cat_Id", "cat_Nome"); return View(orcamento); } } catch (Exception e) { var logVm = new LogViewModel(); logVm.Mensagem = e.Message; logVm.Controller = "Orçamento"; logVm.View = "Cadastrar Post"; var log = Mapper.Map<LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); return RedirectToAction("ErroAoCadastrar"); } }
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"); } }
private void EnviaEmailConfirmacao (ApplicationUser user) { var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id }, protocol: Request.Url.Scheme); _enviarEmail = new EnviaEmail(); var corpo = "Por favor confirme sua conta clicando neste link: <a href=" + '\u0022' + callbackUrl + '\u0022' + ">Clique aqui</a>"; var assunto = "Confirme seu email"; var send = _enviarEmail.EnviaEmailConfirmacao(user.Email, corpo, assunto); if (!send.Key) { var logVm = new LogViewModel(); logVm.Mensagem = send.Value; logVm.Controller = "Prestador"; logVm.View = "EnviaEmailConfirmacao"; var log = Mapper.Map<LogViewModel, Log>(logVm); _logAppService.SaveOrUpdate(log); } }