コード例 #1
0
        /// <summary>
        /// Merges specified user and default configurations.
        /// </summary>
        /// <param name="userConfig">The user configuration.</param>
        /// <param name="defaultConfig">The default configuration.</param>
        /// <returns>A new configuration object with values stored in the user configuration
        /// if there are any or values stored in the default configuration otherwise.</returns>
        private static OrdersDefaults _Merge(
            OrdersDefaultsConfig userConfig,
            OrdersDefaultsConfig defaultConfig)
        {
            if (userConfig == null)
            {
                userConfig = new OrdersDefaultsConfig();
            }

            return(new OrdersDefaults
            {
                CurbApproach = _Merge(userConfig.CurbApproach, defaultConfig.CurbApproach),
                MaxViolationTime = _Merge(
                    userConfig.MaxViolationTime,
                    defaultConfig.MaxViolationTime),
                OrderType = _Merge(
                    userConfig.OrderType,
                    defaultConfig.OrderType),
                Priority = _Merge(
                    userConfig.Priority,
                    defaultConfig.Priority),
                ServiceTime = _Merge(
                    userConfig.ServiceTime,
                    defaultConfig.ServiceTime),
                TimeWindow = _Merge(
                    userConfig.TimeWindow,
                    defaultConfig.TimeWindow),
                TimeWindow2 = _Merge(
                    userConfig.TimeWindow2,
                    defaultConfig.TimeWindow2),
            });
        }
コード例 #2
0
        /// <summary>
        /// Convert OrdersDefaults to OrdersDefaultsConfig.
        /// </summary>
        /// <param name="orderDefaults">OrdersDefaults object.</param>
        /// <returns>Converted object.</returns>
        private OrdersDefaultsConfig _ConvertOrderDefaultsToConfig(OrdersDefaults orderDefaults)
        {
            Debug.Assert(orderDefaults != null);

            OrdersDefaultsConfig ordersDefaultsConfig = new OrdersDefaultsConfig();

            ordersDefaultsConfig.OrderType        = orderDefaults.OrderType;
            ordersDefaultsConfig.Priority         = orderDefaults.Priority;
            ordersDefaultsConfig.CurbApproach     = orderDefaults.CurbApproach;
            ordersDefaultsConfig.ServiceTime      = orderDefaults.ServiceTime;
            ordersDefaultsConfig.TimeWindow       = orderDefaults.TimeWindow;
            ordersDefaultsConfig.TimeWindow2      = orderDefaults.TimeWindow2;
            ordersDefaultsConfig.MaxViolationTime = orderDefaults.MaxViolationTime;

            return(ordersDefaultsConfig);
        }