191 lines
8.9 KiB
Plaintext

@using StockingData.Lib.Math;
@model GraphViewModel;
@{
ViewData["Title"] = $"{Model.Title} ({Model.Code}) の販売情報";
}
<h1>@(Model.Title) (@(Model.Code)) の販売情報</h1>
<div class="row m-2">
<div class="col-xl-6">
<h2>グラフ</h2>
<div class="graph">
<!-- Todo graph -->
<canvas id="chartGraph"></canvas>
</div>
</div>
<div class="col-xl-6">
<h2>平均値</h2>
<div class="table-responsive">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>摘用</th>
<th>出品数</th>
<th>在庫数</th>
<th>販売数</th>
</tr>
</thead>
<tbody>
<tr>
<td>全件</td>
<td>
@(AverageMath.Average(Model.Stocks.Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Select(x => x.SaleCount)))
</td>
</tr>
<tr>
<td>土日</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Sunday || x.Date.DayOfWeek == DayOfWeek.Saturday).Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Sunday || x.Date.DayOfWeek == DayOfWeek.Saturday).Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Sunday || x.Date.DayOfWeek == DayOfWeek.Saturday).Select(x => x.SaleCount)))
</td>
</tr>
<tr>
<td>平日</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek != DayOfWeek.Sunday && x.Date.DayOfWeek != DayOfWeek.Saturday).Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek != DayOfWeek.Sunday && x.Date.DayOfWeek != DayOfWeek.Saturday).Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek != DayOfWeek.Sunday && x.Date.DayOfWeek != DayOfWeek.Saturday).Select(x => x.SaleCount)))
</td>
</tr>
<tr>
<td>月曜日</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Monday).Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Monday).Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Monday).Select(x => x.SaleCount)))
</td>
</tr>
<tr>
<td>火曜日</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Tuesday).Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Tuesday).Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Tuesday).Select(x => x.SaleCount)))
</td>
</tr>
<tr>
<td>水曜日</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Wednesday).Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Wednesday).Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Wednesday).Select(x => x.SaleCount)))
</td>
</tr>
<tr>
<td>木曜日</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Thursday).Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Thursday).Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Thursday).Select(x => x.SaleCount)))
</td>
</tr>
<tr>
<td>金曜日</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Friday).Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Friday).Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Friday).Select(x => x.SaleCount)))
</td>
</tr>
<tr>
<td>土曜日</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Saturday).Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Saturday).Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Saturday).Select(x => x.SaleCount)))
</td>
</tr>
<tr>
<td>日曜日</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Sunday).Select(x => x.DisplayCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Sunday).Select(x => x.StockCount)))
</td>
<td>
@(AverageMath.Average(Model.Stocks.Where(x => x.Date.DayOfWeek == DayOfWeek.Sunday).Select(x => x.SaleCount)))
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="col-md-12">
<h2>実績</h2>
<div class="table-responsive">
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>日付</th>
<th>出品数</th>
<th>在庫数</th>
<th>販売数</th>
</tr>
</thead>
<tbody>
@foreach(var item in Model.Stocks){
<tr>
<td>@(item.Date.ToShortDateString())</td>
<td>@(item.DisplayCount)</td>
<td>@(item.StockCount)</td>
<td>@(item.SaleCount)</td>
</tr>
}
</tbody>
</table>
</div>
</div>
</div>
<script defer src="~/lib/chart.js/chart.js"></script>
<script defer src="~/js/graph_view.js" asp-append-version="true"></script>
<script type="application/json" id="chartData">@Json.Serialize(Model.Stocks)</script>