public IActionResult Post(User userRequest) { var saveUserResult = _userService.SaveUser(userRequest); return(saveUserResult switch { NameTaken nameTaken => BadRequest(nameTaken.Message), NameNotValid nameNotValid => BadRequest(nameNotValid.Message), CreateUserSuccess createUserSuccess => Ok(createUserSuccess.User), _ => throw new Exception("Invalid response type") // ili return status code 500, svj :) });
private static void IsNameTaken(Session Session, ClientMessage Message) { String Username = Message.PopString(); using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { MySqlClient.SetParameter("username", Username); DataRow Taken = MySqlClient.ExecuteQueryRow("SELECT null FROM characters WHERE username = @username LIMIT 1"); if (Taken == null) { ServerMessage awnser = new ServerMessage(571); awnser.AppendInt32(0); awnser.AppendStringWithBreak(Username); awnser.AppendInt32(0); Session.SendData(awnser); } else { Session.SendData(NameTaken.Compose(Username)); } } }