@page "/"
@using Radzen
@using Radzen.Blazor
@using BattSim.Models
@using BattSim.Services
BattSim
BattSim
Input Data
Upload your fluvius daily csv file here.
@if (_isLoadingFile){ Loading...
}
@if (EnergyData.Length != 0){
}
Simulate Battery
Set the battery capacity
Calculate Cost
@code {
EnergyData[] EnergyData = [];
bool _isLoadingFile = false;
private async Task LoadCsvFile(InputFileChangeEventArgs e)
{
var file = e.File;
if (file.ContentType != "text/csv")
{
Console.WriteLine("Only CSV files are allowed!");
return;
}
try
{
Console.WriteLine("Reading csv file...");
_isLoadingFile = true;
StateHasChanged();
var loadingTask = DataLoader.LoadAndProcessData(file);
var energyData = await loadingTask;
EnergyData = energyData.ToArray();
_isLoadingFile = false;
StateHasChanged();
Console.WriteLine("Done reading csv file!");
}
catch (Exception ex)
{
Console.WriteLine($"Error loading file: {ex.Message}");
}
}
bool _showProduction = true;
bool _showConsumption = true;
private void OnSeriesClick(){}
private string FormatObject(object value) {
if(value is double d) return $"{value:0.##} kWh";
if(value is DateOnly date) return (date.Day == 1) ? date.ToString("MM/yyyy") : string.Empty;
else return string.Empty;
}
double BatteryCapacity = 0.0;
BatteryDayResult[] SimulationData = [];
private async Task SimulateBattery(){
Console.WriteLine("Simulating...");
SimulationData = BatterySimulator.SimulateBattery(EnergyData, BatteryCapacity).ToArray();
Console.WriteLine("Done simulating!");
}
}