From 849b1dbf16f4b555120332304691643c4d966afc Mon Sep 17 00:00:00 2001 From: Sakurai Date: Sun, 9 Feb 2025 10:57:00 +0900 Subject: [PATCH] Add good list --- Uriagekun/Controllers/GoodController.cs | 31 +++++++++++++++++++++++ Uriagekun/Controllers/RecordController.cs | 7 ++++- Uriagekun/Lib/Data/GoodRegisterData.cs | 21 +++++++++++++++ Uriagekun/Lib/IO/MyRepository.cs | 9 +++++++ 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 Uriagekun/Controllers/GoodController.cs create mode 100644 Uriagekun/Lib/Data/GoodRegisterData.cs diff --git a/Uriagekun/Controllers/GoodController.cs b/Uriagekun/Controllers/GoodController.cs new file mode 100644 index 0000000..8115c79 --- /dev/null +++ b/Uriagekun/Controllers/GoodController.cs @@ -0,0 +1,31 @@ +using Microsoft.AspNetCore.Mvc; +using Uriagekun.Lib.IO; +using Uriagekun.Models; + +namespace Uriagekun.Controllers; + +public class GoodController : Controller +{ + private readonly MyRepository repository; + + public GoodController(MyRepository repository) + { + this.repository = repository; + } + + public async Task View(string id) + { + if (string.IsNullOrEmpty(id)) + { + return BadRequest(); + } + + var good = await this.repository.GetGoodRegisterFromBarcode(id); + if (good is null) + { + return NotFound(); + } + + return Json(good); + } +} diff --git a/Uriagekun/Controllers/RecordController.cs b/Uriagekun/Controllers/RecordController.cs index d21586a..587e4b0 100644 --- a/Uriagekun/Controllers/RecordController.cs +++ b/Uriagekun/Controllers/RecordController.cs @@ -39,7 +39,12 @@ public class RecordController : Controller return NotFound(); } - await this.repository.AddRegister(good.Id, model.Count, DateTime.Now).ConfigureAwait(false); + var from = DateTime.Now; + int year = from.Year; + int month = from.Month; + int day = from.Day; + var date = new DateTime(year, month, day); + await this.repository.AddRegister(good.Id, model.Count, date).ConfigureAwait(false); return RedirectToAction("Register"); } diff --git a/Uriagekun/Lib/Data/GoodRegisterData.cs b/Uriagekun/Lib/Data/GoodRegisterData.cs new file mode 100644 index 0000000..f00c869 --- /dev/null +++ b/Uriagekun/Lib/Data/GoodRegisterData.cs @@ -0,0 +1,21 @@ +using PetaPoco; + +namespace Uriagekun.Lib.Data; + +public class GoodRegisterData +{ + [Column(Name = "good_id")] + public int GoodId { get; set; } + + [Column(Name = "barcode")] + public string Barcode { get; set; } + + [Column(Name = "label")] + public string Label { get; set; } + + [Column(Name = "date")] + public DateTime Date { get; set; } + + [Column(Name = "count")] + public int Count { get; set; } +} diff --git a/Uriagekun/Lib/IO/MyRepository.cs b/Uriagekun/Lib/IO/MyRepository.cs index 4c5d73c..51d2d4f 100644 --- a/Uriagekun/Lib/IO/MyRepository.cs +++ b/Uriagekun/Lib/IO/MyRepository.cs @@ -85,4 +85,13 @@ public class MyRepository await this.database.InsertAsync(data).ConfigureAwait(false); } + + public async ValueTask> GetGoodRegisterFromBarcode(string barcode) + { + var ret = await this.database.FetchAsync( + $"SELECT good_id, barcode, label, date, count FROM goods, registers WHERE barcode = {barcode} AND goods.good_id = registers.good_id" + ).ConfigureAwait(false); + + return ret; + } }