PIbd-21_MasenkinMS_Aircraft.../AircraftPlant/AircraftPlantDatabaseImplement/Implements/BackUpInfo.cs
2024-05-13 02:01:32 +04:00

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;
}
}
}