Eliseev E.E. LabWork01 #1

Closed
ElEgEv wants to merge 26 commits from LabWork01 into main
5 changed files with 45 additions and 45 deletions
Showing only changes of commit 3b4adf6001 - Show all commits

View File

@ -12,17 +12,17 @@ using System.Threading.Tasks;
namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
{
internal class ProductLogic : IArticleLogic
internal class ArticleLogic : IArticleLogic
{
private readonly ILogger _logger;
private readonly IArticleStorage _productStorage;
private readonly IArticleStorage _articleStorage;
//конструктор
public ProductLogic(ILogger<ProductLogic> logger, IArticleStorage productStorage)
public ArticleLogic(ILogger<ArticleLogic> logger, IArticleStorage productStorage)
{
_logger = logger;
_productStorage = productStorage;
_articleStorage = productStorage;
}
//вывод отфильтрованного списка
@ -31,7 +31,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
_logger.LogInformation("ReadList. ArticleName:{ArticleName}. Id:{Id}", model?.ArticleName, model?.Id);
//list хранит весь список в случае, если model пришло со значением null на вход метода
var list = model == null ? _productStorage.GetFullList() : _productStorage.GetFilteredList(model);
var list = model == null ? _articleStorage.GetFullList() : _articleStorage.GetFilteredList(model);
if(list == null)
{
@ -44,7 +44,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return list;
}
//вывод конкретного продукта
//вывод конкретного изделия
public ArticleViewModel? ReadProduct(ArticleSearchModel model)
{
if(model == null)
@ -54,7 +54,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
_logger.LogInformation("ReadProduct. ArticleName:{ArticleName}. Id:{Id}", model.ArticleName, model.Id);
var element = _productStorage.GetElement(model);
var element = _articleStorage.GetElement(model);
if(element == null)
{
@ -67,12 +67,12 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return element;
}
//Создание продукта
//Создание изделия
public bool Create(ArticleBindingModel model)
{
CheckModel(model);
if(_productStorage.Insert(model) == null)
if(_articleStorage.Insert(model) == null)
{
_logger.LogWarning("Create operation failed");
return false;
@ -81,12 +81,12 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return true;
}
//обновление продукта
//обновление изделия
public bool Update(ArticleBindingModel model)
{
CheckModel(model);
if(_productStorage.Update(model) == null)
if(_articleStorage.Update(model) == null)
{
_logger.LogWarning("Update operation failed");
return false;
@ -95,12 +95,12 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return true;
}
//удаление продукта
//удаление изделия
public bool Delete(ArticleBindingModel model)
{
CheckModel(model);
if(_productStorage.Delete(model) == null)
if(_articleStorage.Delete(model) == null)
{
_logger.LogWarning("Delete operation failed");
return false;
@ -123,30 +123,30 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return;
}
//проверка на наличие названия продукта
//проверка на наличие названия изделия
if (string.IsNullOrEmpty(model.ArticleName))
{
throw new ArgumentNullException("Нет названия продукта", nameof(model.ArticleName));
throw new ArgumentNullException("Нет названия изделия", nameof(model.ArticleName));
}
//проверка на наличие нормальной цены у продукта
//проверка на наличие нормальной цены у изделия
if(model.Price <= 0)
{
throw new ArgumentNullException("Цена продукта должна быть больше 0", nameof(model.Price));
throw new ArgumentNullException("Цена изделия должна быть больше 0", nameof(model.Price));
}
_logger.LogInformation("Product. ArticleName:{ArticleName}. Price:{Price}. Id:{Id}",
_logger.LogInformation("Article. ArticleName:{ArticleName}. Price:{Price}. Id:{Id}",
model.ArticleName, model.Price, model.Id);
//проверка на наличие такого же продукта в списке
var element = _productStorage.GetElement(new ArticleSearchModel
//проверка на наличие такого же изделия в списке
var element = _articleStorage.GetElement(new ArticleSearchModel
{
ArticleName = model.ArticleName,
});
if(element != null && element.Id != model.Id)
{
throw new InvalidOperationException("Компонент с таким названием уже есть");
throw new InvalidOperationException("Изделие с таким названием уже есть");
}
}
}

View File

@ -100,7 +100,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
//проверка на наличие товаров в заказе
if(model.Count <= 0)
{
throw new ArgumentNullException("В заказе не может быть 0 продуктов", nameof(model.Count));
throw new ArgumentNullException("В заказе не может быть 0 изделий", nameof(model.Count));
}
//проверка на наличие нормальной суммарной стоимости чека
@ -109,10 +109,10 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
throw new ArgumentNullException("Суммарная стоимость заказа должна быть больше 0", nameof(model.Sum));
}
//проверка корректности id у продуктов
//проверка корректности id у изделий
if (model.ArticleId < 0)
{
throw new ArgumentNullException("Некорректный id у продукта", nameof(model.ArticleId));
throw new ArgumentNullException("Некорректный id у изделия", nameof(model.ArticleId));
}
//проверка корректности дат

View File

@ -17,13 +17,13 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
{
private readonly ILogger _logger;
private readonly IWorkPieceStorage _componentStorage;
private readonly IWorkPieceStorage _workPieceStorage;
//конструктор
public ComponentLogic(ILogger<ComponentLogic> logger, IWorkPieceStorage componentStorage)
{
_logger = logger;
_componentStorage = componentStorage;
_workPieceStorage = componentStorage;
}
//вывод отфильтрованного списка компонентов
@ -32,7 +32,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
_logger.LogInformation("ReadList. WorkPieceName:{WorkPieceName}. Id:{Id}", model?.WorkPieceName, model?.Id);
//list хранит весь список в случае, если model пришло со значением null на вход метода
var list = model == null ? _componentStorage.GetFullList() : _componentStorage.GetFilteredList(model);
var list = model == null ? _workPieceStorage.GetFullList() : _workPieceStorage.GetFilteredList(model);
if(list == null)
{
@ -45,7 +45,7 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return list;
}
//вывод конкретного компонента
//вывод конкретного заготовки
public WorkPieceViewModel? ReadElement(WorkPieceSearchModel model)
{
if(model == null)
@ -53,9 +53,9 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
throw new ArgumentNullException(nameof(model));
}
_logger.LogInformation("ReadElement. WorkPieceName:{Componentame}. Id:{Id}", model.WorkPieceName, model.Id);
_logger.LogInformation("ReadElement. WorkPieceName:{WorkPieceName}. Id:{Id}", model.WorkPieceName, model.Id);
var element = _componentStorage.GetElement(model);
var element = _workPieceStorage.GetElement(model);
if(element == null)
{
@ -68,12 +68,12 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return element;
}
//создание компонента
//создание заготовки
public bool Create(WorkPieceBindingModel model)
{
CheckModel(model);
if(_componentStorage.Insert(model) == null)
if(_workPieceStorage.Insert(model) == null)
{
_logger.LogWarning("Insert operation failed");
return false;
@ -82,12 +82,12 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return true;
}
//обновление компонента
//обновление заготовки
public bool Update(WorkPieceBindingModel model)
{
CheckModel(model);
if(_componentStorage.Update(model) == null)
if(_workPieceStorage.Update(model) == null)
{
_logger.LogWarning("Update operation failed");
return false;
@ -96,12 +96,12 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return true;
}
//удаление компонента
//удаление заготовки
public bool Delete(WorkPieceBindingModel model)
{
CheckModel(model);
if (_componentStorage.Delete(model) == null)
if (_workPieceStorage.Delete(model) == null)
{
_logger.LogWarning("Delete operation failed");
return false;
@ -124,29 +124,29 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogic
return;
}
//проверка на наличие названия компонента
//проверка на наличие названия заготовки
if (string.IsNullOrEmpty(model.WorkPieceName)){
throw new ArgumentNullException("Нет названия компонента", nameof(model.WorkPieceName));
throw new ArgumentNullException("Нет названия заготовки", nameof(model.WorkPieceName));
}
//проверка на наличие нормальной цены у компонента
//проверка на наличие нормальной цены у заготовки
if(model.Cost <= 0)
{
throw new ArgumentNullException("Цена компонента должна быть больше 0", nameof(model.Cost));
throw new ArgumentNullException("Цена заготовки должна быть больше 0", nameof(model.Cost));
}
_logger.LogInformation("Component. WorkPieceName:{WorkPieceName}. Cost:{Cost}. Id:{Id}",
model.WorkPieceName, model.Cost, model.Id);
//проверка на наличие такого же компонента в списке
var element = _componentStorage.GetElement(new WorkPieceSearchModel
//проверка на наличие такой же заготовки в списке
var element = _workPieceStorage.GetElement(new WorkPieceSearchModel
{
WorkPieceName = model.WorkPieceName,
});
if(element != null && element.Id != model.Id)
{
throw new InvalidOperationException("Компонент с таким названием уже есть");
throw new InvalidOperationException("Заготовка с таким названием уже есть");
}
}
}

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace BlacksmithWorkshopContracts.SearchModels
{
//модель для поиска компонента "Продукт" (она же изделие)
//модель для поиска заготовки "Продукт" (она же изделие)
public class ArticleSearchModel
{
//для поиска по идентификатору

View File

@ -8,7 +8,7 @@ using System.Threading.Tasks;
namespace BlacksmithWorkshopContracts.ViewModels
{
//класс для отображения пользователю данных о компонентах (заготовках)
//класс для отображения пользователю данных о заготовких (заготовках)
public class WorkPieceViewModel : IWorkPieceModel
{
public int Id { get; set; }