Example #1
0
            public JObject ToJson()
            {
                var jObject = CreateJObject();

                var dataUri = DataUrlUtils.BytesToDataUrl(Value, "image/jpeg");

                jObject["value"] = dataUri;

                return(jObject);
            }
Example #2
0
            public override JObject ToJson(IProtectionService ps = null, bool forDisplay = true)
            {
                var jObject = CreateJObject();

                var dataUri = DataUrlUtils.BytesToDataUrl(Value, "image/jpeg");

                jObject["value"] = dataUri;

                return(jObject);
            }
Example #3
0
        public JToken ToJson(IProtectionService ps, bool forDisplay = true)
        {
            var items  = GetItems(forDisplay);
            var jArray = new JArray();

            foreach (var item in items)
            {
                var jObject = new JObject();
                jObject["id"]   = item.ID;
                jObject["type"] = item.ItemType.ToString().ToLower();
                jObject["name"] = item.Name;
                switch (item.ItemType)
                {
                case ItemType.Recaptcha:
                    jObject["sitekey"] = ((RecaptchaItem)item).SiteKey;
                    jObject["version"] = ((RecaptchaItem)item).Version;
                    break;

                case ItemType.InputString:
                case ItemType.HiddenData:
                case ItemType.DisplayInfo:
                    var value = ((StringItem)item).Value;
                    if (string.Equals(item.Name, "password", StringComparison.InvariantCultureIgnoreCase))
                    {
                        if (string.IsNullOrEmpty(value))
                        {
                            value = string.Empty;
                        }
                        else if (forDisplay)
                        {
                            value = PASSWORD_REPLACEMENT;
                        }
                        else if (ps != null)
                        {
                            value = ps.Protect(value);
                        }
                    }
                    jObject["value"] = value;
                    break;

                case ItemType.InputBool:
                    jObject["value"] = ((BoolItem)item).Value;
                    break;

                case ItemType.DisplayImage:
                    string dataUri = DataUrlUtils.BytesToDataUrl(((ImageItem)item).Value, "image/jpeg");
                    jObject["value"] = dataUri;
                    break;
                }
                jArray.Add(jObject);
            }
            return(jArray);
        }
Example #4
0
        public JToken ToJson(IProtectionService ps, bool forDisplay = true)
        {
            var items  = GetItems(forDisplay);
            var jArray = new JArray();

            foreach (var item in items)
            {
                var jObject = new JObject
                {
                    ["id"]   = item.ID,
                    ["type"] = item.ItemType.ToString().ToLower(),
                    ["name"] = item.Name
                };
                switch (item.ItemType)
                {
                case ItemType.Recaptcha:
                    jObject["sitekey"] = ((RecaptchaItem)item).SiteKey;
                    jObject["version"] = ((RecaptchaItem)item).Version;
                    break;

                case ItemType.InputString:
                case ItemType.HiddenData:
                case ItemType.DisplayInfo:
                    var value = ((StringItem)item).Value;
                    if (string.Equals(item.Name, "password", StringComparison.InvariantCultureIgnoreCase))     // if we chagne this logic we've to change the MigratedFromDPAPI() logic too, #2114 is realted
                    {
                        if (string.IsNullOrEmpty(value))
                        {
                            value = string.Empty;
                        }
                        else if (forDisplay)
                        {
                            value = PASSWORD_REPLACEMENT;
                        }
                        else if (ps != null)
                        {
                            value = ps.Protect(value);
                        }
                    }
                    jObject["value"] = value;
                    break;

                case ItemType.InputBool:
                    jObject["value"] = ((BoolItem)item).Value;
                    break;

                case ItemType.InputCheckbox:
                    jObject["values"]  = new JArray(((CheckboxItem)item).Values);
                    jObject["options"] = new JObject();

                    foreach (var option in ((CheckboxItem)item).Options)
                    {
                        jObject["options"][option.Key] = option.Value;
                    }
                    break;

                case ItemType.InputSelect:
                    jObject["value"]   = ((SelectItem)item).Value;
                    jObject["options"] = new JObject();

                    foreach (var option in ((SelectItem)item).Options)
                    {
                        jObject["options"][option.Key] = option.Value;
                    }
                    break;

                case ItemType.DisplayImage:
                    var dataUri = DataUrlUtils.BytesToDataUrl(((ImageItem)item).Value, "image/jpeg");
                    jObject["value"] = dataUri;
                    break;
                }
                jArray.Add(jObject);
            }
            return(jArray);
        }
Example #5
0
        public JToken ToJson(IProtectionService ps, bool forDisplay = true)
        {
            var items  = GetItems(forDisplay);
            var jArray = new JArray();

            foreach (var item in items)
            {
                var jObject = new JObject
                {
                    ["id"]   = item.ID,
                    ["name"] = item.Name
                };
                switch (item)
                {
                case RecaptchaItem recaptcha:
                    jObject["sitekey"] = recaptcha.SiteKey;
                    jObject["version"] = recaptcha.Version;
                    break;

                case StringItem stringItem:
                    var value = stringItem.Value;
                    // if we change this logic we've to change the MigratedFromDPAPI() logic too, #2114 is realted
                    if (string.Equals(stringItem.Name, "password", StringComparison.InvariantCultureIgnoreCase))
                    {
                        if (string.IsNullOrEmpty(value))
                        {
                            value = string.Empty;
                        }
                        else if (forDisplay)
                        {
                            value = _PasswordReplacement;
                        }
                        else if (ps != null)
                        {
                            value = ps.Protect(value);
                        }
                    }

                    jObject["value"] = value;
                    break;

                case BoolItem boolItem:
                    jObject["value"] = boolItem.Value;
                    break;

                case CheckboxItem checkboxItem:
                    jObject["values"]  = new JArray(checkboxItem.Values);
                    jObject["options"] = new JObject();
                    foreach (var option in checkboxItem.Options)
                    {
                        jObject["options"][option.Key] = option.Value;
                    }
                    break;

                case SelectItem selectItem:
                    jObject["value"]   = selectItem.Value;
                    jObject["options"] = new JObject();
                    foreach (var option in selectItem.Options)
                    {
                        jObject["options"][option.Key] = option.Value;
                    }
                    break;

                case ImageItem imageItem:
                    var dataUri = DataUrlUtils.BytesToDataUrl(imageItem.Value, "image/jpeg");
                    jObject["value"] = dataUri;
                    break;
                }

                jArray.Add(jObject);
            }

            return(jArray);
        }