using System; using System.Collections.Generic; using MySql.Data.MySqlClient; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.Logging; namespace NightmareCoreWeb2.Pages { public class IndexModel : PageModel { string connStr = $"server={Program.MysqlServer};user={Program.MysqlUser};database={Program.MysqlDatabase};port={Program.MysqlPort};password={Program.MysqlPassword}"; public List OnlineCharacters = new List(); public Dictionary Realms = new Dictionary(); public string ActivateEmail {get; set;} public string ActivatePassword {get; set;} public string ActivateToken {get; set;} public string RequestTokenEmail {get; set;} public string CharacterListType {get; set;} private MySqlConnection conn; private readonly ILogger _logger; public IndexModel(ILogger logger) { _logger = logger; conn = new MySqlConnection(connStr); try { conn.Open(); string sql = "select username,name,level,race,class from characters.characters join auth.account on characters.characters.account = auth.account.id where characters.characters.online = 1"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader rdr = cmd.ExecuteReader(); CharacterListType = "Online Players"; while (rdr.Read()) { Character c = new Character(); c.Username = rdr.GetString(0); c.Name = rdr.GetString(1); c.Level = rdr.GetByte(2); c.Race = rdr.GetByte(3); c.Class = rdr.GetByte(4); OnlineCharacters.Add(c); } rdr.Close(); sql = "SELECT name,flag FROM realmlist"; cmd = new MySqlCommand(sql, conn); rdr = cmd.ExecuteReader(); while (rdr.Read()) { Realms.Add(rdr.GetString(0), rdr.GetString(1).Equals("2") ? "❌" : "✔️"); } rdr.Close(); conn.Close(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } public void OnGet() {} public void OnGetAccount(string name) { Account a = new Account(name, conn); CharacterListType = $"{name}'s Characters"; OnlineCharacters = a.characters; } public void OnPostActivateAccount() { ActivateEmail = Request.Form["ActivateEmail"]; ActivatePassword = Request.Form["ActivatePassword"]; ActivateToken = Request.Form["ActivateToken"]; Console.WriteLine($"PostActivateAccount e {ActivateEmail} p {ActivatePassword} t {ActivateToken}"); } public void OnPostRequestToken() { RequestTokenEmail = Request.Form["RequestTokenEmail"]; } public bool RequestToken() { return false; } public bool CreateAccount() { return false; } public bool IsTokenValid(string username, string token) { return false; } } }