/// <inheritdoc/> public IApplicationStructureConfigurationBuilder Include(ApplicationArea area, string format) { if (!format.StartsWith("[")) { format = $"[.]{format}"; } var formatsByArea = new Dictionary <ApplicationArea, IEnumerable <IStringFormat> >(_structureFormats); var parser = new StringFormatParser(); var stringFormat = parser.Parse(format); List <IStringFormat> formats; if (formatsByArea.ContainsKey(area)) { formats = new List <IStringFormat>(formatsByArea[area]); } else { formats = new List <IStringFormat>(); } formats.Add(stringFormat); formatsByArea[area] = formats; var builder = new ApplicationStructureConfigurationBuilder(formatsByArea); return(builder); }
/// <inheritdoc/> public IApplicationConfigurationBuilder Structure(Func <IApplicationStructureConfigurationBuilder, IApplicationStructureConfigurationBuilder> callback) { IApplicationStructureConfigurationBuilder structureBuilder = new ApplicationStructureConfigurationBuilder(); structureBuilder = callback(structureBuilder); var builder = new ApplicationConfigurationBuilder(Name, structureBuilder); return(builder); }