Eliseev E.E. LabWork01 #1
25
AbstractShopDataModels/AbstractShopDataModels.sln
Normal file
25
AbstractShopDataModels/AbstractShopDataModels.sln
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.4.33103.184
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AbstractShopDataModels", "AbstractShopDataModels\AbstractShopDataModels.csproj", "{7388459F-91DB-40D9-8999-500015301160}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7388459F-91DB-40D9-8999-500015301160}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7388459F-91DB-40D9-8999-500015301160}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7388459F-91DB-40D9-8999-500015301160}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7388459F-91DB-40D9-8999-500015301160}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {60688C9E-4871-4357-A48F-63718AD0FA65}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
@ -0,0 +1,9 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
@ -0,0 +1,12 @@
|
||||
namespace AbstractShopDataModels
|
||||
{
|
||||
//интерфейс, отвечающий за компоненты
|
||||
internal interface IComponentModel : IId
|
||||
{
|
||||
//название составляющей (изделие состоит из составляющих)
|
||||
string ComponentName { get; }
|
||||
|
||||
//цена составляющей
|
||||
double Cost { get; }
|
||||
}
|
||||
}
|
8
AbstractShopDataModels/AbstractShopDataModels/IId.cs
Normal file
8
AbstractShopDataModels/AbstractShopDataModels/IId.cs
Normal file
@ -0,0 +1,8 @@
|
||||
namespace AbstractShopDataModels
|
||||
{
|
||||
//интерфейс, отвечающий за id у компонентов, продуктов и чеков
|
||||
internal interface IId
|
||||
{
|
||||
int Id { get; }
|
||||
}
|
||||
}
|
26
AbstractShopDataModels/AbstractShopDataModels/IOrderModel.cs
Normal file
26
AbstractShopDataModels/AbstractShopDataModels/IOrderModel.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using AbstractShopDataModels.Enums;
|
||||
|
||||
namespace AbstractShopDataModels
|
||||
{
|
||||
//интерфейс, отвечающий за чек
|
||||
internal interface IOrderModel : IId
|
||||
{
|
||||
//id продукта
|
||||
int ProductId { get; }
|
||||
|
||||
//кол-во продуктов
|
||||
int Count { get; }
|
||||
|
||||
//суммарная стоимость продуктов
|
||||
double Sum { get; }
|
||||
|
||||
//статус заказа
|
||||
OrderStatus Status { get; }
|
||||
|
||||
//дата создания заказа
|
||||
DateTime DateCreate { get; }
|
||||
|
||||
//дата завершения заказа (не обязательна к указанию сразу)
|
||||
DateTime? DateImplement { get; }
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AbstractShopDataModels
|
||||
{
|
||||
//интерфейс, отвечающий за продукт
|
||||
internal interface IProductModel : IId
|
||||
{
|
||||
//наименование изделия
|
||||
string ProductName { get; }
|
||||
|
||||
//цена изделия
|
||||
double Price { get; }
|
||||
|
||||
//словарь, хранящий пары кол-во + компонент и его цена
|
||||
Dictionary<int, (IComponentModel, int)> ProductComponents { get; }
|
||||
}
|
||||
}
|
16
AbstractShopDataModels/AbstractShopDataModels/OrderStatus.cs
Normal file
16
AbstractShopDataModels/AbstractShopDataModels/OrderStatus.cs
Normal file
@ -0,0 +1,16 @@
|
||||
namespace AbstractShopDataModels.Enums
|
||||
{
|
||||
//статус заказа
|
||||
public enum OrderStatus
|
||||
{
|
||||
Неизвестен = -1,
|
||||
|
||||
Принят = 0,
|
||||
|
||||
Выполняется = 1,
|
||||
|
||||
Готов = 2,
|
||||
|
||||
Выдан = 3
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user