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