Eliseev E.E. LabWork01 #1
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
//обновление статуса заказа
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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; }
|
||||
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ namespace BlacksmithWorkshopContracts.SearchModels
|
||||
public int? Id { get; set; }
|
||||
|
||||
//для поиска по названию
|
||||
public string? ComponentName { get; set; }
|
||||
public string? WorkPieceName { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -13,6 +13,6 @@ namespace BlacksmithWorkshopContracts.SearchModels
|
||||
public int? Id { get; set; }
|
||||
|
||||
//для поиска по названию
|
||||
public string? ProductName { get; set; }
|
||||
public string? ArticleName { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -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; }
|
||||
|
@ -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; }
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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; }
|
||||
}
|
||||
}
|
@ -7,11 +7,11 @@ using BlacksmithWorkshopDataModels.Enums;
|
||||
|
||||
namespace BlacksmithWorkshopDataModels.Models
|
||||
{
|
||||
//интерфейс, отвечающий за чек
|
||||
//интерфейс, отвечающий за заказ
|
||||
public interface IOrderModel : IId
|
||||
{
|
||||
//id продукта
|
||||
int ProductId { get; }
|
||||
int ArticleId { get; }
|
||||
|
||||
//кол-во продуктов
|
||||
int Count { get; }
|
||||
|
@ -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; }
|
Loading…
Reference in New Issue
Block a user