СЭД «ДЕЛО»
Руководство пользователя
×

В.7 Запись в AppSettings конкретного класса

Для того, чтобы открыть запись через middleware в AppSettings необходимо добавить свой IMutationLogicMapPart и при необходимости добавить свой MutationLogic.
В приведенном нижу примере мы просто открываем запись для определенного класса:
// запись в AppSettings конкретного класса
using Eos.Delo.Platform.Storage.Services.Logic;
using Eos.Delo.Platform.Storage.Services.Logic.MutationLogic;
using Eos.Delo.Samples.AppSettings.Module.Services.Logic.MutationLogic;
using Eos.Platform.AppSettings;
using System.Collections.Generic;
 
namespace Eos.Delo.Samples.AppSettings.Module.Services.Logic
{
    public class MutationLogicMapPartAppSettingsTest : IMutationLogicMapPart
    {
        private static readonly List<MutationLogicMapPartItem> _supportedTypes = new()
        {
            new((obj) =>
            {
                var appSettings = (IAppSettings)obj;
 
                if (appSettings.Namespace == typeof(AppSettingsTestClass).Namespace && appSettings.Typename == nameof(AppSettingsTestClass))
                    return typeof(PermissiveMutationLogic);
                else
                    return typeof(DeniedMutationLogic);
            }, new[] { typeof(IAppSettings) })
        };
 
        public IReadOnlyList<MutationLogicMapPartItem> SupportedTypes =>
            _supportedTypes;
    }
}
 
//Добавление в startup:
 
serviceCollection.AddSingleton<IMutationLogicMapPart, MutationLogicMapPartAppSettingsTest>();
Также можно определить собственный MutationLogic, если нужно описать права.
Примеры можно найти в дистрибутиве системы в архиве «APISamples.zip» (проект Eos.Delo.Samples.AppSettings.Module).
Онлайн помощь создана в Dr.Explain