46 lines
1.1 KiB
C#
46 lines
1.1 KiB
C#
|
using AircraftPlantContracts.StoragesContracts;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace AircraftPlantDatabaseImplement.Implements
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Реализация интерфейса получения данных из хранилища
|
|||
|
/// </summary>
|
|||
|
public class BackUpInfo : IBackUpInfo
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Получить список объектов
|
|||
|
/// </summary>
|
|||
|
/// <typeparam name="T"></typeparam>
|
|||
|
/// <returns></returns>
|
|||
|
public List<T>? GetList<T>() where T : class, new()
|
|||
|
{
|
|||
|
using var context = new AircraftPlantDatabase();
|
|||
|
return context.Set<T>().ToList();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Получить тип
|
|||
|
/// </summary>
|
|||
|
/// <param name="modelInterfaceName"></param>
|
|||
|
/// <returns></returns>
|
|||
|
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|