Compare commits

...

4 Commits

255 changed files with 11185 additions and 0 deletions

39
Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,39 @@
namespace SoftwareInstallation
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Text = "Form1";
}
#endregion
}
}

10
Form1.cs Normal file
View File

@ -0,0 +1,10 @@
namespace SoftwareInstallation
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}

120
Form1.resx Normal file
View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

17
Program.cs Normal file
View File

@ -0,0 +1,17 @@
namespace SoftwareInstallation
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows7.0</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.1" />
<PackageReference Include="NLog" Version="5.3.3" />
</ItemGroup>
<ItemGroup>
<Compile Update="FormComponent.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="FormMain.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="FormPackageComponent.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Update="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="SoftwareInstallationContracts\StoragesContracts\IOrderStorage.cs">
<SubType>Component</SubType>
</Compile>
<Compile Update="SoftwareInstallationView\FormComponent.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="SoftwareInstallationView\FormComponents.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="SoftwareInstallationView\FormCreateOrder.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="SoftwareInstallationView\FormMain.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="SoftwareInstallationView\FormPackage.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="SoftwareInstallationView\FormPackageComponent.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="SoftwareInstallationView\FormPackages.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>

64
SoftwareInstallation.sln Normal file
View File

@ -0,0 +1,64 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34714.143
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SoftwareInstallationDataModel", "SoftwareInstallationDataModel\SoftwareInstallationDataModel.csproj", "{7EDECA65-6956-483C-BEE7-C26CF92E8926}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SoftwareInstallationContracts", "SoftwareInstallationContracts\SoftwareInstallationContracts.csproj", "{3D58CBEC-4C57-4905-B8AF-9EE4E08FA6D5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SoftwareInstallationListImplement", "SoftwareInstallationListImplement\SoftwareInstallationListImplement.csproj", "{ED534627-733B-4DA3-B8E2-C52E60A12EA4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SoftwareInstallationBusinessLogic", "SoftwareInstallationBusinessLogic\SoftwareInstallationBusinessLogic.csproj", "{AB30EAF3-FD89-4B1E-B826-0217877DD5FC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SoftwareInstallationView", "SoftwareInstallationView\SoftwareInstallationView.csproj", "{EB5E1375-60CA-40CD-9AD6-9C7B1D3C4458}"
ProjectSection(ProjectDependencies) = postProject
{DB624074-9CF3-48D9-88B4-8C8211683287} = {DB624074-9CF3-48D9-88B4-8C8211683287}
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SoftwareInstallationFileImplement", "SoftwareInstallationFileImplement\SoftwareInstallationFileImplement.csproj", "{62577A1E-CE13-4232-90B4-B615A9A77DB0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SoftwareInstallationDatabaseImplement", "SoftwareInstallationDatabaseImplement\SoftwareInstallationDatabaseImplement.csproj", "{DB624074-9CF3-48D9-88B4-8C8211683287}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7EDECA65-6956-483C-BEE7-C26CF92E8926}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7EDECA65-6956-483C-BEE7-C26CF92E8926}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7EDECA65-6956-483C-BEE7-C26CF92E8926}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7EDECA65-6956-483C-BEE7-C26CF92E8926}.Release|Any CPU.Build.0 = Release|Any CPU
{3D58CBEC-4C57-4905-B8AF-9EE4E08FA6D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3D58CBEC-4C57-4905-B8AF-9EE4E08FA6D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3D58CBEC-4C57-4905-B8AF-9EE4E08FA6D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3D58CBEC-4C57-4905-B8AF-9EE4E08FA6D5}.Release|Any CPU.Build.0 = Release|Any CPU
{ED534627-733B-4DA3-B8E2-C52E60A12EA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{ED534627-733B-4DA3-B8E2-C52E60A12EA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{ED534627-733B-4DA3-B8E2-C52E60A12EA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{ED534627-733B-4DA3-B8E2-C52E60A12EA4}.Release|Any CPU.Build.0 = Release|Any CPU
{AB30EAF3-FD89-4B1E-B826-0217877DD5FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB30EAF3-FD89-4B1E-B826-0217877DD5FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB30EAF3-FD89-4B1E-B826-0217877DD5FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB30EAF3-FD89-4B1E-B826-0217877DD5FC}.Release|Any CPU.Build.0 = Release|Any CPU
{EB5E1375-60CA-40CD-9AD6-9C7B1D3C4458}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EB5E1375-60CA-40CD-9AD6-9C7B1D3C4458}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EB5E1375-60CA-40CD-9AD6-9C7B1D3C4458}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EB5E1375-60CA-40CD-9AD6-9C7B1D3C4458}.Release|Any CPU.Build.0 = Release|Any CPU
{62577A1E-CE13-4232-90B4-B615A9A77DB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{62577A1E-CE13-4232-90B4-B615A9A77DB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{62577A1E-CE13-4232-90B4-B615A9A77DB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{62577A1E-CE13-4232-90B4-B615A9A77DB0}.Release|Any CPU.Build.0 = Release|Any CPU
{DB624074-9CF3-48D9-88B4-8C8211683287}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DB624074-9CF3-48D9-88B4-8C8211683287}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DB624074-9CF3-48D9-88B4-8C8211683287}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DB624074-9CF3-48D9-88B4-8C8211683287}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {394E7B2A-0516-4D3D-82E2-391CA0E72281}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,138 @@
using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.BusinessLogicContracts;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.StoragesContracts;
using SoftwareInstallationContracts.ViewModels;
using Microsoft.Extensions.Logging;
namespace SoftwareInstallationBusinessLogic.BusinessLogic
{
public class ComponentLogic : IComponentLogic
{
private readonly ILogger _logger;
private readonly IComponentStorage _componentStorage;
public ComponentLogic(ILogger<ComponentLogic> logger, IComponentStorage componentStorage)
{
_logger = logger;
_componentStorage = componentStorage;
}
public bool Create(ComponentBindingModel model)
{
CheckModel(model);
if (_componentStorage.Insert(model) == null)
{
_logger.LogWarning("Insert operation failed");
return false;
}
return true;
}
public bool Delete(ComponentBindingModel model)
{
CheckModel(model, false);
_logger.LogInformation("Delete. Id:{Id}", model.Id);
if (_componentStorage.Delete(model) == null)
{
_logger.LogWarning("Delete operation failed");
return false;
}
return true;
}
public ComponentViewModel? ReadElement(ComponentSearchModel model)
{
if (model == null)
{
throw new ArgumentNullException(nameof(model));
}
_logger.LogInformation("ReadElement. ComponentName:{ComponentName}.Id:{ Id}", model.ComponentName, model.Id);
var element = _componentStorage.GetElement(model);
if (element == null)
{
_logger.LogWarning("ReadElement element not found");
return null;
}
_logger.LogInformation("ReadElement find. Id:{Id}", element.Id);
return element;
}
public List<ComponentViewModel>? ReadList(ComponentSearchModel? model)
{
_logger.LogInformation("ReadList. ComponentName:{ComponentName}.Id:{ Id}", model?.ComponentName, model?.Id);
var list = model == null ? _componentStorage.GetFullList() : _componentStorage.GetFilteredList(model);
if (list == null)
{
_logger.LogWarning("ReadList return null list");
return null;
}
_logger.LogInformation("ReadList. Count:{Count}", list.Count);
return list;
}
public bool Update(ComponentBindingModel model)
{
CheckModel(model);
if (_componentStorage.Update(model) == null)
{
_logger.LogWarning("Update operation failed");
return false;
}
return true;
}
private void CheckModel(ComponentBindingModel model, bool withParams = true)
{
if (model == null)
{
throw new ArgumentNullException(nameof(model));
}
if (!withParams)
{
return;
}
if (string.IsNullOrEmpty(model.ComponentName))
{
throw new ArgumentNullException("Нет названия компонента", nameof(model.ComponentName));
}
if (model.Cost <= 0)
{
throw new ArgumentNullException("Цена компонента должна быть больше 0", nameof(model.Cost));
}
_logger.LogInformation("Component. ComponentName:{ComponentName}.Cost:{ Cost}. Id: { Id}", model.ComponentName, model.Cost, model.Id);
var element = _componentStorage.GetElement(new ComponentSearchModel
{
ComponentName = model.ComponentName
});
if (element != null && element.Id != model.Id)
{
throw new InvalidOperationException("Компонент с таким названием уже есть");
}
}
}
}

