diff --git a/Helios/Controllers/UserController.cs b/Helios/Controllers/UserController.cs index 10200b42fdd7969a962cb40275ddf7ba190c5c86..dfcb0c4ca17d28d0f582f540f84177444b6205ba 100644 --- a/Helios/Controllers/UserController.cs +++ b/Helios/Controllers/UserController.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Helios.Source; using Microsoft.AspNetCore.Mvc; // For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 @@ -10,7 +11,12 @@ namespace Helios.Controllers { public class UserController : Controller { + private readonly UserService _userService; + public UserController(UserService service) + { + _userService = service; + } public IActionResult Admin() { @@ -19,7 +25,9 @@ namespace Helios.Controllers public IActionResult User() { - return View(); + var user = _userService.GetUser(); + + return View(user); } } } diff --git a/Helios/Models/User.cs b/Helios/Models/User.cs index 7f0d510a9b2406e5e939a1654d80d5bf7efb53e9..e180b19118fdb25d7e6eaa972a1c53ac216d88d4 100644 --- a/Helios/Models/User.cs +++ b/Helios/Models/User.cs @@ -3,7 +3,10 @@ namespace Helios.Models { public class User { - public User() { } - } + public int SolarInput { get; set; } + public int BatteryCharge { get; set; } + public BatteryStatus BatteryStatus { get; set; } + public List<ChargeTimestamp> ChargeTimestamps { get; set; } = new List<ChargeTimestamp>(); + } } diff --git a/Helios/Source/UserService.cs b/Helios/Source/UserService.cs index b8c5b12b3da5695981f421a1431edcf7c9bf2df9..595d7ce9e63163281569c869bce02bdfd280a478 100644 --- a/Helios/Source/UserService.cs +++ b/Helios/Source/UserService.cs @@ -1,4 +1,5 @@ using System; +using Helios.Models; using Npgsql; namespace Helios.Source @@ -6,14 +7,71 @@ namespace Helios.Source public class UserService { private readonly NpgsqlConnection _connection; + private int userId = 7; public UserService(string connectionString) { _connection = new NpgsqlConnection(connectionString); } + public User GetUser() + { + User user = new User(); + user.ChargeTimestamps = GetChargeTimestamps(); + user.SolarInput = GetSolarInput(); + user.BatteryCharge = GetBatteryCharge(); + user.BatteryStatus = GetBatteryStatus(); + return user; + } + + private List<ChargeTimestamp> GetChargeTimestamps() + { + List<ChargeTimestamp> timestamps = new List<ChargeTimestamp> + { + new ChargeTimestamp(DateTimeOffset.Parse("01:00 AM"), 100), + new ChargeTimestamp(DateTimeOffset.Parse("02:00 AM"), 98), + new ChargeTimestamp(DateTimeOffset.Parse("03:00 AM"), 96), + new ChargeTimestamp(DateTimeOffset.Parse("04:00 AM"), 94), + new ChargeTimestamp(DateTimeOffset.Parse("05:00 AM"), 92), + new ChargeTimestamp(DateTimeOffset.Parse("06:00 AM"), 90), + new ChargeTimestamp(DateTimeOffset.Parse("07:00 AM"), 83), + new ChargeTimestamp(DateTimeOffset.Parse("08:00 AM"), 80), + new ChargeTimestamp(DateTimeOffset.Parse("09:00 AM"), 71), + new ChargeTimestamp(DateTimeOffset.Parse("10:00 AM"), 64), + new ChargeTimestamp(DateTimeOffset.Parse("11:00 AM"), 60), + new ChargeTimestamp(DateTimeOffset.Parse("12:00 PM"), 61), + new ChargeTimestamp(DateTimeOffset.Parse("13:00 PM"), 62), + new ChargeTimestamp(DateTimeOffset.Parse("14:00 PM"), 60), + new ChargeTimestamp(DateTimeOffset.Parse("15:00 PM"), 55), + new ChargeTimestamp(DateTimeOffset.Parse("16:00 PM"), 51), + new ChargeTimestamp(DateTimeOffset.Parse("17:00 PM"), 48), + new ChargeTimestamp(DateTimeOffset.Parse("18:00 PM"), 43), + new ChargeTimestamp(DateTimeOffset.Parse("19:00 PM"), 36), + new ChargeTimestamp(DateTimeOffset.Parse("20:00 PM"), 30), + new ChargeTimestamp(DateTimeOffset.Parse("21:00 PM"), 71), + new ChargeTimestamp(DateTimeOffset.Parse("22:00 PM"), 71), + new ChargeTimestamp(DateTimeOffset.Parse("23:00 PM"), 71), + }; + + return timestamps; + } + + private int GetSolarInput() + { + return 77; + } + + private int GetBatteryCharge() + { + return 45; + } + + private BatteryStatus GetBatteryStatus() + { + return BatteryStatus.Charging; + } } }