Eliseev E.E. LabWork01 #1

Closed
ElEgEv wants to merge 26 commits from LabWork01 into main
14 changed files with 39 additions and 39 deletions
Showing only changes of commit 950263a842 - Show all commits

View File

@ -29,7 +29,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
//вывод отфильтрованного списка компонентов
public List<ComponentViewModel>? ReadList(ComponentSearchModel? model)
{
_logger.LogInformation("ReadList. ComponentName:{ComponentName}. Id:{Id}", model?.ComponentName, model?.Id);
_logger.LogInformation("ReadList. WorkPieceName:{WorkPieceName}. Id:{Id}", model?.WorkPieceName, model?.Id);
//list хранит весь список в случае, если model пришло со значением null на вход метода
var list = model == null ? _componentStorage.GetFullList() : _componentStorage.GetFilteredList(model);
@ -53,7 +53,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
throw new ArgumentNullException(nameof(model));
}
_logger.LogInformation("ReadElement. ComponentName:{Componentame}. Id:{Id}", model.ComponentName, model.Id);
_logger.LogInformation("ReadElement. WorkPieceName:{Componentame}. Id:{Id}", model.WorkPieceName, model.Id);
var element = _componentStorage.GetElement(model);
@ -125,8 +125,8 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
}
//проверка на наличие названия компонента
if (string.IsNullOrEmpty(model.ComponentName)){
throw new ArgumentNullException("Нет названия компонента", nameof(model.ComponentName));
if (string.IsNullOrEmpty(model.WorkPieceName)){
throw new ArgumentNullException("Нет названия компонента", nameof(model.WorkPieceName));
}
//проверка на наличие нормальной цены у компонента
@ -135,13 +135,13 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
throw new ArgumentNullException("Цена компонента должна быть больше 0", nameof(model.Cost));
}
_logger.LogInformation("Component. ComponentName:{ComponentName}. Cost:{Cost}. Id:{Id}",
model.ComponentName, model.Cost, model.Id);
_logger.LogInformation("Component. WorkPieceName:{WorkPieceName}. Cost:{Cost}. Id:{Id}",
model.WorkPieceName, model.Cost, model.Id);
//проверка на наличие такого же компонента в списке
var element = _componentStorage.GetElement(new ComponentSearchModel
{
ComponentName = model.ComponentName,
WorkPieceName = model.WorkPieceName,
});
if(element != null && element.Id != model.Id)

View File

@ -110,9 +110,9 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
}
//проверка корректности id у продуктов
if (model.ProductId < 0)
if (model.ArticleId < 0)
{
throw new ArgumentNullException("Некорректный id у продукта", nameof(model.ProductId));
throw new ArgumentNullException("Некорректный id у продукта", nameof(model.ArticleId));
}
//проверка корректности дат
@ -121,7 +121,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
throw new InvalidOperationException("Дата создания должна быть более ранней, нежели дата завершения");
}
_logger.LogInformation("Order. OrderId:{Id}. Sun:{Sum}. ProductId:{Id}", model.Id, model.Sum, model.ProductId);
_logger.LogInformation("Order. OrderId:{Id}. Sun:{Sum}. ArticleId:{Id}", model.Id, model.Sum, model.ArticleId);
}
//обновление статуса заказа

View File

@ -28,7 +28,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
//вывод отфильтрованного списка
public List<ProductViewModel>? ReadList(ProductSearchModel? model)
{
_logger.LogInformation("ReadList. ProductName:{ProductName}. Id:{Id}", model?.ProductName, model?.Id);
_logger.LogInformation("ReadList. ArticleName:{ArticleName}. Id:{Id}", model?.ArticleName, model?.Id);
//list хранит весь список в случае, если model пришло со значением null на вход метода
var list = model == null ? _productStorage.GetFullList() : _productStorage.GetFilteredList(model);
@ -52,7 +52,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
throw new ArgumentNullException(nameof(model));
}
_logger.LogInformation("ReadProduct. ProductName:{ProductName}. Id:{Id}", model.ProductName, model.Id);
_logger.LogInformation("ReadProduct. ArticleName:{ArticleName}. Id:{Id}", model.ArticleName, model.Id);
var element = _productStorage.GetElement(model);
@ -124,9 +124,9 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
}
//проверка на наличие названия продукта
if (string.IsNullOrEmpty(model.ProductName))
if (string.IsNullOrEmpty(model.ArticleName))
{
throw new ArgumentNullException("Нет названия продукта", nameof(model.ProductName));
throw new ArgumentNullException("Нет названия продукта", nameof(model.ArticleName));
}
//проверка на наличие нормальной цены у продукта
@ -135,13 +135,13 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
throw new ArgumentNullException("Цена продукта должна быть больше 0", nameof(model.Price));
}
_logger.LogInformation("Product. ProductName:{ProductName}. Price:{Price}. Id:{Id}",
model.ProductName, model.Price, model.Id);
_logger.LogInformation("Product. ArticleName:{ArticleName}. Price:{Price}. Id:{Id}",
model.ArticleName, model.Price, model.Id);
//проверка на наличие такого же продукта в списке
var element = _productStorage.GetElement(new ProductSearchModel
{
ProductName = model.ProductName,
ArticleName = model.ArticleName,
});
if(element != null && element.Id != model.Id)

