コード例 #1
0
 /// <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);
     }
 }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
ファイル: OptionRepository.cs プロジェクト: wncoder/core
 /// <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;
 }
コード例 #4
0
ファイル: Option.cs プロジェクト: wncoder/core
 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();
 }
コード例 #5
0
ファイル: Option.cs プロジェクト: wncoder/core
        /// <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);
            }
        }
コード例 #6
0
ファイル: OptionRepository.cs プロジェクト: wncoder/core
 /// <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);
 }