feat: statistics table created

This commit is contained in:
Mikhail Shabanov committed 2022-05-05 10:59:04 +02:00
1 parent 17dd2c833c
commit 4c7e7b3ca2
7 files changed
+425 -156

No files matched your search

@@ -0,0 +1,95 @@
@using WotBlitzStatisticsPro.Blazor.Helpers
@inject IStringLocalizer<App> Localize;
<RadzenCard class="m-3" style="width: 350px;">
<h3 class="h5">@Localize["Ower all statistics"]</h3>
<table class="table" width="100%">
<tbody>
<tr>
<td>@Localize["Last battle"]:</td>
<td align="right"><b>@Statistics.LastBattleTime.ConvertToLocalTime().ToString("g")</b></td>
</tr>
<tr>
<td>@Localize["Battles"]:</td>
<td align="right"><b>@Statistics.Battles.ToString("N0")</b></td>
</tr>
<tr>
<td>@Localize["Wins"]:</td>
<td align="right"><b>@Statistics.Wins.ToString("N0")</b> (@Statistics.WinRate.ToString("N2")%)</td>
</tr>
<tr>
<td>@Localize["Losses"]:</td>
<td align="right"><b>@Statistics.Losses.ToString("N0")</b> (@Persentage(Statistics.Losses, Statistics.Battles)%)</td>
</tr>
<tr>
<td>@Localize["Survived"]:</td>
<td align="right"><b>@Statistics.SurvivedBattles.ToString("N0")</b> (@Persentage(Statistics.SurvivedBattles, Statistics.Battles)%)</td>
</tr>
<tr>
<td>@Localize["Win and survived"]:</td>
<td align="right"><b>@Statistics.WinAndSurvived.ToString("N0")</b> (@Persentage(Statistics.WinAndSurvived, Statistics.Battles)%)</td>
</tr>
<tr>
<td>@Localize["Average XP"]:</td>
<td align="right"><b>@Statistics.AvgXp.ToString("N0")</b></td>
</tr>
<tr>
<td>@Localize["Average Damage"]:</td>
<td align="right"><b>@Statistics.AvgDamage.ToString("N0")</b></td>
</tr>
<tr>
<td>@Localize["Average Damage received"]:</td>
<td align="right"><b>@Average(@Statistics.DamageReceived, @Statistics.Battles)</b></td>
</tr>
<tr>
<td>@Localize["Damage coefficient"]:</td>
<td align="right"><b>@Statistics.DamageCoefficient.ToString("N2")</b></td>
</tr>
<tr>
<td>@Localize["Frags"]:</td>
<td align="right"><b>@Statistics.Frags.ToString("N0")</b> (@Average(Statistics.Frags, Statistics.Battles))</td>
</tr>
<tr>
<td>@Localize["Frags over 8 tier"]:</td>
<td align="right"><b>@Statistics.Frags8P.ToString("N0")</b> (@Average(Statistics.Frags8P, Statistics.Battles))</td>
</tr>
<tr>
<td>@Localize["Shots"]:</td>
<td align="right"><b>@Statistics.Shots.ToString("N0")</b> (@Average(Statistics.Shots, Statistics.Battles))</td>
</tr>
<tr>
<td>@Localize["Hits"]:</td>
<td align="right"><b>@Statistics.Hits.ToString("N0")</b> (@Average(Statistics.Hits, Statistics.Battles))</td>
</tr>
<tr>
<td>@Localize["Accuracy"]:</td>
<td align="right"><b>@Persentage(Statistics.Hits, Statistics.Shots)%</b></td>
</tr>
<tr>
<td>@Localize["Spotted tanks"]:</td>
<td align="right"><b>@Statistics.Spotted.ToString("N0")</b> (@Average(Statistics.Spotted, Statistics.Battles))</td>
</tr>
<tr>
<td>@Localize["Base captured"]:</td>
<td align="right"><b>@Statistics.CapturePoints.ToString("N0")</b> (@Average(Statistics.CapturePoints, Statistics.Battles))</td>
</tr>
<tr>
<td>@Localize["Dropped base capture"]:</td>
<td align="right"><b>@Statistics.DroppedCapturePoints.ToString("N0")</b> (@Average(Statistics.DroppedCapturePoints, Statistics.Battles))</td>
</tr>
</tbody>
</table>
</RadzenCard>
@code {
[Parameter]
public IStatistics Statistics { get; set; }
private string Persentage(long firstNumber, long secondNuber)
{
return (((decimal)(100*firstNumber))/((decimal)secondNuber)).ToString("N2");
}
private string Average(long firstNumber, long secondNuber)
{
return (((decimal)(firstNumber))/((decimal)secondNuber)).ToString("N2");
}
}
@@ -7,29 +7,41 @@
<tbody>
<tr>
<td>@Localize["Battles"]:</td>
<td><b>@AccountInfo.Battles.ToString("N0")</b></td>
<td align="right"><b>@AccountInfo.Battles.ToString("N0")</b></td>
</tr>
<tr>
<td>@Localize["Win rate"]:</td>
<td>
<td align="right">
<b>@AccountInfo.WinRate.ToString("N2")%</b>
<div style="background-color: @AccountInfo.WinRate.ScaleColor(); width: 100%; height: 5px; margin-left: 2px; margin-right: 2px;"></div>
</td>
</tr>
<tr>
<td>@Localize["Wn7"]:</td>
<td>
<td align="right">
<b>@AccountInfo.Wn7.ToString("N2")</b>
<div style="background-color: @AccountInfo.Wn7.Wn7ScaleColor(); width: 100%; height: 5px; margin-left: 2px; margin-right: 2px;"></div>
</td>
</tr>
<tr>
<td>@Localize["Average Damage"]:</td>
<td><b>@AccountInfo.AvgDamage.ToString("N0")</b></td>
<td>@Localize["Average XP"]:</td>
<td align="right"><b>@AccountInfo.AvgXp.ToString("N0")</b></td>
</tr>
<tr>
<td>@Localize["Average XP"]:</td>
<td><b>@AccountInfo.AvgXp.ToString("N0")</b></td>
<td>@Localize["Average Damage"]:</td>
<td align="right"><b>@AccountInfo.AvgDamage.ToString("N0")</b></td>
</tr>
<tr>
<td>@Localize["Damage coefficient"]:</td>
<td align="right"><b>@AccountInfo.DamageCoefficient.ToString("N2")</b></td>
</tr>
<tr>
<td>@Localize["Survival rate"]:</td>
<td align="right"><b>@AccountInfo.SurvivalRate.ToString("N0")%</b></td>
</tr>
<tr>
<td>@Localize["Avg tier"]:</td>
<td align="right"><b>@AccountInfo.AvgTier.ToString("N2")</b></td>
</tr>
</tbody>
</table>
@@ -82,6 +94,7 @@
</div>
</RadzenCard>
<OverallStatisticsCard Statistics="@AccountInfo"></OverallStatisticsCard>
</div>
@@ -99,5 +112,4 @@
MaxXpTank = AccountInfo?.Tanks?.FirstOrDefault(t => t.TankId == AccountInfo.MaxXpTankId);
MaxFragsTank = AccountInfo?.Tanks?.FirstOrDefault(t => t.TankId == AccountInfo.MaxFragsTankId);
}
}