public async Task <IActionResult> Login(LoginAPIModel model) { if (ModelState.IsValid) { Models.User user = await _context.Users .Include(u => u.Role) .FirstOrDefaultAsync(u => u.Email == model.Email && u.Password == model.Password); if (user != null) { await Authenticate(user); // аутентификация var messageReg = CreateCustomStatus.CreateCustomStatusM("200", "Успех авторизации"); return(Ok(messageReg)); } else { ModelState.AddModelError("", "Неправильный логин и (или) пароль"); return(Ok(ModelState.Errors())); } } else { return(Ok(new { Errors = ModelState.Errors() })); } }
public async Task <IActionResult> RegisterUser(RegisterAPIModel registerAPIModel) { try { if (ModelState.IsValid) { Models.User user = await _context.Users.FirstOrDefaultAsync(u => u.Email == registerAPIModel.Email); if (user == null) { // добавляем пользователя в бд user = new Models.User { FirstName = registerAPIModel.FirstName, LastName = registerAPIModel.LastName, City = registerAPIModel.City, Email = registerAPIModel.Email, Phone = registerAPIModel.Phone, Birthday = registerAPIModel.Birthday, Name = registerAPIModel.Email, Password = registerAPIModel.Password }; Role userRole = await _context.Roles.FirstOrDefaultAsync(r => r.Name == "user"); if (userRole != null) { user.Role = userRole; } _context.Users.Add(user); await _context.SaveChangesAsync(); await Authenticate(user); // аутентификация var messageReg = CreateCustomStatus.CreateCustomStatusM("200", "Успех регистрации"); return(Ok(messageReg)); } else { return(Ok("Неправильные логин и(или) пароль")); } } else { return(Ok(new { Errors = ModelState.Errors() })); } } catch (Exception ex) { return(Ok(ex)); } }