diff --git a/WebServer/Components/Pages/Home.razor b/WebServer/Components/Pages/Home.razor index 6ee1ad5f..bf19c33f 100644 --- a/WebServer/Components/Pages/Home.razor +++ b/WebServer/Components/Pages/Home.razor @@ -30,15 +30,30 @@ }else{
UserName: @Session.UserName
+
+ @foreach(PurchasedStock cur in Session.TrackedStocks){ +
@cur.Symbol
+
@cur.Quantity
+
@cur.PurchasePrice
+
@cur.PurchaseDate.ToString("M-D-YYYY")
+ } +
+
+ +
+
+ Actions + + + +
}
- - - +
@foreach (stockPredictionPair cur in predictions){ @@ -80,8 +95,10 @@ string dbPrefix = $"[{userName.ToLower()}]:"; // Set the DB prefix for the get and set string passwordhash = dbDriver.Get( dbPrefix + "password" ); // Pull the password hash if (BCrypt.Verify( passWord, passwordhash )){ // If the password is valid + List? stocks = JsonConvert.DeserializeObject>( dbDriver.Get( dbPrefix + "stock-data" ) ); Session = new loginSession(){ - UserName = userName.ToLower() + UserName = userName.ToLower(), + TrackedStocks = stocks != null ? stocks : new List() }; }else{ loginError = "wrong password"; @@ -94,7 +111,8 @@ if (string.IsNullOrEmpty(passwordhash)){ dbDriver.Set( dbPrefix + "password", BCrypt.HashPassword( passWord, BCrypt.GenerateSalt() ) ); Session = new loginSession(){ - UserName = userName.ToLower() + UserName = userName.ToLower(), + TrackedStocks = new List() }; }else{ loginError = "account is taken"; @@ -172,6 +190,14 @@ class loginSession { public string UserName { get; set; } = ""; + public List TrackedStocks { get; set; } = new List(); + } + + class PurchasedStock { + public string Symbol { get; set; } = ""; + public float PurchasePrice { get; set; } = 0; + public float Quantity { get; set; } = 0; + public DateTime PurchaseDate { get; set; } = DateTime.Now; } } \ No newline at end of file diff --git a/WebServer/Components/_Imports.razor b/WebServer/Components/_Imports.razor index 22b16ca2..b1da8103 100644 --- a/WebServer/Components/_Imports.razor +++ b/WebServer/Components/_Imports.razor @@ -11,6 +11,7 @@ @using WebServer @using WebServer.Components @using BCrypt.Net; +@using Newtonsoft.Json; @inject DbDriver dbDriver @inject AIModule aiModule diff --git a/WebServer/WebServer.csproj b/WebServer/WebServer.csproj index 5695abb4..879f2943 100644 --- a/WebServer/WebServer.csproj +++ b/WebServer/WebServer.csproj @@ -9,6 +9,7 @@ +