View File

@ -0,0 +1,130 @@
using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.BusinessLogicContracts;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.StoragesContracts;
using SoftwareInstallationContracts.ViewModels;
using SoftwareInstallationDataModel.Enums;
using Microsoft.Extensions.Logging;
namespace SoftwareInstallationBusinessLogic.BusinessLogic
{
public class OrderLogic : IOrderLogic
{
private readonly ILogger _logger;
private readonly IOrderStorage _orderStorage;
public OrderLogic(ILogger<OrderLogic> logger, IOrderStorage orderStorage)
{
_logger = logger;
_orderStorage = orderStorage;
}
public bool CreateOrder(OrderBindingModel model)
{
CheckModel(model);
if (model.Status != OrderStatus.Неизвестен)
{
_logger.LogWarning("Insert operation failed. Order status incorrect.");
return false;
}
model.Status = OrderStatus.Принят;
if (_orderStorage.Insert(model) == null)
{
model.Status = OrderStatus.Неизвестен;
_logger.LogWarning("Insert operation failed");
return false;
}
return true;
}
public bool StatusUpdate(OrderBindingModel model, OrderStatus newStatus)
{
CheckModel(model);
if (model.Status + 1 != newStatus)
{
_logger.LogWarning("Status update to " + newStatus.ToString() + " operation failed. Order status incorrect.");
return false;
}
model.Status = newStatus;
if (model.Status == OrderStatus.Выдан)
model.DateImplement = DateTime.Now;
if (_orderStorage.Update(model) == null)
{
model.Status--;
_logger.LogWarning("Update operation failed");
return false;
}
return true;
}
public bool TakeOrderInWork(OrderBindingModel model)
{
return StatusUpdate(model, OrderStatus.Выполняется);
}
public bool DeliveryOrder(OrderBindingModel model)
{
return StatusUpdate(model, OrderStatus.Готов);
}
public bool FinishOrder(OrderBindingModel model)
{
return StatusUpdate(model, OrderStatus.Выдан);
}
public List<OrderViewModel>? ReadList(OrderSearchModel? model)
{
_logger.LogInformation("Order. OrderId:{Id}", model?.Id);
var list = model == null ? _orderStorage.GetFullList() : _orderStorage.GetFilteredList(model);
if (list == null)
{
_logger.LogWarning("ReadList return null list");
return null;
}
_logger.LogInformation("ReadList. Count:{Count}", list.Count);
return list;
}
private void CheckModel(OrderBindingModel model, bool withParams = true)
{
if (model == null)
{
throw new ArgumentNullException(nameof(model));
}
if (!withParams)
{
return;
}
if (model.PackageId < 0)
{
throw new ArgumentNullException("Некорректный идентификатор изделия", nameof(model.PackageId));
}
if (model.Count <= 0)
{
throw new ArgumentNullException("Количество изделий в заказе должно быть больше 0", nameof(model.Count));
}
if (model.Sum <= 0)
{
throw new ArgumentNullException("Сумма заказа должна быть больше 0", nameof(model.Sum));
}
_logger.LogInformation("Order. OrderId:{Id}.Sum:{ Sum}. PackageId: { PackageId}", model.Id, model.Sum, model.PackageId);
}
}
}

