Exemplo n.º 1
0
        /// <summary>
        /// Parse setting
        /// </summary>
        /// <param name="value"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        private static string ParseSettingValue(object value, CommerceSettingType type)
        {
            var response = string.Empty;

            switch (type)
            {
            case CommerceSettingType.Text:
            case CommerceSettingType.Number:
                response = value.ToString();
                break;

            case CommerceSettingType.Object:
            case CommerceSettingType.Array:
                response = value.SerializeAsJson();
                break;
            }

            return(response);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Add or update setting
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public async Task <ResultModel> AddOrUpdateSettingAsync(string key, object value, CommerceSettingType type = CommerceSettingType.Text)
        {
            var setting = await Context.CommerceSettings.FirstOrDefaultAsync(x => x.Key.Equals(key));

            if (setting == null)
            {
                await Context.CommerceSettings.AddAsync(new CommerceSetting
                {
                    Key   = key,
                    Value = ParseSettingValue(value, type)
                });
            }
            else
            {
                setting.Value = ParseSettingValue(value, type);
                Context.CommerceSettings.Update(setting);
            }

            return(await Context.PushAsync());
        }