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