From 47c38ea71895c8c139c2cb452715fd43516b10c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D1=8F=D1=80=20=D0=90=D0=B3=D0=BB?= =?UTF-8?q?=D0=B8=D1=83=D0=BB=D0=BB=D0=BE=D0=B2?= Date: Sun, 19 Mar 2023 16:41:07 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=B2=D1=8B=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=20=D1=81=D1=82=D0=BE=D0=BB=D0=B1=D1=86=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=B4=D0=B0=D1=82=D1=8B,=20=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D0=B8=20=D0=B8=20=D0=B2=D0=B5=D1=89?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B2=D0=B5=D0=BD=D0=BD=D1=8B=D1=85=20=D1=87?= =?UTF-8?q?=D0=B8=D1=81=D0=B5=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Confectionery/DataGridViewExtension.cs | 1 + Confectionery/FormViewShops.cs | 11 +---------- .../Attributes/ColumnAttribute.cs | 5 ++++- .../ViewModels/ComponentViewModel.cs | 2 +- .../ViewModels/MessageInfoViewModel.cs | 2 +- ConfectioneryContracts/ViewModels/OrderViewModel.cs | 6 +++--- .../ViewModels/PastryViewModel.cs | 3 ++- ConfectioneryContracts/ViewModels/ShopViewModel.cs | 13 ++++++++----- 8 files changed, 21 insertions(+), 22 deletions(-) diff --git a/Confectionery/DataGridViewExtension.cs b/Confectionery/DataGridViewExtension.cs index d06ccc8..f958470 100644 --- a/Confectionery/DataGridViewExtension.cs +++ b/Confectionery/DataGridViewExtension.cs @@ -31,6 +31,7 @@ namespace ConfectioneryView { column.HeaderText = columnAttr.Title; column.Visible = columnAttr.Visible; + column.DefaultCellStyle.Format = columnAttr.Format; if (columnAttr.IsUseAutoSize) { column.AutoSizeMode = (DataGridViewAutoSizeColumnMode)Enum.Parse(typeof(DataGridViewAutoSizeColumnMode), columnAttr.GridViewAutoSize.ToString()); diff --git a/Confectionery/FormViewShops.cs b/Confectionery/FormViewShops.cs index 6a35d53..0e7d571 100644 --- a/Confectionery/FormViewShops.cs +++ b/Confectionery/FormViewShops.cs @@ -23,16 +23,7 @@ namespace ConfectioneryView { try { - var list = _logic.ReadList(null); - if (list != null) - { - dataGridView.DataSource = list; - - dataGridView.Columns["Id"].Visible = false; - dataGridView.Columns["Pastries"].Visible = false; - dataGridView.Columns["Name"].AutoSizeMode = - DataGridViewAutoSizeColumnMode.Fill; - } + dataGridView.FillAndConfigGrid(_logic.ReadList(null)); _logger.LogInformation("Загрузка магазинов"); } catch (Exception ex) diff --git a/ConfectioneryContracts/Attributes/ColumnAttribute.cs b/ConfectioneryContracts/Attributes/ColumnAttribute.cs index 1b6bbc9..3700e4a 100644 --- a/ConfectioneryContracts/Attributes/ColumnAttribute.cs +++ b/ConfectioneryContracts/Attributes/ColumnAttribute.cs @@ -19,13 +19,16 @@ namespace ConfectioneryContracts.Attributes public bool IsUseAutoSize { get; private set; } - public ColumnAttribute(string title = "", bool visible = true, int width = 0, GridViewAutoSize gridViewAutoSize = GridViewAutoSize.None, bool isUseAutoSize = false) + public string Format { get; private set; } + + public ColumnAttribute(string title = "", bool visible = true, int width = 0, GridViewAutoSize gridViewAutoSize = GridViewAutoSize.None, bool isUseAutoSize = false, string format = "") { Title = title; Visible = visible; Width = width; GridViewAutoSize = gridViewAutoSize; IsUseAutoSize = isUseAutoSize; + Format = format; } } } diff --git a/ConfectioneryContracts/ViewModels/ComponentViewModel.cs b/ConfectioneryContracts/ViewModels/ComponentViewModel.cs index bca002d..030efdc 100644 --- a/ConfectioneryContracts/ViewModels/ComponentViewModel.cs +++ b/ConfectioneryContracts/ViewModels/ComponentViewModel.cs @@ -17,7 +17,7 @@ namespace ConfectioneryContracts.ViewModels [Column("Название компонента", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] public string ComponentName { get; set; } = string.Empty; - [Column("Цена", width: 80)] + [Column("Цена", width: 80, format: "0.00")] public double Cost { get; set; } } } diff --git a/ConfectioneryContracts/ViewModels/MessageInfoViewModel.cs b/ConfectioneryContracts/ViewModels/MessageInfoViewModel.cs index d5a26a9..57a4045 100644 --- a/ConfectioneryContracts/ViewModels/MessageInfoViewModel.cs +++ b/ConfectioneryContracts/ViewModels/MessageInfoViewModel.cs @@ -20,7 +20,7 @@ namespace ConfectioneryContracts.ViewModels [Column("Отправитель", gridViewAutoSize: GridViewAutoSize.DisplayedCells, isUseAutoSize: true)] public string SenderName { get; set; } = string.Empty; - [Column("Дата письма", width: 100)] + [Column("Дата письма", width: 100, format: "D")] public DateTime DateDelivery { get; set; } [Column("Заголовок", width: 150)] diff --git a/ConfectioneryContracts/ViewModels/OrderViewModel.cs b/ConfectioneryContracts/ViewModels/OrderViewModel.cs index 8975924..f37f316 100644 --- a/ConfectioneryContracts/ViewModels/OrderViewModel.cs +++ b/ConfectioneryContracts/ViewModels/OrderViewModel.cs @@ -36,16 +36,16 @@ namespace ConfectioneryContracts.ViewModels [Column("Количество", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)] public int Count { get; set; } - [Column("Сумма", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)] + [Column("Сумма", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true, format: "0.00")] public double Sum { get; set; } [Column("Статус", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)] public OrderStatus Status { get; set; } = OrderStatus.Неизвестен; - [Column("Дата создания", width: 100)] + [Column("Дата создания", width: 100, format: "D")] public DateTime DateCreate { get; set; } = DateTime.Now; - [Column("Дата выполнения", width: 100)] + [Column("Дата выполнения", width: 100, format: "D")] public DateTime? DateImplement { get; set; } } } diff --git a/ConfectioneryContracts/ViewModels/PastryViewModel.cs b/ConfectioneryContracts/ViewModels/PastryViewModel.cs index 9454a7e..6754b6a 100644 --- a/ConfectioneryContracts/ViewModels/PastryViewModel.cs +++ b/ConfectioneryContracts/ViewModels/PastryViewModel.cs @@ -15,7 +15,8 @@ namespace ConfectioneryContracts.ViewModels public int Id { get; set; } [Column("Название изделия", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] public string PastryName { get; set; } = string.Empty; - [Column("Цена", width: 100)] + + [Column("Цена", width: 100, format: "0.00")] public double Price { get; set; } [Column(visible: false)] public Dictionary PastryComponents diff --git a/ConfectioneryContracts/ViewModels/ShopViewModel.cs b/ConfectioneryContracts/ViewModels/ShopViewModel.cs index f7fce9b..8862f57 100644 --- a/ConfectioneryContracts/ViewModels/ShopViewModel.cs +++ b/ConfectioneryContracts/ViewModels/ShopViewModel.cs @@ -1,4 +1,5 @@ -using ConfectioneryDataModels; +using ConfectioneryContracts.Attributes; +using ConfectioneryDataModels; using ConfectioneryDataModels.Models; using System.ComponentModel; @@ -6,24 +7,26 @@ namespace ConfectioneryContracts.ViewModels { public class ShopViewModel : IShopModel { - [DisplayName("Название магазина")] + [Column("Название магазина", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true)] public string Name { get; set; } = string.Empty; - [DisplayName("Адрес магазина")] + [Column("Адрес магазина", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] public string Address { get; set; } = string.Empty; - [DisplayName("Максимальное количество изделий в магазине")] + [Column("Максимальное количество изделий в магазине", gridViewAutoSize: GridViewAutoSize.DisplayedCells, isUseAutoSize: true)] public int MaxCountPastries { get; set; } - [DisplayName("Время открытия")] + [Column("Время открытия", gridViewAutoSize: GridViewAutoSize.AllCells, isUseAutoSize: true, format: "f")] public DateTime DateOpening { get; set; } = DateTime.Now; + [Column(visible: false)] public Dictionary Pastries { get; set; } = new(); + [Column(visible: false)] public int Id { get; set; } }