fix
This commit is contained in:
parent
ea8061a424
commit
9a6529e0ab
@ -0,0 +1,40 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System.ComponentModel;
|
||||
using Unity;
|
||||
using Unity.Lifetime;
|
||||
using Unity.Microsoft.Logging;
|
||||
|
||||
namespace FoodOrdersContracts.DI
|
||||
{
|
||||
public class UnityDependencyContainer : IDependencyContainer
|
||||
{
|
||||
private readonly IUnityContainer _container;
|
||||
|
||||
public UnityDependencyContainer()
|
||||
{
|
||||
_container = new UnityContainer();
|
||||
}
|
||||
|
||||
public void AddLogging(Action<ILoggingBuilder> configure)
|
||||
{
|
||||
var factory = LoggerFactory.Create(configure);
|
||||
_container.AddExtension(new LoggingExtension(factory));
|
||||
}
|
||||
|
||||
public void RegisterType<T>(bool isSingle) where T : class
|
||||
{
|
||||
_container.RegisterType<T>(isSingle ? TypeLifetime.Singleton : TypeLifetime.Transient);
|
||||
|
||||
}
|
||||
|
||||
public T Resolve<T>()
|
||||
{
|
||||
return _container.Resolve<T>();
|
||||
}
|
||||
|
||||
void IDependencyContainer.RegisterType<T, U>(bool isSingle)
|
||||
{
|
||||
_container.RegisterType<T, U>(isSingle ? TypeLifetime.Singleton : TypeLifetime.Transient);
|
||||
}
|
||||
}
|
||||
}
|
@ -10,6 +10,8 @@
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
|
||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.2.1" />
|
||||
<PackageReference Include="Unity" Version="5.11.10" />
|
||||
<PackageReference Include="Unity.Microsoft.Logging" Version="5.11.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -4,19 +4,22 @@ using FoodOrdersDataModels.Models;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersDatabaseImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Client : IClientModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public string ClientFIO { get; set; } = string.Empty;
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public string Email { get; set; } = string.Empty;
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public string Password { get; set; } = string.Empty;
|
||||
|
||||
|
@ -3,16 +3,19 @@ using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersDatabaseImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Component : IComponentModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; private set; }
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public string ComponentName { get; private set; } = string.Empty;
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public double Cost { get; set; }
|
||||
|
||||
|
@ -3,22 +3,25 @@ using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersDatabaseImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Dish : IDishModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public string DishName { get; set; } = string.Empty;
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public double Price { get; set; }
|
||||
|
||||
private Dictionary<int, (IComponentModel, int)>? _dishComponents = null;
|
||||
|
||||
//??
|
||||
[DataMember]
|
||||
[NotMapped]
|
||||
public Dictionary<int, (IComponentModel, int)> DishComponents
|
||||
{
|
||||
|
@ -1,7 +1,9 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersDatabaseImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class DishComponent
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
@ -2,22 +2,29 @@
|
||||
using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersDatabaseImplement.Models
|
||||
{
|
||||
public class EmailMessage : IMessageInfoModel
|
||||
[DataContract]
|
||||
public class EmailMessage : IMessageInfoModel
|
||||
{
|
||||
[Key]
|
||||
public string MessageId { get; private set; } = string.Empty;
|
||||
|
||||
public int? ClientId { get; private set; }
|
||||
[Required]
|
||||
[DataMember]
|
||||
public string MessageId { get; private set; } = string.Empty;
|
||||
[DataMember]
|
||||
public int? ClientId { get; private set; }
|
||||
[DataMember]
|
||||
[Required]
|
||||
public string SenderName { get; private set; } = string.Empty;
|
||||
[Required]
|
||||
[DataMember]
|
||||
[Required]
|
||||
public DateTime DateDelivery { get; private set; }
|
||||
[Required]
|
||||
[DataMember]
|
||||
[Required]
|
||||
public string Subject { get; private set; } = string.Empty;
|
||||
[Required]
|
||||
[DataMember]
|
||||
[Required]
|
||||
public string Body { get; private set; } = string.Empty;
|
||||
public virtual Client? Client { get; set; }
|
||||
public static EmailMessage? Create(MessageInfoBindingModel model)
|
||||
|
@ -3,20 +3,23 @@ using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersDatabaseImplement.Models
|
||||
{
|
||||
public class Implementer : IImplementerModel
|
||||
[DataContract]
|
||||
public class Implementer : IImplementerModel
|
||||
{
|
||||
public int Id { get; private set; }
|
||||
|
||||
public string ImplementerFIO { get; private set; } = string.Empty;
|
||||
|
||||
public string Password { get; private set; } = string.Empty;
|
||||
|
||||
public int WorkExperience { get; private set; }
|
||||
|
||||
public int Qualification { get; private set; }
|
||||
[DataMember]
|
||||
public int Id { get; private set; }
|
||||
[DataMember]
|
||||
public string ImplementerFIO { get; private set; } = string.Empty;
|
||||
[DataMember]
|
||||
public string Password { get; private set; } = string.Empty;
|
||||
[DataMember]
|
||||
public int WorkExperience { get; private set; }
|
||||
[DataMember]
|
||||
public int Qualification { get; private set; }
|
||||
|
||||
[ForeignKey("ImplementerId")]
|
||||
public virtual List<Order> Orders { get; private set; } = new();
|
||||
|
@ -3,29 +3,33 @@ using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Enums;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersDatabaseImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Order : IOrderModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public int DishId { get; set; }
|
||||
[DataMember]
|
||||
[Required]
|
||||
public int ClientId { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public int? ImplementerId { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public int Count { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public double Sum { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public OrderStatus Status { get; set; }
|
||||
|
||||
[DataMember]
|
||||
[Required]
|
||||
public DateTime DateCreate { get; set; }
|
||||
|
||||
@ -34,7 +38,7 @@ namespace FoodOrdersDatabaseImplement.Models
|
||||
public virtual Client Client { get; set; }
|
||||
|
||||
public Implementer? Implementer { get; private set; }
|
||||
|
||||
[DataMember]
|
||||
public DateTime? DateImplement { get; set; }
|
||||
|
||||
public static Order? Create(OrderBindingModel? model)
|
||||
|
@ -1,18 +1,21 @@
|
||||
using FoodOrdersContracts.BindingModels;
|
||||
using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace FoodOrdersFileImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Client : IClientModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string ClientFIO { get; set; } = string.Empty;
|
||||
|
||||
[DataMember]
|
||||
public string Email { get; set; } = string.Empty;
|
||||
|
||||
[DataMember]
|
||||
public string Password { get; set; } = string.Empty;
|
||||
|
||||
public static Client? Create(ClientBindingModel? model)
|
||||
|
@ -1,13 +1,18 @@
|
||||
using FoodOrdersContracts.BindingModels;
|
||||
using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Xml.Linq;
|
||||
namespace FoodOrdersFileImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Component : IComponentModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; private set; }
|
||||
[DataMember]
|
||||
public string ComponentName { get; private set; } = string.Empty;
|
||||
[DataMember]
|
||||
public double Cost { get; set; }
|
||||
public static Component? Create(ComponentBindingModel model)
|
||||
{
|
||||
|
@ -2,22 +2,25 @@
|
||||
using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using FoodOrdersFileImplement;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Xml.Linq;
|
||||
namespace FoodOrdersFileImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Dish : IDishModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; private set; }
|
||||
|
||||
[DataMember]
|
||||
public string DishName { get; private set; } = string.Empty;
|
||||
|
||||
[DataMember]
|
||||
public double Price { get; private set; }
|
||||
|
||||
//словарь для файла, так как нам в файле нужно хранить просто id компонента и его количество
|
||||
public Dictionary<int, int> Components { get; private set; } = new();
|
||||
|
||||
private Dictionary<int, (IComponentModel, int)>? _dishComponents = null;
|
||||
|
||||
[DataMember]
|
||||
public Dictionary<int, (IComponentModel, int)> DishComponents
|
||||
{
|
||||
get
|
||||
|
@ -6,23 +6,26 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace FoodOrdersFileImplement.Models
|
||||
{
|
||||
public class Implementer : IImplementerModel
|
||||
[DataContract]
|
||||
public class Implementer : IImplementerModel
|
||||
{
|
||||
public int Id { get; private set; }
|
||||
|
||||
public string ImplementerFIO { get; private set; } = string.Empty;
|
||||
|
||||
public string Password { get; private set; } = string.Empty;
|
||||
|
||||
public int WorkExperience { get; private set; }
|
||||
|
||||
public int Qualification { get; private set; }
|
||||
[DataMember]
|
||||
public int Id { get; private set; }
|
||||
[DataMember]
|
||||
public string ImplementerFIO { get; private set; } = string.Empty;
|
||||
[DataMember]
|
||||
public string Password { get; private set; } = string.Empty;
|
||||
[DataMember]
|
||||
public int WorkExperience { get; private set; }
|
||||
[DataMember]
|
||||
public int Qualification { get; private set; }
|
||||
|
||||
public static Implementer? Create(XElement element)
|
||||
{
|
||||
|
@ -4,20 +4,31 @@ using FoodOrdersDataModels.Enums;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.Reflection;
|
||||
using System.Reflection.Metadata;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace FoodOrdersFileImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Order : IOrderModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; private set; }
|
||||
[DataMember]
|
||||
public int DishId { get; private set; }
|
||||
[DataMember]
|
||||
public int ClientId { get; private set; }
|
||||
[DataMember]
|
||||
public int? ImplementerId { get; set; }
|
||||
[DataMember]
|
||||
public int Count { get; private set; }
|
||||
[DataMember]
|
||||
public double Sum { get; private set; }
|
||||
[DataMember]
|
||||
public OrderStatus Status { get; private set; }
|
||||
[DataMember]
|
||||
public DateTime DateCreate { get; private set; }
|
||||
[DataMember]
|
||||
public DateTime? DateImplement { get; private set; }
|
||||
|
||||
public static Order? Create(XElement element)
|
||||
|
@ -2,6 +2,7 @@
|
||||
using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersListImplement.Models
|
||||
{
|
||||
|
@ -1,6 +1,7 @@
|
||||
using FoodOrdersContracts.BindingModels;
|
||||
using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersListImplement.Models
|
||||
{
|
||||
|
@ -1,6 +1,7 @@
|
||||
using FoodOrdersContracts.BindingModels;
|
||||
using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersListImplement.Models
|
||||
{
|
||||
|
@ -2,10 +2,11 @@
|
||||
using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersListImplement.Models
|
||||
{
|
||||
public class Implementer : IImplementerModel
|
||||
public class Implementer : IImplementerModel
|
||||
{
|
||||
public int Id { get; private set; }
|
||||
|
||||
|
@ -3,6 +3,7 @@ using FoodOrdersContracts.ViewModels;
|
||||
using FoodOrdersDataModels.Enums;
|
||||
using FoodOrdersDataModels.Models;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace FoodOrdersListImplement.Models
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user