public virtual object GetObject(TokenDataCollection collection, string name, Type t) { string id = collection.GetString(name); if (t == typeof(string)) { return(id); } if (t == typeof(Item)) { if (id == null) { return(null); } return ((Sitecore.Context.ContentDatabase ?? Sitecore.Context.Database ?? Factory.GetDatabase("master")).GetItem(id)); } if (t == typeof(ID)) { if (string.IsNullOrWhiteSpace(id)) { return(ID.Null); } return(new ID(id)); } throw new TokenCastException($"Unable to cast type {t.Namespace}.{t.Name} for TokenIdAttribute on property/field {name}. Acceptable types are ID, Item or string."); }
public override string Value(TokenDataCollection extraData) { LinkField f = TokenKeeper.CurrentKeeper.GetDatabase().GetItem(BackingId).Fields["Link"]; return(string.Format("<a href='{0}' target='{1}' class='{2}' title='{3}'>{4}</a>", f.GetFriendlyUrl(), f.Target, f.Class, f.Title, extraData["Link Text"])); }
public virtual object GetObject(TokenDataCollection collection, string name, Type t) { var link = collection.GetLink(name); if (t == typeof(GeneralLink)) { return(link); } if (t == typeof(string)) { return(link?.Href); } if (t == typeof(Item)) { if (link?.InternalLinkId == null) { return(null); } return ((Sitecore.Context.ContentDatabase ?? Sitecore.Context.Database ?? Factory.GetDatabase("master")).GetItem( link.InternalLinkId)); } if (t == typeof(ID)) { if (link?.InternalLinkId == null) { return(ID.Null); } return(new ID(collection.GetLink(name).InternalLinkId)); } throw new TokenCastException($"Unable to cast type {t.Namespace}.{t.Name} for TokenGeneralLinkAttribute on property/field {name}. Acceptable types are TokenManager.Data.TokenDataTypes.Support.GeneralLink, string."); }
public virtual string GetTokenValue(string category, string token, TokenDataCollection extraData) { if (TokenCollections.ContainsKey(category) && TokenCollections[category].IsCurrentContextValid() && IsCollectionValid(TokenCollections[category])) { return(TokenCollections[category][token].Value(extraData)); } return(null); }
public virtual object GetObject(TokenDataCollection collection, string name, Type t) { if (t == typeof(string)) { return(collection.GetString(name)); } throw new TokenCastException($"Unable to cast type {t.Namespace}.{t.Name} for TokenStringAttribute on property/field {name}. Acceptable types are ID, Item or string."); }
public sealed override string TokenIdentifierText(TokenDataCollection extraData) { string modelIdentifier = TokenIdentifierText(GenerateModel(extraData)); if (!string.IsNullOrWhiteSpace(modelIdentifier)) { return(modelIdentifier); } return(base.TokenIdentifierText(extraData)); }
public override string Value(TokenDataCollection extraData) { Database db = TokenKeeper.CurrentKeeper.GetDatabase(); Item item = db.GetItem(BackingId); if (item != null) { TokenRuleContext context = new TokenRuleContext(); item.RunRules("Value", context); return(context.Value); } return(string.Empty); }
public override string Value(TokenDataCollection extraData) { InternalLinkField renderingItem = TokenKeeper.CurrentKeeper.GetDatabase().GetItem(BackingId).Fields["Rendering"]; TextWriter tw = new StringWriter(); var h = new HtmlHelper(new ViewContext(new ControllerContext(), new FakeView(), new ViewDataDictionary(), new TempDataDictionary(), tw), new ViewPage()); StringBuilder sb = new StringBuilder(); if (!string.IsNullOrWhiteSpace(extraData["Datasource for the rendering"])) { sb.Append(new SitecoreHelper(h).Rendering(renderingItem.TargetID.ToString(), new { Datasource = extraData["Datasource for the rendering"] })); } return(sb.ToString()); }
public virtual string GetTokenIdentifier(string category, string token, IDictionary <string, object> fields) { List <ID> ids = new IdList(); var ret = new TokenDataCollection(); ret["Category"] = category; ret["Token"] = token; IToken itoken = GetToken(category, token); if (fields != null) { foreach (string key in fields.Keys.Where(x => x != "Category" && x != "Token")) { var grouped = (IDictionary <string, object>)(fields[key] as IDictionary <string, object>)?["grouped"]; if (grouped == null) { var value = fields[key]?.ToString() ?? ""; ret[key] = value; ID tmp; if (ID.TryParse(value, out tmp)) { ids.Add(tmp); } } else { StringBuilder sb = new StringBuilder(); foreach (KeyValuePair <string, object> group in grouped) { sb.Append(HttpUtility.HtmlEncode(group.Key)); sb.Append("|=|"); sb.Append(HttpUtility.HtmlEncode(group.Value.ToString())); sb.Append("|||"); ID tmp; if (ID.TryParse(group.Value, out tmp)) { ids.Add(tmp); } } if (sb.Length > 3) { ret[key] = sb.ToString(0, sb.Length - 3); } } } } return(string.Format("{0}{1}\" {4}>{2}<span style='display:none;'>{5}</span>{3}", TokenPrefix, ret, itoken.TokenIdentifierText(ret).Replace("\n", "").Replace("\r", ""), TokenSuffix, $"style='{itoken.TokenIdentifierStyle(ret)}'", GenerateScLinks(ids))); }
public override string Value(TokenDataCollection extraData) { string ret = DemandbaseContext.User.GetSecondTeirValue <object>("watch_list", extraData["attribute"])?.ToString(); if (ret != null) { return(ret); } ret = DemandbaseContext.User.GetSecondTeirValue <object>(extraData["level"], extraData["attribute"])?.ToString(); if (ret != null) { return(ret); } return(DemandbaseContext.User.GetValue <object>(extraData["attribute"])?.ToString() ?? ""); }
public virtual object GetObject(TokenDataCollection collection, string name, Type t) { if (t == typeof(bool)) { return(collection.GetBoolean(name)); } if (t == typeof(string)) { return(collection.GetString(name)); } if (t == typeof(int)) { return(collection.GetString(name) == "True" ? 1 : 0); } throw new TokenCastException($"Unable to cast type {t.Namespace}.{t.Name} for TokenBooleanAttribute on property/field {name}. Acceptable types are bool, string, int."); }
public virtual object GetObject(TokenDataCollection collection, string name, Type t) { if (t == typeof(string)) { return(collection.GetString(name)); } if (t == typeof(Item)) { return((Sitecore.Context.ContentDatabase ?? Sitecore.Context.Database ?? Factory.GetDatabase("master")).GetItem(collection.GetId(name) ?? ID.Null)); } if (t == typeof(ID)) { return(collection.GetId(name)); } throw new TokenCastException($"Unable to cast type {t.Namespace}.{t.Name} for TokenDroplistAttribute on property/field {name}. Acceptable type is string."); }
public override string Value(TokenDataCollection extraData) { Database db = TokenKeeper.CurrentKeeper.GetDatabase(); var lang = Context.Language.Name; int? version = db?.GetItem(GetBackingItemId())?.Version.Number; var key = db?.Name + lang + version; if (_databaseToValue.ContainsKey(key)) { return(_databaseToValue[key]); } if (LoadValue(db, key)) { return(_databaseToValue[key]); } return(null); }
public virtual T GenerateModel(TokenDataCollection extraData) { T model = (T)Activator.CreateInstance(typeof(T)); foreach (var prop in typeof(T).GetProperties()) { foreach (var attr in prop.GetCustomAttributes(typeof(ITokenDataAttribute), false).OfType <ITokenDataAttribute>()) { prop.SetValue(model, attr.GetObject(extraData, prop.Name, prop.PropertyType)); } } foreach (var field in typeof(T).GetFields()) { foreach (var attr in field.GetCustomAttributes(typeof(ITokenDataAttribute), false).OfType <ITokenDataAttribute>()) { field.SetValue(model, attr.GetObject(extraData, field.Name, field.FieldType)); } } return(model); }
public virtual string GetTokenIdentifier(TokenDataCollection data) { return(GetTokenIdentifier(data["Category"], data["Token"], data.AllKeys.Where(k => k != "Category" && k != "Token").ToDictionary(k => k, k => data[k]))); }
/// <summary> /// Returns the value for the token that is then injected into the RTE. /// </summary> /// <param name="extraData">The user defined data that was gathered when the author added the token to the RTE.</param> /// <returns>Token Value</returns> public override string Value(TokenDataCollection extraData) { return(extraData["mystring"]); }
public virtual IToken ParseITokenFromProps(TokenDataCollection props, Item item = null) { return(GetToken(props["Category"], props["Token"], item)); }
public virtual string TokenIdentifierStyle(TokenDataCollection extraData) { return(TokenKeeper.CurrentKeeper.TokenCss); }
public virtual string TokenIdentifierText(TokenDataCollection extraData) { return("{0} > {1}".FormatWith(extraData["Category"], extraData["Token"])); }
public abstract string Value(TokenDataCollection extraData);
public override string TokenIdentifierText(TokenDataCollection extraData) { DemandbaseAttribute attribute = DemandbaseContext.Attributes.Values.FirstOrDefault(x => x.Id == extraData["attribute"]); return($"Demandbase {extraData["level"]} {attribute?.Name ?? extraData["attribute"]}"); }
string IToken.Value(TokenDataCollection extraData) { return(Value); }
public sealed override string Value(TokenDataCollection extraData) { return(Render(GenerateModel(extraData))); }
public string Value(TokenDataCollection extraData) { return(_valueFunc()); }