using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GreenTree.Nachtragsmanagement.Services.Configuration { public interface IConfigurationReference { /// /// Id /// Guid Id { get; } /// /// Internal name /// string Name { get; } /// /// Display name /// string DisplayName { get; } /// /// Determines if mutiple values are selectable /// bool IsMultipleSelection { get; } /// /// Get available values /// ConfigurationReferenceElement[] GetAvailableValues(); /// /// Transforms mutiple selected values into a single line value /// /// Selected values. string TransformValueCollectionToValue(string[] values); /// /// Transforms the single line value into a mutiple selected values /// /// Single line value. string[] TransformValueToValueCollection(string value); /// /// Converts the string converted value into strongly typed value /// /// The selected value. T GetValue(string value); /// /// Converts the string converted values into strongly typed values /// /// The selected values. T GetValues(string[] values); } }