hackernet/Apps/HackerNet.Web/Controllers/AccountController.cs
2021-12-15 12:57:33 +01:00

58 lines
1.2 KiB
C#

using HackerNet.Web.Models;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
namespace HackerNet.Web.Controllers;
public class AccountController : HackerController
{
private readonly UserManager<IdentityUser> _userManager;
public AccountController(UserManager<IdentityUser> userManager)
{
_userManager = userManager;
}
[HttpGet]
public IActionResult Signup()
{
return View(new SignupLoginViewModel());
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Signup(SignupLoginViewModel cmd)
{
if (!ModelState.IsValid)
{
return View(cmd);
}
var user = new IdentityUser(cmd.Username);
var result = await _userManager.CreateAsync(user, cmd.Password);
if (!result.Succeeded)
{
ModelState
.AddModelError(nameof(SignupLoginViewModel.Username), "Impossible de créer le compte");
return View(cmd);
}
SetFlashMessage("Votre compte a été créé !");
return RedirectToAction("Index", "Links");
}
[HttpGet]
public IActionResult Login()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Login(SignupLoginViewModel cmd)
{
return View();
}
}