public async Task <IActionResult> Register(RegisterModel model, [FromServices] IGenPasswordHash genPassHash) { if (ModelState.IsValid) { Author user = await db.Authors.FirstOrDefaultAsync(u => (u.Nickname == model.Nickname || u.Email == model.Email)); if (user == null) { // добавляем пользователя в бд string passwordHash = genPassHash.GenerateHash(model.Password); db.Authors.Add(new Author { Nickname = model.Nickname, Email = model.Email, PasswordHash = passwordHash }); await db.SaveChangesAsync(); await Authenticate(model.Nickname, false); // аутентификация return(RedirectToAction("GetIndex", "Home")); } else { ModelState.AddModelError("", "Пользователь с данным email или nickname уже существует"); } } return(View(model)); }
public async Task <IActionResult> PostNewPost(Post post) { if (ModelState.IsValid) { post.Created = DateTime.Now; post.LastEdited = post.Created; db.Posts.Add(post); await db.SaveChangesAsync(); return(RedirectToRoute("GetIndex")); } else { return(RedirectToAction("ErrorMessage", "Utility", new { Message = "Some fields isn't valid", Action = "GetPostToCreate", Controller = "Content" })); } }