/// <summary> /// Allows you to merge another setting of settings into the current settings. /// </summary> /// <param name="otherSettings">A populated instance of the other settings to add to the current settings.</param> public void Merge(OptionSettings otherSettings) { foreach (var kv in otherSettings) { AddOrUpdate(kv.Key, kv.Value); } }
/// <summary> /// Converts the JSON version of the settings to an OptionSettings object. /// </summary> /// <param name="jsonValues">The JSON string to convert to an OptionSettings object.</param> /// <returns>Returns a populated instance of the OptionSettings object.</returns> public static OptionSettings FromJson(string jsonValues) { var result = Json.ObjectFromJson <OptionSettings>(jsonValues); if (result == null) { result = new OptionSettings(); } return(result); }
/// <summary> /// Copy from database object model to view model. /// </summary> /// <param name="data"><see cref="hcc_ProductOptions" /> instance</param> /// <param name="model"><see cref="Option" /> instance </param> protected override void CopyItemToModel(hcc_ProductOptions data, Option model) { model.Bvin = DataTypeHelper.GuidToBvin(data.bvin); model.IsShared = data.IsShared; model.IsVariant = data.IsVariant; model.SetProcessor((OptionTypes)data.OptionType); model.NameIsHidden = data.NameIsHidden; model.Settings = OptionSettings.FromJson(data.Settings); model.StoreId = data.StoreId; model.IsColorSwatch = data.IsColorSwatch; }
public Option() { Bvin = string.Empty; StoreId = 0; Name = string.Empty; NameIsHidden = false; IsVariant = false; IsShared = false; Settings = new OptionSettings(); TextSettings = new OptionSettings(); Items = new List <OptionItem>(); Processor = new DropDownList(); }
/// <summary> /// Allows you to populate the current product option object using an instance of OptionDTO /// </summary> /// <param name="dto">An instance of the product option from the REST API</param> public void FromDto(OptionDTO dto) { if (dto == null) { return; } Bvin = dto.Bvin ?? string.Empty; IsShared = dto.IsShared; IsVariant = dto.IsVariant; Items.Clear(); Name = dto.Name ?? string.Empty; NameIsHidden = dto.NameIsHidden; StoreId = dto.StoreId; var typeCode = OptionTypes.DropDownList; typeCode = (OptionTypes)dto.OptionType; SetProcessor(typeCode); foreach (var oi in dto.Items) { var opt = new OptionItem(); opt.FromDto(oi); AddItem(opt); } Settings = new OptionSettings(); foreach (var set in dto.Settings) { Settings.AddOrUpdate(set.Key, set.Value); } TextSettings = new OptionSettings(); foreach (var txtSet in dto.TextSettings) { TextSettings.AddOrUpdate(txtSet.Key, txtSet.Value); } }
/// <summary> /// Copy name from database object model to view model /// </summary> /// <param name="data"><see cref="hcc_ProductOptions" /> instance</param> /// <param name="model"><see cref="Option" /> instance </param> protected override void CopyTransToModel(hcc_ProductOptionTranslation data, Option model) { model.Name = data.Name; model.TextSettings = OptionSettings.FromJson(data.TextSettings); }