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") // }; }
public FinalBuilder(ReportConfigBuilder builder) { this.builder = builder; }