public async Task <bool> SendForgotPasswordEmail(Bombeiro user, string activationUrl) { if (user == null) { return(false); } if (string.IsNullOrEmpty(activationUrl)) { return(false); } //var client = new SendGridClient(Configuration.GetSection("AppSettings")["SendGridApiKey"]); //var message = new SendGridMessage(); //message.AddTo(new EmailAddress(user.Email, $"{user.FirstName + " " + user.LastName}")); //message.SetFrom(new EmailAddress(Configuration.GetSection("AppSettings")["SendGrid.From"], "Hannibalvakanties")); //message.SetTemplateId(Configuration.GetSection("AppSettings")["SendGrid.TemplateId.Reset.Password"]); //var templateData = new ForgotEmailTemplateData() //{ // Subject = "Wachtwoord herstellen - Hannibalportaal", // FirstName = user.FirstName, // PasswordResetLink = activationUrl, // PasswordResetLinkUrl = activationUrl //}; //message.SetTemplateData(templateData); //var response = await client.SendEmailAsync(message); //return (response.StatusCode == HttpStatusCode.Accepted || response.StatusCode == HttpStatusCode.OK); return(true); }
public Bombeiro Update(Bombeiro bombeiro) { if (bombeiro == null) { return(null); } using (var context = new MapaDaForcaDbContext(Options)) { context.Bombeiros.Add(bombeiro); context.Entry(bombeiro).State = EntityState.Modified; return(context.SaveChanges() > 0 ? bombeiro : null); } }
public Bombeiro Save(Bombeiro save) { Bombeiro saved = null; if (_repository.IsExisting(new Guid(save.Id))) { saved = _repository.Update(save); } else { saved = _repository.Create(save); } return(saved); }
public Bombeiro Create(Bombeiro bombeiro) { if (bombeiro == null) { return(null); } using (var context = new MapaDaForcaDbContext(Options)) { bombeiro.Id = Guid.NewGuid().ToString(); context.Bombeiros.Add(bombeiro); context.Entry(bombeiro).State = EntityState.Added; return(context.SaveChanges() > 0 ? bombeiro : null); } }
private async Task LoadSharedKeyAndQrCodeUriAsync(Bombeiro user) { // Load the authenticator key & QR code URI to display on the form var unformattedKey = await _userManager.GetAuthenticatorKeyAsync(user); if (string.IsNullOrEmpty(unformattedKey)) { await _userManager.ResetAuthenticatorKeyAsync(user); unformattedKey = await _userManager.GetAuthenticatorKeyAsync(user); } SharedKey = FormatKey(unformattedKey); var email = await _userManager.GetEmailAsync(user); AuthenticatorUri = GenerateQrCodeUri(email, unformattedKey); }
public async Task <IActionResult> OnPostConfirmationAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); // Get the information about the user from the external login provider var info = await _signInManager.GetExternalLoginInfoAsync(); if (info == null) { ErrorMessage = "Error loading external login information during confirmation."; return(RedirectToPage("./Login", new { ReturnUrl = returnUrl })); } if (ModelState.IsValid) { var user = new Bombeiro { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user); if (result.Succeeded) { result = await _userManager.AddLoginAsync(user, info); if (result.Succeeded) { await _signInManager.SignInAsync(user, isPersistent : false); _logger.LogInformation("User created an account using {Name} provider.", info.LoginProvider); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } LoginProvider = info.LoginProvider; ReturnUrl = returnUrl; return(Page()); }
//public JsonResult public async Task <IActionResult> Edit(Bombeiro bombeiro) { try { var userDetail = _userManager.GetUserAsync(User).Result; userDetail.Nome = bombeiro.Nome; userDetail.NumeroMecanografico = bombeiro.NumeroMecanografico; userDetail.PostoId = bombeiro.PostoId; userDetail.QuartelId = bombeiro.QuartelId; userDetail.DtInicio = bombeiro.DtInicio; userDetail.Turno = bombeiro.Turno; await _userManager.UpdateAsync(userDetail); return(Json(new { success = true, message = "Bombeiro guardado com sucesso!" })); } catch (Exception) { return(Json(new { success = false, message = "Erro ao guardar este Bombeiro" })); } }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); if (ModelState.IsValid) { var user = new Bombeiro { UserName = Input.Email, Email = Input.Email, Nome = Input.Bombeiro.Nome, NumeroMecanografico = Input.Bombeiro.NumeroMecanografico, DtInicio = Input.Bombeiro.DtInicio, PostoId = Input.Bombeiro.PostoId, QuartelId = Input.Bombeiro.QuartelId, Turno = (Turno.T1), EmailConfirmed = true }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var x = await _roleManager.RoleExistsAsync(PerfilAcesso.Bombeiro); if (x) { await _userManager.AddToRoleAsync(user, PerfilAcesso.Bombeiro); } var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { userId = user.Id, code = code }, protocol: Request.Scheme); //await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", // $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); //await _signInManager.SignInAsync(user, isPersistent: false); //return LocalRedirect(returnUrl); return(new RedirectToActionResult("Detail", "Bombeiro", new { @id = user.Id, @message = true })); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } var postos = _postoStore.GetAll().Select(s => new SelectListItem { Value = s.Id.ToString(), Text = s.Nome }).ToList(); ViewData["Postos"] = postos; var quarteis = _quartelStore.GetAll().Select(s => new SelectListItem { Value = s.Id.ToString(), Text = s.Nome }).ToList(); ViewData["Quarteis"] = quarteis; return(Page()); }