public IActionResult Register(UserToRegister user) { try { var u = new User.User(user.username, user.email, user.name, user.surname); using var context = new flashcardsContext(); if (!IsValidEmail(u.Email)) { throw new FormatException("Email format is not valid."); } if (context.users.Any(us => us.UserName == u.UserName | us.Email == u.Email)) { if (context.users.Any(us => us.UserName == u.UserName)) { throw new FormatException("Username is already used"); } else { throw new FormatException("Email is already used"); } } u.ChangePassword(user.password); context.users.Add(u); context.SaveChanges(); return(Ok(u)); } catch (FormatException e) { return(BadRequest(e.Message)); } }