Eliseev E.E. LabWork01 #1

Closed
ElEgEv wants to merge 26 commits from LabWork01 into main
7 changed files with 117 additions and 0 deletions
Showing only changes of commit 67538380e3 - Show all commits

View 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

View File

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,12 @@
namespace AbstractShopDataModels
{
//интерфейс, отвечающий за компоненты
internal interface IComponentModel : IId
{
//название составляющей (изделие состоит из составляющих)
string ComponentName { get; }
//цена составляющей
double Cost { get; }
}
}

View File

@ -0,0 +1,8 @@
namespace AbstractShopDataModels
{
//интерфейс, отвечающий за id у компонентов, продуктов и чеков
internal interface IId
{
int Id { get; }
}
}

View 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; }
}
}

View File

@ -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; }
}
}

View File

@ -0,0 +1,16 @@
namespace AbstractShopDataModels.Enums
{
//статус заказа
public enum OrderStatus
{
Неизвестен = -1,
Принят = 0,
Выполняется = 1,
Готов = 2,
Выдан = 3
}
}