Реализовал логику бекапов для проекта хранения в файлах
This commit is contained in:
parent
beb88bcd82
commit
622fddbe67
@ -0,0 +1,39 @@
|
|||||||
|
using SecuritySystemContracts.StoragesContracts;
|
||||||
|
|
||||||
|
namespace SecuritySystemFileImplement.Implements
|
||||||
|
{
|
||||||
|
public class BackUpInfoStorage : IBackUpInfoStorage
|
||||||
|
{
|
||||||
|
private readonly DataFileSingleton source;
|
||||||
|
public BackUpInfoStorage()
|
||||||
|
{
|
||||||
|
source = DataFileSingleton.GetInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<T>? GetList<T>() where T : class, new()
|
||||||
|
{
|
||||||
|
return (List<T>?)source
|
||||||
|
.GetType()
|
||||||
|
.GetProperties()
|
||||||
|
.FirstOrDefault(
|
||||||
|
x =>
|
||||||
|
x.PropertyType.IsGenericType &&
|
||||||
|
x.PropertyType.GetGenericArguments()[0] == typeof(T))?
|
||||||
|
.GetValue(source);
|
||||||
|
}
|
||||||
|
public Type? GetTypeByModelInterface(string modelInterfaceName)
|
||||||
|
{
|
||||||
|
var assembly = typeof(BackUpInfoStorage).Assembly;
|
||||||
|
var types = assembly.GetTypes();
|
||||||
|
foreach (var type in types)
|
||||||
|
{
|
||||||
|
if (type.IsClass &&
|
||||||
|
type.GetInterface(modelInterfaceName) != null)
|
||||||
|
{
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -3,15 +3,21 @@ using SecuritySystemContracts.ViewModels;
|
|||||||
using SecuritySystemDataModels.Models;
|
using SecuritySystemDataModels.Models;
|
||||||
using SecuritySystemFileImplement.Models;
|
using SecuritySystemFileImplement.Models;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace SecuritySystemFileImplement.Models
|
namespace SecuritySystemFileImplement.Models
|
||||||
{
|
{
|
||||||
|
[DataContract]
|
||||||
public class Client : IClientModel
|
public class Client : IClientModel
|
||||||
{
|
{
|
||||||
|
[DataMember]
|
||||||
public int Id { get; private set; }
|
public int Id { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public string ClientFIO { get; private set; } = string.Empty;
|
public string ClientFIO { get; private set; } = string.Empty;
|
||||||
|
[DataMember]
|
||||||
public string Email { get; private set; } = string.Empty;
|
public string Email { get; private set; } = string.Empty;
|
||||||
|
[DataMember]
|
||||||
public string Password { get; private set; } = string.Empty;
|
public string Password { get; private set; } = string.Empty;
|
||||||
public static Client? Create(ClientBindingModel model)
|
public static Client? Create(ClientBindingModel model)
|
||||||
{
|
{
|
||||||
|
@ -1,14 +1,19 @@
|
|||||||
using SecuritySystemContracts.BindingModels;
|
using SecuritySystemContracts.BindingModels;
|
||||||
using SecuritySystemContracts.ViewModels;
|
using SecuritySystemContracts.ViewModels;
|
||||||
using SecuritySystemDataModels.Models;
|
using SecuritySystemDataModels.Models;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace SecuritySystemFileImplement.Models
|
namespace SecuritySystemFileImplement.Models
|
||||||
{
|
{
|
||||||
|
[DataContract]
|
||||||
public class Component : IComponentModel
|
public class Component : IComponentModel
|
||||||
{
|
{
|
||||||
|
[DataMember]
|
||||||
public int Id { get; private set; }
|
public int Id { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public string ComponentName { get; private set; } = string.Empty;
|
public string ComponentName { get; private set; } = string.Empty;
|
||||||
|
[DataMember]
|
||||||
public double Cost { get; set; }
|
public double Cost { get; set; }
|
||||||
public static Component? Create(ComponentBindingModel model)
|
public static Component? Create(ComponentBindingModel model)
|
||||||
{
|
{
|
||||||
|
@ -1,16 +1,23 @@
|
|||||||
using SecuritySystemContracts.BindingModels;
|
using SecuritySystemContracts.BindingModels;
|
||||||
using SecuritySystemContracts.ViewModels;
|
using SecuritySystemContracts.ViewModels;
|
||||||
using SecuritySystemDataModels.Models;
|
using SecuritySystemDataModels.Models;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace SecuritySystemFileImplement.Models
|
namespace SecuritySystemFileImplement.Models
|
||||||
{
|
{
|
||||||
|
[DataContract]
|
||||||
public class Implementer : IImplementerModel
|
public class Implementer : IImplementerModel
|
||||||
{
|
{
|
||||||
|
[DataMember]
|
||||||
public string ImplementerFIO { get; private set; } = string.Empty;
|
public string ImplementerFIO { get; private set; } = string.Empty;
|
||||||
|
[DataMember]
|
||||||
public string Password { get; private set; } = string.Empty;
|
public string Password { get; private set; } = string.Empty;
|
||||||
|
[DataMember]
|
||||||
public int WorkExperience { get; private set; }
|
public int WorkExperience { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public int Qualification { get; private set; }
|
public int Qualification { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public int Id { get; private set; }
|
public int Id { get; private set; }
|
||||||
public static Implementer? Create(ImplementerBindingModel model)
|
public static Implementer? Create(ImplementerBindingModel model)
|
||||||
{
|
{
|
||||||
|
@ -2,17 +2,25 @@
|
|||||||
using SecuritySystemContracts.ViewModels;
|
using SecuritySystemContracts.ViewModels;
|
||||||
using SecuritySystemDataModels.Models;
|
using SecuritySystemDataModels.Models;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace SecuritySystemFileImplement.Models
|
namespace SecuritySystemFileImplement.Models
|
||||||
{
|
{
|
||||||
|
[DataContract]
|
||||||
public class MessageInfo : IMessageInfoModel
|
public class MessageInfo : IMessageInfoModel
|
||||||
{
|
{
|
||||||
|
[DataMember]
|
||||||
public string MessageId { get; set; } = string.Empty;
|
public string MessageId { get; set; } = string.Empty;
|
||||||
|
[DataMember]
|
||||||
public int? ClientId { get; set; }
|
public int? ClientId { get; set; }
|
||||||
|
[DataMember]
|
||||||
public string SenderName { get; set; } = string.Empty;
|
public string SenderName { get; set; } = string.Empty;
|
||||||
|
[DataMember]
|
||||||
public DateTime DateDelivery { get; set; } = DateTime.Now;
|
public DateTime DateDelivery { get; set; } = DateTime.Now;
|
||||||
|
[DataMember]
|
||||||
public string Subject { get; set; } = string.Empty;
|
public string Subject { get; set; } = string.Empty;
|
||||||
|
[DataMember]
|
||||||
public string Body { get; set; } = string.Empty;
|
public string Body { get; set; } = string.Empty;
|
||||||
|
|
||||||
public static MessageInfo? Create(MessageInfoBindingModel model)
|
public static MessageInfo? Create(MessageInfoBindingModel model)
|
||||||
|
@ -2,20 +2,31 @@
|
|||||||
using SecuritySystemContracts.ViewModels;
|
using SecuritySystemContracts.ViewModels;
|
||||||
using SecuritySystemDataModels.Enums;
|
using SecuritySystemDataModels.Enums;
|
||||||
using SecuritySystemDataModels.Models;
|
using SecuritySystemDataModels.Models;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace SecuritySystemFileImplement.Models
|
namespace SecuritySystemFileImplement.Models
|
||||||
{
|
{
|
||||||
|
[DataContract]
|
||||||
public class Order : IOrderModel
|
public class Order : IOrderModel
|
||||||
{
|
{
|
||||||
|
[DataMember]
|
||||||
public int Id { get; private set; }
|
public int Id { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public int SecureId { get; private set; }
|
public int SecureId { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public int ClientId { get; private set; }
|
public int ClientId { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public int? ImplementerId { get; private set; }
|
public int? ImplementerId { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public int Count { get; private set; }
|
public int Count { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public double Sum { get; private set; }
|
public double Sum { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public OrderStatus Status { get; private set; } = OrderStatus.Неизвестен;
|
public OrderStatus Status { get; private set; } = OrderStatus.Неизвестен;
|
||||||
|
[DataMember]
|
||||||
public DateTime DateCreate { get; private set; } = DateTime.Now;
|
public DateTime DateCreate { get; private set; } = DateTime.Now;
|
||||||
|
[DataMember]
|
||||||
public DateTime? DateImplement { get; private set; }
|
public DateTime? DateImplement { get; private set; }
|
||||||
|
|
||||||
public static Order? Create(OrderBindingModel? model)
|
public static Order? Create(OrderBindingModel? model)
|
||||||
|
@ -1,17 +1,23 @@
|
|||||||
using SecuritySystemContracts.BindingModels;
|
using SecuritySystemContracts.BindingModels;
|
||||||
using SecuritySystemContracts.ViewModels;
|
using SecuritySystemContracts.ViewModels;
|
||||||
using SecuritySystemDataModels.Models;
|
using SecuritySystemDataModels.Models;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace SecuritySystemFileImplement.Models
|
namespace SecuritySystemFileImplement.Models
|
||||||
{
|
{
|
||||||
|
[DataContract]
|
||||||
public class Secure : ISecureModel
|
public class Secure : ISecureModel
|
||||||
{
|
{
|
||||||
|
[DataMember]
|
||||||
public int Id { get; private set; }
|
public int Id { get; private set; }
|
||||||
|
[DataMember]
|
||||||
public string SecureName { get; private set; } = string.Empty;
|
public string SecureName { get; private set; } = string.Empty;
|
||||||
|
[DataMember]
|
||||||
public double Price { get; private set; }
|
public double Price { get; private set; }
|
||||||
public Dictionary<int, int> Components { get; private set; } = new();
|
public Dictionary<int, int> Components { get; private set; } = new();
|
||||||
private Dictionary<int, (IComponentModel, int)>? _secureComponents = null;
|
private Dictionary<int, (IComponentModel, int)>? _secureComponents = null;
|
||||||
|
[DataMember]
|
||||||
public Dictionary<int, (IComponentModel, int)> SecureComponents
|
public Dictionary<int, (IComponentModel, int)> SecureComponents
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
Loading…
x
Reference in New Issue
Block a user