лаба жива я нет
This commit is contained in:
parent
91ead7c64c
commit
55ad661987
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -50,7 +50,6 @@ namespace PrecastConcretePlantBusinessLogic.BusinessLogic
|
|||||||
{
|
{
|
||||||
File.Delete(fileName);
|
File.Delete(fileName);
|
||||||
}
|
}
|
||||||
// берем метод для сохранения
|
|
||||||
_logger.LogDebug("Get assembly");
|
_logger.LogDebug("Get assembly");
|
||||||
var typeIId = typeof(IId);
|
var typeIId = typeof(IId);
|
||||||
var assembly = typeIId.Assembly;
|
var assembly = typeIId.Assembly;
|
||||||
@ -71,14 +70,11 @@ namespace PrecastConcretePlantBusinessLogic.BusinessLogic
|
|||||||
throw new InvalidOperationException($"Не найден класс-модель для {type.Name}");
|
throw new InvalidOperationException($"Не найден класс-модель для {type.Name}");
|
||||||
}
|
}
|
||||||
_logger.LogDebug("Call SaveToFile method for {name} type", type.Name);
|
_logger.LogDebug("Call SaveToFile method for {name} type", type.Name);
|
||||||
// вызываем метод на выполнение
|
|
||||||
method?.MakeGenericMethod(modelType).Invoke(this, new object[] { model.FolderName });
|
method?.MakeGenericMethod(modelType).Invoke(this, new object[] { model.FolderName });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_logger.LogDebug("Create zip and remove folder");
|
_logger.LogDebug("Create zip and remove folder");
|
||||||
// архивируем
|
|
||||||
ZipFile.CreateFromDirectory(model.FolderName, fileName);
|
ZipFile.CreateFromDirectory(model.FolderName, fileName);
|
||||||
// удаляем папку
|
|
||||||
dirInfo.Delete(true);
|
dirInfo.Delete(true);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
@ -86,7 +82,6 @@ namespace PrecastConcretePlantBusinessLogic.BusinessLogic
|
|||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveToFile<T>(string folderName) where T : class, new()
|
private void SaveToFile<T>(string folderName) where T : class, new()
|
||||||
{
|
{
|
||||||
var records = _backUpInfo.GetList<T>();
|
var records = _backUpInfo.GetList<T>();
|
||||||
|
@ -21,7 +21,6 @@ namespace PrecastConcretePlantContracts.DI
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static DependencyManager Instance { get { if (_manager == null) { lock (_locjObject) { _manager = new DependencyManager(); } } return _manager; } }
|
public static DependencyManager Instance { get { if (_manager == null) { lock (_locjObject) { _manager = new DependencyManager(); } } return _manager; } }
|
||||||
|
|
||||||
public static void InitDependency()
|
public static void InitDependency()
|
||||||
{
|
{
|
||||||
var ext = ServiceProviderLoader.GetImplementationExtensions();
|
var ext = ServiceProviderLoader.GetImplementationExtensions();
|
||||||
@ -29,7 +28,6 @@ namespace PrecastConcretePlantContracts.DI
|
|||||||
{
|
{
|
||||||
throw new ArgumentNullException("Отсутствуют компоненты для загрузки зависимостей по модулям");
|
throw new ArgumentNullException("Отсутствуют компоненты для загрузки зависимостей по модулям");
|
||||||
}
|
}
|
||||||
// регистрируем зависимости
|
|
||||||
ext.RegisterServices();
|
ext.RegisterServices();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
using PrecastConcretePlantContracts.DI;
|
using PrecastConcretePlantContracts.DI;
|
||||||
using PrecastConcretePlantContracts.StoragesContracts;
|
using PrecastConcretePlantContracts.StoragesContracts;
|
||||||
using PrecastConcretePlantDatabaseImplement.Implements;
|
using PrecastConcretePlantDatabaseImplement.Implements;
|
||||||
|
//начало 3его вопроса - Как реализован новый механизм настройки зависимостей?
|
||||||
namespace PrecastConcretePlantDatabaseImplement
|
namespace PrecastConcretePlantDatabaseImplement
|
||||||
{
|
{
|
||||||
public class DatabaseImplementationExtension : IImplementationExtension
|
public class DatabaseImplementationExtension : IImplementationExtension
|
||||||
|
@ -5,7 +5,6 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using PrecastConcretePlantContracts.Attributes;
|
using PrecastConcretePlantContracts.Attributes;
|
||||||
|
|
||||||
|
|
||||||
namespace PrecastConcretePlantView
|
namespace PrecastConcretePlantView
|
||||||
{
|
{
|
||||||
public static class DataGridViewExtension
|
public static class DataGridViewExtension
|
||||||
@ -20,6 +19,7 @@ namespace PrecastConcretePlantView
|
|||||||
|
|
||||||
var type = typeof(T);
|
var type = typeof(T);
|
||||||
var properties = type.GetProperties();
|
var properties = type.GetProperties();
|
||||||
|
|
||||||
foreach (DataGridViewColumn column in grid.Columns)
|
foreach (DataGridViewColumn column in grid.Columns)
|
||||||
{
|
{
|
||||||
var property = properties.FirstOrDefault(x => x.Name == column.Name);
|
var property = properties.FirstOrDefault(x => x.Name == column.Name);
|
||||||
@ -27,13 +27,15 @@ namespace PrecastConcretePlantView
|
|||||||
{
|
{
|
||||||
throw new InvalidOperationException($"В типе {type.Name} не найдено свойство с именем {column.Name}");
|
throw new InvalidOperationException($"В типе {type.Name} не найдено свойство с именем {column.Name}");
|
||||||
}
|
}
|
||||||
|
|
||||||
var attribute = property.GetCustomAttributes(typeof(ColumnAttribute), true)?.SingleOrDefault();
|
var attribute = property.GetCustomAttributes(typeof(ColumnAttribute), true)?.SingleOrDefault();
|
||||||
|
|
||||||
if (attribute == null)
|
if (attribute == null)
|
||||||
{
|
{
|
||||||
throw new InvalidOperationException($"Не найден атрибут типа ColumnAttribute для свойства {property.Name}");
|
throw new InvalidOperationException($"Не найден атрибут типа ColumnAttribute для свойства {property.Name}");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (attribute is ColumnAttribute columnAttr)
|
if (attribute is ColumnAttribute columnAttr)//проставляем полученные аттрибуты
|
||||||
{
|
{
|
||||||
column.HeaderText = columnAttr.Title;
|
column.HeaderText = columnAttr.Title;
|
||||||
column.Visible = columnAttr.Visible;
|
column.Visible = columnAttr.Visible;
|
||||||
|
Loading…
Reference in New Issue
Block a user