View File

@ -8,12 +8,12 @@ using BlacksmithWorkshopDataModels.Models;
namespace BlacksmithWorkshopContracts.BindingModels
{
//реализация сущности "Компонент"
public class ComponentBindingModel : IComponentModel
public class ComponentBindingModel : IWorkPieceModel
{
public int Id { get; set; }
public double Cost { get; set; }
public string ComponentName { get; set; } = string.Empty;
public string WorkPieceName { get; set; } = string.Empty;
}
}

View File

@ -13,7 +13,7 @@ namespace BlacksmithWorkshopContracts.BindingModels
{
public int Id { get; set; }
public int ProductId { get; set; }
public int ArticleId { get; set; }
public int Count { get; set; }

View File

@ -8,14 +8,14 @@ using System.Threading.Tasks;
namespace BlacksmithWorkshopContracts.BindingModels
{
//реализация сущности "Продукт"
public class ProductBindingModel : IProductModel
public class ProductBindingModel : IArticleModel
{
public int Id { get; set; }
public string ProductName { get; set; } = string.Empty;
public string ArticleName { get; set; } = string.Empty;
public double Price { get; set; }
public Dictionary<int, (IComponentModel, int)> ProductComponents { get; set; } = new();
public Dictionary<int, (IWorkPieceModel, int)> ArticleWorkPiece { get; set; } = new();
}
}

View File

@ -13,7 +13,7 @@ namespace BlacksmithWorkshopContracts.SearchModels
public int? Id { get; set; }
//для поиска по названию
public string? ComponentName { get; set; }
public string? WorkPieceName { get; set; }
}
}

View File

@ -13,6 +13,6 @@ namespace BlacksmithWorkshopContracts.SearchModels
public int? Id { get; set; }
//для поиска по названию
public string? ProductName { get; set; }
public string? ArticleName { get; set; }
}
}

View File

@ -9,12 +9,12 @@ using System.Threading.Tasks;
namespace BlacksmithWorkshopContracts.ViewModels
{
//класс для отображения пользователю данных о компонентах
public class ComponentViewModel : IComponentModel
public class ComponentViewModel : IWorkPieceModel
{
public int Id { get; set; }
[DisplayName("Название компонента")]
public string ComponentName { get; set; } = string.Empty;
public string WorkPieceName { get; set; } = string.Empty;
[DisplayName("Цена")]
public double Cost { get; set; }

View File

@ -15,10 +15,10 @@ namespace BlacksmithWorkshopContracts.ViewModels
[DisplayName("Номер")]
public int Id { get; set; }
public int ProductId { get; set; }
public int ArticleId { get; set; }
[DisplayName("Изделие")]
public string ProductName { get; set; } = string.Empty;
public string ArticleName { get; set; } = string.Empty;
[DisplayName("Количество")]
public int Count { get; set; }

View File

@ -9,16 +9,16 @@ using System.Threading.Tasks;
namespace BlacksmithWorkshopContracts.ViewModels
{
//класс для отображения пользователю информаци о продуктах
public class ProductViewModel : IProductModel
public class ProductViewModel : IArticleModel
{
public int Id { get; set; }
[DisplayName("Навание изделия")]
public string ProductName { get; set; } = string.Empty;
public string ArticleName { get; set; } = string.Empty;
[DisplayName("Цена")]
public double Price { get; set; }
public Dictionary<int, (IComponentModel, int)> ProductComponents { get; set; } = new();
public Dictionary<int, (IWorkPieceModel, int)> ArticleWorkPiece { get; set; } = new();
}
}

View File

@ -7,15 +7,15 @@ using System.Threading.Tasks;
namespace BlacksmithWorkshopDataModels.Models
{
//интерфейс, отвечающий за продукт
public interface IProductModel : IId
public interface IArticleModel : IId
{
//наименование изделия
string ProductName { get; }
string ArticleName { get; }
//цена изделия
double Price { get; }
//словарь, хранящий пары кол-во + компонент и его цена
Dictionary<int, (IComponentModel, int)> ProductComponents { get; }
Dictionary<int, (IWorkPieceModel, int)> ArticleWorkPiece { get; }
}
}

View File

@ -7,11 +7,11 @@ using BlacksmithWorkshopDataModels.Enums;
namespace BlacksmithWorkshopDataModels.Models
{
//интерфейс, отвечающий за чек
//интерфейс, отвечающий за заказ
public interface IOrderModel : IId
{
//id продукта
int ProductId { get; }
int ArticleId { get; }
//кол-во продуктов
int Count { get; }

View File

@ -7,10 +7,10 @@ using System.Threading.Tasks;
namespace BlacksmithWorkshopDataModels.Models
{
//интерфейс, отвечающий за компоненты
public interface IComponentModel : IId
public interface IWorkPieceModel : IId
{
//название составляющей (изделие состоит из составляющих)
string ComponentName { get; }
string WorkPieceName { get; }
//цена составляющей
double Cost { get; }