View File

@ -0,0 +1,137 @@
using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.BusinessLogicContracts;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.StoragesContracts;
using SoftwareInstallationContracts.ViewModels;
using Microsoft.Extensions.Logging;
namespace SoftwareInstallationBusinessLogic.BusinessLogic
{
public class PackageLogic : IPackageLogic
{
private readonly ILogger _logger;
private readonly IPackageStorage _packageStorage;
public PackageLogic(ILogger<PackageLogic> logger, IPackageStorage packageStorage)
{
_logger = logger;
_packageStorage = packageStorage;
}
public bool Create(PackageBindingModel model)
{
CheckModel(model);
if (_packageStorage.Insert(model) == null)
{
_logger.LogWarning("Insert operation failed");
return false;
}
return true;
}
public bool Delete(PackageBindingModel model)
{
CheckModel(model, false);
_logger.LogInformation("Delete. Id:{Id}", model.Id);
if (_packageStorage.Delete(model) == null)
{
_logger.LogWarning("Delete operation failed");
return false;
}
return true;
}
public PackageViewModel? ReadElement(PackageSearchModel model)
{
if (model == null)
{
throw new ArgumentNullException(nameof(model));
}
_logger.LogInformation("ReadElement. PackageName:{PackageName}.Id:{ Id}", model.PackageName, model.Id);
var element = _packageStorage.GetElement(model);
if (element == null)
{
_logger.LogWarning("ReadElement element not found");
return null;
}
_logger.LogInformation("ReadElement find. Id:{Id}", element.Id);
return element;
}
public List<PackageViewModel>? ReadList(PackageSearchModel? model)
{
_logger.LogInformation("ReadList. PackageName:{PackageName}.Id:{ Id}", model?.PackageName, model?.Id);
var list = model == null ? _packageStorage.GetFullList() : _packageStorage.GetFilteredList(model);
if (list == null)
{
_logger.LogWarning("ReadList return null list");
return null;
}
_logger.LogInformation("ReadList. Count:{Count}", list.Count);
return list;
}
public bool Update(PackageBindingModel model)
{
CheckModel(model);
if (_packageStorage.Update(model) == null)
{
_logger.LogWarning("Update operation failed");
return false;
}
return true;
}
private void CheckModel(PackageBindingModel model, bool withParams = true)
{
if (model == null)
{
throw new ArgumentNullException(nameof(model));
}
if (!withParams)
{
return;
}
if (string.IsNullOrEmpty(model.PackageName))
{
throw new ArgumentNullException("Нет названия изделия", nameof(model.PackageName));
}
if (model.Price <= 0)
{
throw new ArgumentNullException("Цена изделия должна быть больше 0", nameof(model.Price));
}
_logger.LogInformation("Package. PackageName:{PackageName}.Price:{ Cost}. Id: { Id}", model.PackageName, model.Price, model.Id);
var element = _packageStorage.GetElement(new PackageSearchModel
{
PackageName = model.PackageName
});
if (element != null && element.Id != model.Id)
{
throw new InvalidOperationException("Изделие с таким названием уже есть");
}
}
}
}

View File

@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SoftwareInstallationContracts\SoftwareInstallationContracts.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,167 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"SoftwareInstallationBusinessLogic/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Logging": "8.0.0",
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
"SoftwareInstallationContracts": "1.0.0"
},
"runtime": {
"SoftwareInstallationBusinessLogic.dll": {}
}
},
"Microsoft.Extensions.DependencyInjection/8.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
"runtime": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.324.11423"
}
}
},
"Microsoft.Extensions.Logging/8.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "8.0.0",
"Microsoft.Extensions.Logging.Abstractions": "8.0.1",
"Microsoft.Extensions.Options": "8.0.0"
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Logging.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.Logging.Abstractions/8.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.324.11423"
}
}
},
"Microsoft.Extensions.Options/8.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Options.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"Microsoft.Extensions.Primitives/8.0.0": {
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Primitives.dll": {
"assemblyVersion": "8.0.0.0",
"fileVersion": "8.0.23.53103"
}
}
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {},
"SoftwareInstallationContracts/1.0.0": {
"dependencies": {
"SoftwareInstallationDataModel": "1.0.0"
},
"runtime": {
"SoftwareInstallationContracts.dll": {}
}
},
"SoftwareInstallationDataModel/1.0.0": {
"runtime": {
"SoftwareInstallationDataModel.dll": {}
}
}
}
},
"libraries": {
"SoftwareInstallationBusinessLogic/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.Extensions.DependencyInjection/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==",
"path": "microsoft.extensions.dependencyinjection/8.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-fGLiCRLMYd00JYpClraLjJTNKLmMJPnqxMaiRzEBIIvevlzxz33mXy39Lkd48hu1G+N21S7QpaO5ZzKsI6FRuA==",
"path": "microsoft.extensions.dependencyinjection.abstractions/8.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==",
"path": "microsoft.extensions.logging/8.0.0",
"hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/8.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-RIFgaqoaINxkM2KTOw72dmilDmTrYA0ns2KW4lDz4gZ2+o6IQ894CzmdL3StM2oh7QQq44nCWiqKqc4qUI9Jmg==",
"path": "microsoft.extensions.logging.abstractions/8.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.8.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==",
"path": "microsoft.extensions.options/8.0.0",
"hashPath": "microsoft.extensions.options.8.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
"path": "microsoft.extensions.primitives/8.0.0",
"hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
"path": "system.runtime.compilerservices.unsafe/6.0.0",
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
},
"SoftwareInstallationContracts/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"SoftwareInstallationDataModel/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]

