From 15410aec6734d086fb824fb3c9f78eb354e0f10e Mon Sep 17 00:00:00 2001 From: vettaql Date: Tue, 24 Dec 2024 22:53:56 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Atelier/Atelier/Entities/FabricModel.cs | 2 +- Atelier/Atelier/Entities/ModelOrder.cs | 2 +- Atelier/Atelier/Entities/Order.cs | 8 ++++---- Atelier/Atelier/Entities/Storage.cs | 2 +- Atelier/Atelier/Reports/ChartReport.cs | 4 ++-- .../Repositories/Implementations/ModelRepository.cs | 12 ++++++++++-- 6 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Atelier/Atelier/Entities/FabricModel.cs b/Atelier/Atelier/Entities/FabricModel.cs index b94a0d3..ac58d96 100644 --- a/Atelier/Atelier/Entities/FabricModel.cs +++ b/Atelier/Atelier/Entities/FabricModel.cs @@ -3,7 +3,7 @@ public int FabricId { get; private set; } public int ModelId { get; private set; } public int Count { get; private set; } - public string FabricName { get; private set; } = string.Empty; + public FabricType FabricName { get; private set; } public static FabricModel CreateElement(int fabricId, int modelId, int count) { return new FabricModel diff --git a/Atelier/Atelier/Entities/ModelOrder.cs b/Atelier/Atelier/Entities/ModelOrder.cs index 595c3c1..d14b12f 100644 --- a/Atelier/Atelier/Entities/ModelOrder.cs +++ b/Atelier/Atelier/Entities/ModelOrder.cs @@ -3,7 +3,7 @@ public int OrderId { get; private set; } public int ModelId { get; private set; } public int Count { get; private set; } - public string ModelName { get; private set; } = string.Empty; + public ModelType ModelName { get; private set; } public static ModelOrder CreateElement(int orderId, int modelId, int count) { return new ModelOrder diff --git a/Atelier/Atelier/Entities/Order.cs b/Atelier/Atelier/Entities/Order.cs index 85c9656..6f44497 100644 --- a/Atelier/Atelier/Entities/Order.cs +++ b/Atelier/Atelier/Entities/Order.cs @@ -13,13 +13,13 @@ public class Order [DisplayName("Клиент")] public string ClientName { get; private set; } = string.Empty; - [DisplayName("Модель")] - public string Model => ModelOrder != null ? - string.Join(", ", ModelOrder.Select(x => $"{x.ModelName} {x.Count}")) :string.Empty; - [Browsable(false)] public IEnumerable ModelOrder { get; private set; } = []; + [DisplayName("Модель")] + public string Model => ModelOrder != null ? + string.Join(", ", ModelOrder.Select(x => $"{x.ModelName} {x.Count}")) : string.Empty; + public static Order CreateOperation(int id,DateTime date, Status status, int clientId, IEnumerable modelOrder) { return new Order diff --git a/Atelier/Atelier/Entities/Storage.cs b/Atelier/Atelier/Entities/Storage.cs index 12cfc94..e090300 100644 --- a/Atelier/Atelier/Entities/Storage.cs +++ b/Atelier/Atelier/Entities/Storage.cs @@ -6,7 +6,7 @@ public class Storage [Browsable(false)] public int FabricId { get; private set; } [DisplayName("Ткань")] - public string FabricName { get; private set; } = string.Empty; + public FabricType FabricName { get; private set; } [DisplayName("Метраж")] public double StockMetrage { get; private set; } diff --git a/Atelier/Atelier/Reports/ChartReport.cs b/Atelier/Atelier/Reports/ChartReport.cs index dbfcd14..87c0976 100644 --- a/Atelier/Atelier/Reports/ChartReport.cs +++ b/Atelier/Atelier/Reports/ChartReport.cs @@ -42,8 +42,8 @@ namespace Atelier.Reports var data = _storageRepository .ReadStorage() .Where(x => x.DateStorage.Date == dateTime.Date) - .GroupBy(x => x.FabricId, (key, group) => new { Id = key, Stock = group.Sum(x => x.StockMetrage) }) - .Select(x => (x.Id.ToString(), (double)x.Stock)) + .GroupBy(x => x.FabricName, (key, group) => new { Name = key, Stock = group.Sum(x => x.StockMetrage) }) + .Select(x => (x.Name.ToString(), (double)x.Stock)) .ToList(); _logger.LogDebug("Raw data: {Data}", JsonSerializer.Serialize(data)); diff --git a/Atelier/Atelier/Repositories/Implementations/ModelRepository.cs b/Atelier/Atelier/Repositories/Implementations/ModelRepository.cs index 3993071..2c49476 100644 --- a/Atelier/Atelier/Repositories/Implementations/ModelRepository.cs +++ b/Atelier/Atelier/Repositories/Implementations/ModelRepository.cs @@ -166,16 +166,24 @@ internal class ModelRepository : IModelRepository var querySelect = @$"SELECT m.*, fm.FabricId, +fm.modelId, fm.Count, f.FabricType as FabricName FROM Models m INNER JOIN FabricModel fm on fm.ModelId = m.Id -LEFT JOIN Fabrics f ON f.Id = fm.FabricId;"; +LEFT JOIN Fabrics f ON f.Id = fm.FabricId"; var models = connection.Query(querySelect).ToList(); foreach (var model in models) { - var querySelectSub = @$"SELECT * FROM FabricModel fm WHERE ModelId = {model.Id}"; + var querySelectSub = @$"SELECT +fm.FabricId, +fm.modelId, +fm.Count, +f.FabricType as FabricName +FROM FabricModel fm +LEFT JOIN Fabrics f ON f.Id = fm.FabricId +WHERE ModelId = {model.Id}"; var fabricModel = connection.Query(querySelectSub).ToList(); model.CreateList(fabricModel); _logger.LogDebug("Model ID: {ModelId}, FabricModels: {FabricModels}", model.Id, JsonConvert.SerializeObject(fabricModel));