From d3a35a4fe253595af0002eb3a869e9cd0ec09277 Mon Sep 17 00:00:00 2001 From: Sakurai Date: Sun, 9 Feb 2025 10:26:57 +0900 Subject: [PATCH] Add good list --- Uriagekun/Controllers/GoodController.cs | 10 ++++++++-- Uriagekun/Lib/Data/RangeData.cs | 7 +++++++ Uriagekun/Lib/IO/MyRepository.cs | 21 +++++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 Uriagekun/Lib/Data/RangeData.cs diff --git a/Uriagekun/Controllers/GoodController.cs b/Uriagekun/Controllers/GoodController.cs index ad9841f..ae1c023 100644 --- a/Uriagekun/Controllers/GoodController.cs +++ b/Uriagekun/Controllers/GoodController.cs @@ -20,7 +20,7 @@ public class GoodController : Controller public async Task Add(AddGoodModel model) { - if (ModelState.IsValid) + if (!ModelState.IsValid) { return BadRequest(); } @@ -34,7 +34,13 @@ public class GoodController : Controller return BadRequest(); } - await this.repository.AddGoods(model.Label, model.Barcode, model.Price); + await this.repository.AddGoods(model.Label, model.Barcode, model.Price).ConfigureAwait(false); return Ok(); } + + public async Task List() + { + var ret = await this.repository.GetGoods(0, 100).ConfigureAwait(false); + return Json(ret); + } } diff --git a/Uriagekun/Lib/Data/RangeData.cs b/Uriagekun/Lib/Data/RangeData.cs new file mode 100644 index 0000000..3dff723 --- /dev/null +++ b/Uriagekun/Lib/Data/RangeData.cs @@ -0,0 +1,7 @@ +namespace Uriagekun.Lib.Data; + +public class RangeData +{ + public int Start { get; set; } + public int End { get; set; } +} diff --git a/Uriagekun/Lib/IO/MyRepository.cs b/Uriagekun/Lib/IO/MyRepository.cs index d8433bb..3ab01c3 100644 --- a/Uriagekun/Lib/IO/MyRepository.cs +++ b/Uriagekun/Lib/IO/MyRepository.cs @@ -32,6 +32,27 @@ public class MyRepository return (int) ret; } + /// + /// DBに登録されている商品の一覧から指定範囲を取得します。 + /// + /// + /// + /// + public async ValueTask> GetGoods(int offset, int count) + { + var range = new RangeData() + { + Start = offset, + End = offset + count, + }; + + var ret = await this.database.FetchAsync( + $"SELECT * FROM goods WHERE id BETWEEN @Start And @End", + range + ).ConfigureAwait(false); + return ret; + } + /// /// 指定商品の売上個数を登録します。 ///