Upload files to 'ShipyardFileImplement'
This commit is contained in:
parent
fa88c3bc1e
commit
0f18f2bf17
41
ShipyardFileImplement/BackUpInfo.cs
Normal file
41
ShipyardFileImplement/BackUpInfo.cs
Normal file
@ -0,0 +1,41 @@
|
||||
using ShipyardContracts.StorageContracts;
|
||||
using ShipyardFileImplement;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ShipyardFileImplemented
|
||||
{
|
||||
public class BackUpInfo : IBackUpInfo
|
||||
{
|
||||
private readonly DataFileSingleton source;
|
||||
private readonly PropertyInfo[] sourceProperties;
|
||||
public BackUpInfo()
|
||||
{
|
||||
source = DataFileSingleton.GetInstance();
|
||||
sourceProperties = source.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
|
||||
}
|
||||
public Type? GetTypeByModelInterface(string modelInterfaceName)
|
||||
{
|
||||
var assembly = typeof(BackUpInfo).Assembly;
|
||||
var types = assembly.GetTypes();
|
||||
foreach (var type in types)
|
||||
{
|
||||
if (type.IsClass && type.GetInterface(modelInterfaceName) != null)
|
||||
{
|
||||
return type;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public List<T>? GetList<T>() where T : class, new()
|
||||
{
|
||||
var requredType = typeof(T);
|
||||
return (List<T>?)sourceProperties.FirstOrDefault(x => x.PropertyType.IsGenericType &&
|
||||
x.PropertyType.GetGenericArguments()[0] == requredType)?.GetValue(source);
|
||||
}
|
||||
}
|
||||
}
|
@ -4,17 +4,23 @@ using ShipyardDataModels;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace ShipyardFileImplemented.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Client : IClientModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; private set; }
|
||||
[DataMember]
|
||||
public string ClientFIO { get; private 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)
|
||||
{
|
||||
|
@ -4,16 +4,21 @@ using ShipyardDataModels.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace ShipyardFileImplement.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Component : IComponentModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; set; }
|
||||
[DataMember]
|
||||
public string ComponentName { get; set; } = string.Empty;
|
||||
[DataMember]
|
||||
public double Cost { get; set; }
|
||||
public static Component? Create(ComponentBindingModel model)
|
||||
{
|
||||
|
34
ShipyardFileImplement/FileImplementationExtension.cs
Normal file
34
ShipyardFileImplement/FileImplementationExtension.cs
Normal file
@ -0,0 +1,34 @@
|
||||
using ShipyardContracts.DI;
|
||||
using ShipyardContracts.StorageContracts;
|
||||
using ShipyardContracts.StoragesContracts;
|
||||
using ShipyardFileImplement.Implements;
|
||||
using ShipyardFileImplemented.Implements;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ShipyardFileImplemented
|
||||
{
|
||||
public class FileImplementationExtension : IImplementationExtension
|
||||
{
|
||||
public int Priority => 0;
|
||||
public void RegisterServices()
|
||||
{
|
||||
DependencyManager.Instance.RegisterType<IClientStorage,
|
||||
ClientStorage>();
|
||||
DependencyManager.Instance.RegisterType<IComponentStorage,
|
||||
ComponentStorage>();
|
||||
DependencyManager.Instance.RegisterType<IImplementerStorage,
|
||||
ImplementerStorage>();
|
||||
DependencyManager.Instance.RegisterType<IMessageInfoStorage,
|
||||
MessageInfoStorage>();
|
||||
DependencyManager.Instance.RegisterType<IOrderStorage,
|
||||
OrderStorage>();
|
||||
DependencyManager.Instance.RegisterType<IShipStorage,
|
||||
ShipStorage>();
|
||||
DependencyManager.Instance.RegisterType<IBackUpInfo, BackUpInfo>();
|
||||
}
|
||||
}
|
||||
}
|
@ -4,18 +4,25 @@ using ShipyardDataModels.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace ShipyardFileImplemented.Models
|
||||
{
|
||||
[DataContract]
|
||||
public class Implementer : IImplementerModel
|
||||
{
|
||||
[DataMember]
|
||||
public int Id { get; private set; }
|
||||
[DataMember]
|
||||
public string ImplementerFIO { get; private set; } = string.Empty;
|
||||
[DataMember]
|
||||
public string Password { get; set; } = string.Empty;
|
||||
[DataMember]
|
||||
public int Qualification { get; set; } = 0;
|
||||
[DataMember]
|
||||
public int WorkExperience { get; set; } = 0;
|
||||
public static Implementer? Create(ImplementerBindingModel model)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user