/// <summary> /// Updates from other RSSettings instances, leaves Id & SalesArea /// Update Mode: /// 0=Current sales area only (include demographics) - Not passed through /// 1=All sales areas (include demographics) /// 2=All sales areas (exclude demographics) /// 3=All sales areas (Demographics only) /// </summary> /// <param name="isrSettings"></param> /// <param name="updateMode"></param> public void UpdateFrom(RSSettings rsSettings, int updateMode) { // Update main settings if (updateMode == 1 || updateMode == 2) { DefaultDeliverySettingsList.Clear(); foreach (var deliverySettings in rsSettings.DefaultDeliverySettingsList) { DefaultDeliverySettingsList.Add((RSDeliverySettings)deliverySettings.Clone()); } } // Update demographics if (updateMode == 1 || updateMode == 3) { DemographicsSettings.Clear(); foreach (var demographicSettings in rsSettings.DemographicsSettings) { var newDemographicSettings = new RSDemographicSettings() { DemographicId = demographicSettings.DemographicId }; demographicSettings.DeliverySettingsList.ForEach(ds => newDemographicSettings.DeliverySettingsList.Add((RSDeliverySettings)ds.Clone())); DemographicsSettings.Add(newDemographicSettings); } } }
public bool IsSame(RSDemographicSettings rsSettingsDemographicSettings) { if (DemographicId == rsSettingsDemographicSettings.DemographicId) { return(RSDeliverySettings.IsSame(this.DeliverySettingsList, rsSettingsDemographicSettings.DeliverySettingsList)); } return(false); }
/// <summary> /// Returns whether instance has same settings as input /// Compare Mode: /// 0=Full settings comparison (include demographics) /// 1=Top level settings comparison (exclude demographics) /// 2=Demographic settings only /// </summary> /// <param name="isrSettings"></param> /// <param name="compareMode"></param> /// <returns></returns> public bool IsSame(RSSettings rsSettings, int compareMode) { // Compare main settings if (compareMode == 0 || compareMode == 1) { if (!RSDeliverySettings.IsSame(DefaultDeliverySettingsList, rsSettings.DefaultDeliverySettingsList)) { return(false); } } // Compare demographics if (compareMode == 0 || compareMode == 2) { return(RSDemographicSettings.IsSame(DemographicsSettings, rsSettings.DemographicsSettings)); } return(true); }