Игнорируемые поля при сравнении Template в ЕСПП и ПАРР вынесены в настройки

This commit is contained in:
Mikhail Kuznetsov
2023-09-20 10:11:00 +10:00
parent e151abd73e
commit a16646d62b
5 changed files with 41 additions and 32 deletions

View File

@@ -1,8 +1,10 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using PARR.BLL.Settings;
using PARR.DAL.Contracts;
using PARR.DAL.Models;
using PARR.DAL.Services.Interfaces;
using PARR.EsppTemplateSync.Settings;
namespace PARR.EsppTemplateSync.Services
{
@@ -11,16 +13,19 @@ namespace PARR.EsppTemplateSync.Services
private readonly ILogger<Manager> logger;
private readonly IServiceProvider serviceProvider;
private readonly IParserService parserService;
private readonly GlobalSettings globalSettings;
public Manager(
ILogger<Manager> logger,
IServiceProvider serviceProvider,
IParserService parserService
IParserService parserService,
GlobalSettings globalSettings
)
{
this.logger = logger;
this.serviceProvider = serviceProvider;
this.parserService = parserService;
this.globalSettings = globalSettings;
}
public Task<bool> ManageFileAsync(string path)
@@ -98,17 +103,19 @@ namespace PARR.EsppTemplateSync.Services
else
{
var isChanged = false;
var ignoreTemplateFieldsList = globalSettings.IgnoreTemplateFields?.Split(",").ToList().Select(t => t.Trim().ToLower());
foreach (var prop in template.GetType().GetProperties())
{
if (prop == null) continue;
if (prop.Name == "Id" ||
prop.Name == "Status" ||
prop.Name == "DateCreated" ||
prop.Name == "DateModified" ||
prop.Name == "StatusCode"
) continue;
if (ignoreTemplateFieldsList != null && ignoreTemplateFieldsList.Contains(prop.Name.Trim().ToLower())) continue;
//if (prop.Name == "Id" ||
// prop.Name == "Status" ||
// prop.Name == "DateCreated" ||
// prop.Name == "DateModified" ||
// prop.Name == "StatusCode"
// ) continue;
var parrValue = template.GetType().GetProperty(prop.Name)?.GetValue(template, null);
var esppValue = esppTemplate.GetType().GetProperty(prop.Name)?.GetValue(esppTemplate, null);

View File

@@ -5,6 +5,7 @@
public MqSettings? MqSettings { get; set; }
public StorageSettings? StorageSettings { get; set; }
public string? IgnoreTemplateFields { get; set; }
}
internal class MqSettings