public JObject ToJson() { var jObject = CreateJObject(); var dataUri = DataUrlUtils.BytesToDataUrl(Value, "image/jpeg"); jObject["value"] = dataUri; return(jObject); }
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); }
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); }
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); }
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); }