예제 #1
0
        /// <inheritdoc/>
        public IApplicationStructureConfigurationBuilder Include(ApplicationArea area, string format)
        {
            Logger.Internal.Trace($"Include '{format}' for '{area}'");

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