Пример #1
0
        private ReportConfig ParseConfig()
        {
            //ввела билдер, чтобы обязательно был указан один из флагов «volumeSum», «weightSum», «costSum», «countSum»
            //если одного из обязательных флагов не будет, то finalBuilder не проинициализируется
            var builder = new ReportConfigBuilder();

            ReportConfigBuilder.FinalBuilder finalBuilder = null;
            if (_args.Contains("-volumeSum"))
            {
                finalBuilder = builder.VolumeSum();
            }
            if (_args.Contains("-weightSum"))
            {
                finalBuilder = builder.WeightSum();
            }

            if (_args.Contains("-costSum"))
            {
                finalBuilder = builder.CostSum();
            }

            if (_args.Contains("-countSum"))
            {
                finalBuilder = builder.CountSum();
            }
            if (_args.Contains("-data"))
            {
                finalBuilder.CostSum();
            }
            if (_args.Contains("-withIndex"))
            {
                finalBuilder.WithIndex();
            }
            if (_args.Contains("-withTotalVolume"))
            {
                finalBuilder.WithTotalVolume();
            }
            if (_args.Contains("-withTotalWeight"))
            {
                finalBuilder.WithTotalWeight();
            }

            return(finalBuilder.Build());
//            return new ReportConfig
//            {
//                WithData = _args.Contains("-data"),
//
//                WithIndex = _args.Contains("-withIndex"),
//                WithTotalVolume = _args.Contains("-withTotalVolume"),
//                WithTotalWeight = _args.Contains("-withTotalWeight"),
//
//                VolumeSum = _args.Contains("-volumeSum"),
//                WeightSum = _args.Contains("-weightSum"),
//                CostSum = _args.Contains("-costSum"),
//                CountSum = _args.Contains("-countSum")
//            };
        }
Пример #2
0
 public FinalBuilder(ReportConfigBuilder builder)
 {
     this.builder = builder;
 }