using System.Collections.Generic;
using Microsoft.Extensions.Configuration;
using xCommons.Configurations;
using xCommons.Constants;
namespace xCommons.Extensions {
public static partial class IConfigurationExtensions {
///
/// Retrieve AppConfiguration from Configurations
///
///
///
public static XAppConfiguration GetXAppConfiguration (this IConfiguration source) {
//
var xMessageResourceTitlesConfigSection = source
.GetSection (ConfigurationNodeNames.MESSAGE_RESOURCE_TITLES_NODE);
//
var result = new XAppConfiguration {
Name = source[nameof (XAppConfiguration.Name)],
Version = source[nameof (XAppConfiguration.Version)],
XPoweredValue = source[nameof (XAppConfiguration.XPoweredValue)],
WelcomeMessage = source[nameof (XAppConfiguration.WelcomeMessage)],
AllowedOrigins = source
.GetSection (nameof (XAppConfiguration.AllowedOrigins))
.Get> (),
DefaultLanguage = source[nameof (XAppConfiguration.DefaultLanguage)],
MessageResourceTitles = xMessageResourceTitlesConfigSection
.Get ()
};
//
return result;
}
///
/// Retrieve Swagger Configurations
///
///
///
public static XSwaggerConfiguration GetXSwaggerConfiguration (this IConfiguration source) {
//
var xSwaggerConfigSection = source
.GetSection (ConfigurationNodeNames.SWAGGER_NODE);
return xSwaggerConfigSection.Get ();
}
}
}