View File

@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SoftwareInstallationBusinessLogic")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+52adfaa68743a640ed50e2eabebef13eb1571ef2")]
[assembly: System.Reflection.AssemblyProductAttribute("SoftwareInstallationBusinessLogic")]
[assembly: System.Reflection.AssemblyTitleAttribute("SoftwareInstallationBusinessLogic")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Создано классом WriteCodeFragment MSBuild.

View File

@ -0,0 +1 @@
a81551a5ff6c79b8f4316634b66532f41412fcb6c13d233b263b97da8872e172

View File

@ -0,0 +1,13 @@
is_global = true
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = SoftwareInstallationBusinessLogic
build_property.ProjectDir = C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -0,0 +1 @@
b3cbcca1ef81f9f0d88ef4e09cf6e65766a6ba10baac2c9cf78f26c87e077b5a

View File

@ -0,0 +1,17 @@
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\bin\Debug\net6.0\SoftwareInstallationBusinessLogic.deps.json
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\bin\Debug\net6.0\SoftwareInstallationBusinessLogic.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\bin\Debug\net6.0\SoftwareInstallationBusinessLogic.pdb
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\bin\Debug\net6.0\SoftwareInstallationContracts.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\bin\Debug\net6.0\SoftwareInstallationDataModel.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\bin\Debug\net6.0\SoftwareInstallationContracts.pdb
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\bin\Debug\net6.0\SoftwareInstallationDataModel.pdb
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\SoftwareInstallationBusinessLogic.csproj.AssemblyReference.cache
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\SoftwareInstallationBusinessLogic.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\SoftwareInstallationBusinessLogic.AssemblyInfoInputs.cache
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\SoftwareInstallationBusinessLogic.AssemblyInfo.cs
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\SoftwareInstallationBusinessLogic.csproj.CoreCompileInputs.cache
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\Software.C390CAD8.Up2Date
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\SoftwareInstallationBusinessLogic.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\refint\SoftwareInstallationBusinessLogic.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\SoftwareInstallationBusinessLogic.pdb
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationBusinessLogic\obj\Debug\net6.0\ref\SoftwareInstallationBusinessLogic.dll

View File

@ -0,0 +1,248 @@
{
"format": 1,
"restore": {
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationBusinessLogic\\SoftwareInstallationBusinessLogic.csproj": {}
},
"projects": {
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationBusinessLogic\\SoftwareInstallationBusinessLogic.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationBusinessLogic\\SoftwareInstallationBusinessLogic.csproj",
"projectName": "SoftwareInstallationBusinessLogic",
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationBusinessLogic\\SoftwareInstallationBusinessLogic.csproj",
"packagesPath": "C:\\Users\\valit\\.nuget\\packages\\",
"outputPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationBusinessLogic\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\valit\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj": {
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[8.0.0, )"
},
"Microsoft.Extensions.Logging.Abstractions": {
"target": "Package",
"version": "[8.0.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.WindowsDesktop.App.Ref",
"version": "[6.0.28, 6.0.28]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj",
"projectName": "SoftwareInstallationContracts",
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj",
"packagesPath": "C:\\Users\\valit\\.nuget\\packages\\",
"outputPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\valit\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj": {
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.WindowsDesktop.App.Ref",
"version": "[6.0.28, 6.0.28]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj",
"projectName": "SoftwareInstallationDataModel",
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj",
"packagesPath": "C:\\Users\\valit\\.nuget\\packages\\",
"outputPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\valit\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.WindowsDesktop.App.Ref",
"version": "[6.0.28, 6.0.28]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\valit\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.2</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\valit\.nuget\packages\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\8.0.0\buildTransitive\net6.0\Microsoft.Extensions.Options.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.1\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\8.0.1\buildTransitive\net6.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
</ImportGroup>
</Project>

View File

@ -0,0 +1,541 @@
{
"version": 3,
"targets": {
"net6.0": {
"Microsoft.Extensions.DependencyInjection/8.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0"
},
"compile": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Logging/8.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "8.0.0",
"Microsoft.Extensions.Logging.Abstractions": "8.0.0",
"Microsoft.Extensions.Options": "8.0.0"
},
"compile": {
"lib/net6.0/Microsoft.Extensions.Logging.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Logging.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Logging.Abstractions/8.0.1": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.1"
},
"compile": {
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
}
},
"Microsoft.Extensions.Options/8.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
"Microsoft.Extensions.Primitives": "8.0.0"
},
"compile": {
"lib/net6.0/Microsoft.Extensions.Options.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Options.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/Microsoft.Extensions.Options.targets": {}
}
},
"Microsoft.Extensions.Primitives/8.0.0": {
"type": "package",
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"type": "package",
"compile": {
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"SoftwareInstallationContracts/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v6.0",
"dependencies": {
"SoftwareInstallationDataModel": "1.0.0"
},
"compile": {
"bin/placeholder/SoftwareInstallationContracts.dll": {}
},
"runtime": {
"bin/placeholder/SoftwareInstallationContracts.dll": {}
}
},
"SoftwareInstallationDataModel/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v6.0",
"compile": {
"bin/placeholder/SoftwareInstallationDataModel.dll": {}
},
"runtime": {
"bin/placeholder/SoftwareInstallationDataModel.dll": {}
}
}
}
},
"libraries": {
"Microsoft.Extensions.DependencyInjection/8.0.0": {
"sha512": "V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets",
"lib/net462/Microsoft.Extensions.DependencyInjection.dll",
"lib/net462/Microsoft.Extensions.DependencyInjection.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/net8.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net8.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
"microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection.Abstractions/8.0.1": {
"sha512": "fGLiCRLMYd00JYpClraLjJTNKLmMJPnqxMaiRzEBIIvevlzxz33mXy39Lkd48hu1G+N21S7QpaO5ZzKsI6FRuA==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection.abstractions/8.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
"lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"microsoft.extensions.dependencyinjection.abstractions.8.0.1.nupkg.sha512",
"microsoft.extensions.dependencyinjection.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Logging/8.0.0": {
"sha512": "tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==",
"type": "package",
"path": "microsoft.extensions.logging/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Logging.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets",
"lib/net462/Microsoft.Extensions.Logging.dll",
"lib/net462/Microsoft.Extensions.Logging.xml",
"lib/net6.0/Microsoft.Extensions.Logging.dll",
"lib/net6.0/Microsoft.Extensions.Logging.xml",
"lib/net7.0/Microsoft.Extensions.Logging.dll",
"lib/net7.0/Microsoft.Extensions.Logging.xml",
"lib/net8.0/Microsoft.Extensions.Logging.dll",
"lib/net8.0/Microsoft.Extensions.Logging.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.xml",
"lib/netstandard2.1/Microsoft.Extensions.Logging.dll",
"lib/netstandard2.1/Microsoft.Extensions.Logging.xml",
"microsoft.extensions.logging.8.0.0.nupkg.sha512",
"microsoft.extensions.logging.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Logging.Abstractions/8.0.1": {
"sha512": "RIFgaqoaINxkM2KTOw72dmilDmTrYA0ns2KW4lDz4gZ2+o6IQ894CzmdL3StM2oh7QQq44nCWiqKqc4qUI9Jmg==",
"type": "package",
"path": "microsoft.extensions.logging.abstractions/8.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/net6.0/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets",
"lib/net462/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net462/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
"microsoft.extensions.logging.abstractions.8.0.1.nupkg.sha512",
"microsoft.extensions.logging.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Options/8.0.0": {
"sha512": "JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==",
"type": "package",
"path": "microsoft.extensions.options/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll",
"analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
"buildTransitive/net461/Microsoft.Extensions.Options.targets",
"buildTransitive/net462/Microsoft.Extensions.Options.targets",
"buildTransitive/net6.0/Microsoft.Extensions.Options.targets",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets",
"buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets",
"lib/net462/Microsoft.Extensions.Options.dll",
"lib/net462/Microsoft.Extensions.Options.xml",
"lib/net6.0/Microsoft.Extensions.Options.dll",
"lib/net6.0/Microsoft.Extensions.Options.xml",
"lib/net7.0/Microsoft.Extensions.Options.dll",
"lib/net7.0/Microsoft.Extensions.Options.xml",
"lib/net8.0/Microsoft.Extensions.Options.dll",
"lib/net8.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.0/Microsoft.Extensions.Options.dll",
"lib/netstandard2.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.1/Microsoft.Extensions.Options.dll",
"lib/netstandard2.1/Microsoft.Extensions.Options.xml",
"microsoft.extensions.options.8.0.0.nupkg.sha512",
"microsoft.extensions.options.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Primitives/8.0.0": {
"sha512": "bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
"type": "package",
"path": "microsoft.extensions.primitives/8.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"PACKAGE.md",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Primitives.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
"lib/net462/Microsoft.Extensions.Primitives.dll",
"lib/net462/Microsoft.Extensions.Primitives.xml",
"lib/net6.0/Microsoft.Extensions.Primitives.dll",
"lib/net6.0/Microsoft.Extensions.Primitives.xml",
"lib/net7.0/Microsoft.Extensions.Primitives.dll",
"lib/net7.0/Microsoft.Extensions.Primitives.xml",
"lib/net8.0/Microsoft.Extensions.Primitives.dll",
"lib/net8.0/Microsoft.Extensions.Primitives.xml",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
"microsoft.extensions.primitives.8.0.0.nupkg.sha512",
"microsoft.extensions.primitives.nuspec",
"useSharedDesignerContext.txt"
]
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
"type": "package",
"path": "system.runtime.compilerservices.unsafe/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/System.Runtime.CompilerServices.Unsafe.dll",
"lib/net461/System.Runtime.CompilerServices.Unsafe.xml",
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll",
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml",
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll",
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml",
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll",
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml",
"system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"system.runtime.compilerservices.unsafe.nuspec",
"useSharedDesignerContext.txt"
]
},
"SoftwareInstallationContracts/1.0.0": {
"type": "project",
"path": "../SoftwareInstallationContracts/SoftwareInstallationContracts.csproj",
"msbuildProject": "../SoftwareInstallationContracts/SoftwareInstallationContracts.csproj"
},
"SoftwareInstallationDataModel/1.0.0": {
"type": "project",
"path": "../SoftwareInstallationDataModel/SoftwareInstallationDataModel.csproj",
"msbuildProject": "../SoftwareInstallationDataModel/SoftwareInstallationDataModel.csproj"
}
},
"projectFileDependencyGroups": {
"net6.0": [
"Microsoft.Extensions.Logging >= 8.0.0",
"Microsoft.Extensions.Logging.Abstractions >= 8.0.1",
"SoftwareInstallationContracts >= 1.0.0"
]
},
"packageFolders": {
"C:\\Users\\valit\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationBusinessLogic\\SoftwareInstallationBusinessLogic.csproj",
"projectName": "SoftwareInstallationBusinessLogic",
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationBusinessLogic\\SoftwareInstallationBusinessLogic.csproj",
"packagesPath": "C:\\Users\\valit\\.nuget\\packages\\",
"outputPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationBusinessLogic\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\valit\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj": {
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"Microsoft.Extensions.Logging": {
"target": "Package",
"version": "[8.0.0, )"
},
"Microsoft.Extensions.Logging.Abstractions": {
"target": "Package",
"version": "[8.0.1, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.WindowsDesktop.App.Ref",
"version": "[6.0.28, 6.0.28]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"dgSpecHash": "wuOxAt4xS3UTYRpNAxDXjOHQPEW5OU+bXarFb1M2GBr5RV5pSnve4xWVM9Lj3nzafR9zrQKqH7SWSrTY27ucaA==",
"success": true,
"projectFilePath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationBusinessLogic\\SoftwareInstallationBusinessLogic.csproj",
"expectedPackageFiles": [
"C:\\Users\\valit\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\8.0.0\\microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\8.0.1\\microsoft.extensions.dependencyinjection.abstractions.8.0.1.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.extensions.logging\\8.0.0\\microsoft.extensions.logging.8.0.0.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\8.0.1\\microsoft.extensions.logging.abstractions.8.0.1.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.extensions.options\\8.0.0\\microsoft.extensions.options.8.0.0.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.extensions.primitives\\8.0.0\\microsoft.extensions.primitives.8.0.0.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.windowsdesktop.app.ref\\6.0.28\\microsoft.windowsdesktop.app.ref.6.0.28.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.netcore.app.ref\\6.0.28\\microsoft.netcore.app.ref.6.0.28.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.aspnetcore.app.ref\\6.0.28\\microsoft.aspnetcore.app.ref.6.0.28.nupkg.sha512"
],
"logs": []
}

View File

@ -0,0 +1,13 @@
using SoftwareInstallationDataModel.Models;
namespace SoftwareInstallationContracts.BindingModels
{
public class ComponentBindingModel : IComponentModel
{
public int Id { get; set; }
public string ComponentName { get; set; } = string.Empty;
public double Cost { get; set; }
}
}

View File

@ -0,0 +1,28 @@
using SoftwareInstallationDataModel.Enums;
using SoftwareInstallationDataModel.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoftwareInstallationContracts.BindingModels
{
public class OrderBindingModel : IOrderModel
{
public int Id { get; set; }
public int PackageId { get; set; }
public int Count { get; set; }
public double Sum { get; set; }
public OrderStatus Status { get; set; } = OrderStatus.Неизвестен;
public DateTime DateCreate { get; set; } = DateTime.Now;
public DateTime? DateImplement { get; set; }
public string PackageName { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,16 @@
using SoftwareInstallationDataModel.Models;
namespace SoftwareInstallationContracts.BindingModels
{
public class PackageBindingModel : IPackageModel
{
public int Id { get; set; }
public string PackageName { get; set; } = string.Empty;
public double Price { get; set; }
public Dictionary<int, (IComponentModel, int)> PackageComponents { get; set; } = new();
}
}

View File

@ -0,0 +1,19 @@
using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.ViewModels;
namespace SoftwareInstallationContracts.BusinessLogicContracts
{
public interface IComponentLogic
{
List<ComponentViewModel>? ReadList(ComponentSearchModel? model);
ComponentViewModel? ReadElement(ComponentSearchModel model);
bool Create(ComponentBindingModel model);
bool Update(ComponentBindingModel model);
bool Delete(ComponentBindingModel model);
}
}

View File

@ -0,0 +1,20 @@
using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoftwareInstallationContracts.BusinessLogicContracts
{
public interface IOrderLogic
{
List<OrderViewModel>? ReadList(OrderSearchModel? model);
bool CreateOrder(OrderBindingModel model);
bool TakeOrderInWork(OrderBindingModel model);
bool FinishOrder(OrderBindingModel model);
bool DeliveryOrder(OrderBindingModel model);
}
}

View File

@ -0,0 +1,19 @@
using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.ViewModels;
namespace SoftwareInstallationContracts.BusinessLogicContracts
{
public interface IPackageLogic
{
List<PackageViewModel>? ReadList(PackageSearchModel? model);
PackageViewModel? ReadElement(PackageSearchModel model);
bool Create(PackageBindingModel model);
bool Update(PackageBindingModel model);
bool Delete(PackageBindingModel model);
}
}

View File

@ -0,0 +1,9 @@
namespace SoftwareInstallationContracts.SearchModels
{
public class ComponentSearchModel
{
public int? Id { get; set; }
public string? ComponentName { get; set; }
}
}

View File

@ -0,0 +1,7 @@
namespace SoftwareInstallationContracts.SearchModels
{
public class OrderSearchModel
{
public int? Id { get; set; }
}
}

View File

@ -0,0 +1,9 @@
namespace SoftwareInstallationContracts.SearchModels
{
public class PackageSearchModel
{
public int? Id { get; set; }
public string? PackageName { get; set; }
}
}

View File

@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\SoftwareInstallationDataModel\SoftwareInstallationDataModel.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -0,0 +1,21 @@
using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.ViewModels;
namespace SoftwareInstallationContracts.StoragesContracts
{
public interface IComponentStorage
{
List<ComponentViewModel> GetFullList();
List<ComponentViewModel> GetFilteredList(ComponentSearchModel model);
ComponentViewModel? GetElement(ComponentSearchModel model);
ComponentViewModel? Insert(ComponentBindingModel model);
ComponentViewModel? Update(ComponentBindingModel model);
ComponentViewModel? Delete(ComponentBindingModel model);
}
}

View File

@ -0,0 +1,26 @@
using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoftwareInstallationContracts.StoragesContracts
{
public interface IOrderStorage
{
List<OrderViewModel> GetFullList();
List<OrderViewModel> GetFilteredList(OrderSearchModel model);
OrderViewModel? GetElement(OrderSearchModel model);
OrderViewModel? Insert(OrderBindingModel model);
OrderViewModel? Update(OrderBindingModel model);
OrderViewModel? Delete(OrderBindingModel model);
}
}

View File

@ -0,0 +1,21 @@
using SoftwareInstallationContracts.BindingModels;
using SoftwareInstallationContracts.SearchModels;
using SoftwareInstallationContracts.ViewModels;
namespace SoftwareInstallationContracts.StoragesContracts
{
public interface IPackageStorage
{
List<PackageViewModel> GetFullList();
List<PackageViewModel> GetFilteredList(PackageSearchModel model);
PackageViewModel? GetElement(PackageSearchModel model);
PackageViewModel? Insert(PackageBindingModel model);
PackageViewModel? Update(PackageBindingModel model);
PackageViewModel? Delete(PackageBindingModel model);
}
}

View File

@ -0,0 +1,21 @@
using SoftwareInstallationDataModel.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoftwareInstallationContracts.ViewModels
{
public class ComponentViewModel : IComponentModel
{
public int Id { get; set; }
[DisplayName("Название компонента")]
public string ComponentName { get; set; } = string.Empty;
[DisplayName("Цена")]
public double Cost { get; set; }
}
}

View File

@ -0,0 +1,37 @@
using SoftwareInstallationDataModel.Enums;
using SoftwareInstallationDataModel.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoftwareInstallationContracts.ViewModels
{
public class OrderViewModel : IOrderModel
{
public int PackageId { get; set; }
[DisplayName("Номер")]
public int Id { get; set; }
[DisplayName("Название изделия")]
public string PackageName { get; set; } = string.Empty;
[DisplayName("Количество")]
public int Count { get; set; }
[DisplayName("Сумма")]
public double Sum { get; set; }
[DisplayName("Статус")]
public OrderStatus Status { get; set; } = OrderStatus.Неизвестен;
[DisplayName("Дата создания")]
public DateTime DateCreate { get; set; } = DateTime.Now;
[DisplayName("Дата выполнения")]
public DateTime? DateImplement { get; set; }
}
}

View File

@ -0,0 +1,23 @@
using SoftwareInstallationDataModel.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoftwareInstallationContracts.ViewModels
{
public class PackageViewModel : IPackageModel
{
public int Id { get; set; }
[DisplayName("Название изделия")]
public string PackageName { get; set; } = string.Empty;
[DisplayName("Цена")]
public double Price { get; set; }
public Dictionary<int, (IComponentModel, int)> PackageComponents { get; set; } = new();
}
}

View File

@ -0,0 +1,36 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"SoftwareInstallationContracts/1.0.0": {
"dependencies": {
"SoftwareInstallationDataModel": "1.0.0"
},
"runtime": {
"SoftwareInstallationContracts.dll": {}
}
},
"SoftwareInstallationDataModel/1.0.0": {
"runtime": {
"SoftwareInstallationDataModel.dll": {}
}
}
}
},
"libraries": {
"SoftwareInstallationContracts/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"SoftwareInstallationDataModel/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]

View File

@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SoftwareInstallationContracts")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+52adfaa68743a640ed50e2eabebef13eb1571ef2")]
[assembly: System.Reflection.AssemblyProductAttribute("SoftwareInstallationContracts")]
[assembly: System.Reflection.AssemblyTitleAttribute("SoftwareInstallationContracts")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Создано классом WriteCodeFragment MSBuild.

View File

@ -0,0 +1 @@
2c36602d60dfe9eef3c72f8921bc6ecdd00fe2ff9502a98de663d953ee02bdf2

View File

@ -0,0 +1,13 @@
is_global = true
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = SoftwareInstallationContracts
build_property.ProjectDir = C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -0,0 +1 @@
14cc47f5bf65aa7dd8d2ed9f7e4a24e8fbcff3dcb3057ec954a3c6c4302df289

View File

@ -0,0 +1,15 @@
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\bin\Debug\net6.0\SoftwareInstallationContracts.deps.json
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\bin\Debug\net6.0\SoftwareInstallationContracts.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\bin\Debug\net6.0\SoftwareInstallationContracts.pdb
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\bin\Debug\net6.0\SoftwareInstallationDataModel.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\bin\Debug\net6.0\SoftwareInstallationDataModel.pdb
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\SoftwareInstallationContracts.csproj.AssemblyReference.cache
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\SoftwareInstallationContracts.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\SoftwareInstallationContracts.AssemblyInfoInputs.cache
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\SoftwareInstallationContracts.AssemblyInfo.cs
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\SoftwareInstallationContracts.csproj.CoreCompileInputs.cache
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\Software.3E6F6BC9.Up2Date
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\SoftwareInstallationContracts.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\refint\SoftwareInstallationContracts.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\SoftwareInstallationContracts.pdb
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationContracts\obj\Debug\net6.0\ref\SoftwareInstallationContracts.dll

View File

@ -0,0 +1,160 @@
{
"format": 1,
"restore": {
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj": {}
},
"projects": {
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj",
"projectName": "SoftwareInstallationContracts",
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj",
"packagesPath": "C:\\Users\\valit\\.nuget\\packages\\",
"outputPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\valit\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj": {
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.WindowsDesktop.App.Ref",
"version": "[6.0.28, 6.0.28]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj",
"projectName": "SoftwareInstallationDataModel",
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj",
"packagesPath": "C:\\Users\\valit\\.nuget\\packages\\",
"outputPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\valit\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.WindowsDesktop.App.Ref",
"version": "[6.0.28, 6.0.28]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\valit\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.2</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\valit\.nuget\packages\" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -0,0 +1,110 @@
{
"version": 3,
"targets": {
"net6.0": {
"SoftwareInstallationDataModel/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v6.0",
"compile": {
"bin/placeholder/SoftwareInstallationDataModel.dll": {}
},
"runtime": {
"bin/placeholder/SoftwareInstallationDataModel.dll": {}
}
}
}
},
"libraries": {
"SoftwareInstallationDataModel/1.0.0": {
"type": "project",
"path": "../SoftwareInstallationDataModel/SoftwareInstallationDataModel.csproj",
"msbuildProject": "../SoftwareInstallationDataModel/SoftwareInstallationDataModel.csproj"
}
},
"projectFileDependencyGroups": {
"net6.0": [
"SoftwareInstallationDataModel >= 1.0.0"
]
},
"packageFolders": {
"C:\\Users\\valit\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj",
"projectName": "SoftwareInstallationContracts",
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj",
"packagesPath": "C:\\Users\\valit\\.nuget\\packages\\",
"outputPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\valit\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj": {
"projectPath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationDataModel\\SoftwareInstallationDataModel.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"downloadDependencies": [
{
"name": "Microsoft.AspNetCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.NETCore.App.Ref",
"version": "[6.0.28, 6.0.28]"
},
{
"name": "Microsoft.WindowsDesktop.App.Ref",
"version": "[6.0.28, 6.0.28]"
}
],
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202\\RuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -0,0 +1,12 @@
{
"version": 2,
"dgSpecHash": "6kTyQmsi+uJAERPIMHotRplX4CCMsUMMYFXv9qABl7GQAm/5yhhpyLo/HIWz5b9gMPOBWULb2CjzGsz/mdHX8Q==",
"success": true,
"projectFilePath": "C:\\Users\\valit\\source\\repos\\PIbd-21_Valitov_D.F_SoftwareInstallation\\SoftwareInstallationContracts\\SoftwareInstallationContracts.csproj",
"expectedPackageFiles": [
"C:\\Users\\valit\\.nuget\\packages\\microsoft.windowsdesktop.app.ref\\6.0.28\\microsoft.windowsdesktop.app.ref.6.0.28.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.netcore.app.ref\\6.0.28\\microsoft.netcore.app.ref.6.0.28.nupkg.sha512",
"C:\\Users\\valit\\.nuget\\packages\\microsoft.aspnetcore.app.ref\\6.0.28\\microsoft.aspnetcore.app.ref.6.0.28.nupkg.sha512"
],
"logs": []
}

View File

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoftwareInstallationDataModel.Enums
{
public enum OrderStatus
{
Неизвестен = -1,
Принят = 0,
Выполняется = 1,
Готов = 2,
Выдан = 3
}
}

View File

@ -0,0 +1,7 @@
namespace SoftwareInstallationDataModel
{
public interface IId
{
int Id { get; }
}
}

View File

@ -0,0 +1,8 @@
namespace SoftwareInstallationDataModel.Models
{
public interface IComponentModel : IId
{
string ComponentName { get; }
double Cost { get; }
}
}

View File

@ -0,0 +1,21 @@
using SoftwareInstallationDataModel.Enums;
namespace SoftwareInstallationDataModel.Models
{
public interface IOrderModel : IId
{
int PackageId { get; }
string PackageName { get; }
int Count { get; }
double Sum { get; }
OrderStatus Status { get; }
DateTime DateCreate { get; }
DateTime? DateImplement { get; }
}
}

View File

@ -0,0 +1,12 @@
namespace SoftwareInstallationDataModel.Models
{
public interface IPackageModel : IId
{
string PackageName { get; }
double Price { get; }
Dictionary<int, (IComponentModel, int)> PackageComponents { get; }
}
}

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,23 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"SoftwareInstallationDataModel/1.0.0": {
"runtime": {
"SoftwareInstallationDataModel.dll": {}
}
}
}
},
"libraries": {
"SoftwareInstallationDataModel/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]

View File

@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Этот код создан программой.
// Исполняемая версия:4.0.30319.42000
//
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
// повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("SoftwareInstallationDataModel")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+52adfaa68743a640ed50e2eabebef13eb1571ef2")]
[assembly: System.Reflection.AssemblyProductAttribute("SoftwareInstallationDataModel")]
[assembly: System.Reflection.AssemblyTitleAttribute("SoftwareInstallationDataModel")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Создано классом WriteCodeFragment MSBuild.

View File

@ -0,0 +1 @@
31e67e40e82bf6268dfe1f09a9efe23238fda36a3ad11da713cfad1a0adf0c6a

View File

@ -0,0 +1,13 @@
is_global = true
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = SoftwareInstallationDataModel
build_property.ProjectDir = C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -0,0 +1 @@
12f3bb092e22447f031def950314c7938eb3bf9eb43a911a73d72063be027a51

View File

@ -0,0 +1,11 @@
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\bin\Debug\net6.0\SoftwareInstallationDataModel.deps.json
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\bin\Debug\net6.0\SoftwareInstallationDataModel.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\bin\Debug\net6.0\SoftwareInstallationDataModel.pdb
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\obj\Debug\net6.0\SoftwareInstallationDataModel.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\obj\Debug\net6.0\SoftwareInstallationDataModel.AssemblyInfoInputs.cache
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\obj\Debug\net6.0\SoftwareInstallationDataModel.AssemblyInfo.cs
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\obj\Debug\net6.0\SoftwareInstallationDataModel.csproj.CoreCompileInputs.cache
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\obj\Debug\net6.0\SoftwareInstallationDataModel.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\obj\Debug\net6.0\refint\SoftwareInstallationDataModel.dll
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\obj\Debug\net6.0\SoftwareInstallationDataModel.pdb
C:\Users\valit\source\repos\PIbd-21_Valitov_D.F_SoftwareInstallation\SoftwareInstallationDataModel\obj\Debug\net6.0\ref\SoftwareInstallationDataModel.dll

Some files were not shown because too many files have changed in this diff Show More