Fix: 販売個数は自動計算されるよう修正

This commit is contained in:
Sakurai Ryota 2025-05-05 18:39:19 +09:00
parent b95e89afc4
commit 2aa91cc208
4 changed files with 28 additions and 5 deletions

View File

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using StockingData.Lib.IO.Repositories; using StockingData.Lib.IO.Repositories;
using StockingData.Lib.Services;
using StockingData.Models; using StockingData.Models;
namespace StockingData.Controllers; namespace StockingData.Controllers;
@ -22,13 +23,14 @@ public class GraphController : Controller
} }
var records = await this.stockRepository.FetchStockRecordByIdAsync(product.ProductId).ConfigureAwait(false); var records = await this.stockRepository.FetchStockRecordByIdAsync(product.ProductId).ConfigureAwait(false);
var transformer = new GraphViewTransformer(records);
var model = new GraphViewModel() var model = new GraphViewModel()
{ {
ProductId = product.ProductId, ProductId = product.ProductId,
Title = product.Title, Title = product.Title,
Code = product.Code, Code = product.Code,
Stocks = records, Stocks = transformer.Transform(),
}; };
return View(model); return View(model);

View File

@ -50,6 +50,6 @@ public class StockProductsController : Controller
await this.stockRepository.UpdateStockCountAsync(stockId, count).ConfigureAwait(false); await this.stockRepository.UpdateStockCountAsync(stockId, count).ConfigureAwait(false);
} }
return RedirectToAction("Register", "SaleProducts"); return RedirectToAction("List", "Products");
} }
} }

View File

@ -0,0 +1,24 @@
using StockingData.Lib.Data;
namespace StockingData.Lib.Services;
public class GraphViewTransformer
{
private readonly IEnumerable<StockTable> records;
public GraphViewTransformer(IEnumerable<StockTable> records)
{
this.records = records;
}
public IEnumerable<StockTable> Transform()
{
var list = new List<StockTable>();
foreach (var item in this.records)
{
item.SaleCount = item.DisplayCount - item.StockCount;
list.Add(item);
}
return list;
}
}

View File

@ -31,9 +31,6 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="StockProducts" asp-action="Register">在庫数登録</a> <a class="nav-link text-dark" asp-area="" asp-controller="StockProducts" asp-action="Register">在庫数登録</a>
</li> </li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="SaleProducts" asp-action="Register">販売個数登録</a>
</li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Products" asp-action="List">商品一覧</a> <a class="nav-link text-dark" asp-area="" asp-controller="Products" asp-action="List">商品一覧</a>
</li> </li>