public override object GetFieldValue(string fieldValue, global::Sitecore.Data.Items.Item item, ISitecoreService service) { Type enumType = Property.PropertyType; int intValue; if (int.TryParse(fieldValue, out intValue)) { return(Enum.ToObject(enumType, 0)); } else { if (Enum.IsDefined(enumType, fieldValue)) { return(Enum.Parse(enumType, fieldValue, true)); } else if (!fieldValue.IsNullOrEmpty()) { throw new MapperException("Can not convert value {0} to enum type {1}".Formatted(fieldValue, enumType.FullName)); } else { return(null); } } }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { var itemField = base.GetField(item); if (itemField == null) { return(null); } FileField field = new FileField(itemField); File file = new File(); if (field.MediaItem != null) { MediaItem mediaItem = new MediaItem(field.MediaItem); file.Src = HttpUtility.UrlPathEncode(MediaManager.GetMediaUrl(field.MediaItem)); file.Size = mediaItem.Size; file.Title = mediaItem.Title; file.Extension = mediaItem.Extension; } file.Id = field.MediaID.Guid; return(file); }
public override void SetValue(global::Sitecore.Data.Items.Item item, object value, ISitecoreService service) { File file = value as File; FileField field = new FileField(item.Fields[FieldName]); if (file == null) { field.Clear(); return; } if (field.MediaID.Guid != file.Id) { if (file.Id == Guid.Empty) { ItemLink link = new ItemLink(item.Database.Name, item.ID, field.InnerField.ID, field.MediaItem.Database.Name, field.MediaID, field.MediaItem.Paths.FullPath); field.RemoveLink(link); } else { ID newId = new ID(file.Id); Item target = item.Database.GetItem(newId); if (target != null) { field.MediaID = newId; ItemLink link = new ItemLink(item.Database.Name, item.ID, field.InnerField.ID, target.Database.Name, target.ID, target.Paths.FullPath); field.UpdateLink(link); } else { throw new MapperException("No item with ID {0}. Can not update File Item field".Formatted(newId)); } } } }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { switch (InfoType) { case SitecoreInfoType.ContentPath: return(item.Paths.ContentPath); case SitecoreInfoType.DisplayName: return(item.DisplayName); case SitecoreInfoType.FullPath: return(item.Paths.FullPath); case SitecoreInfoType.Name: return(item.Name); case SitecoreInfoType.Key: return(item.Key); case SitecoreInfoType.MediaUrl: global::Sitecore.Data.Items.MediaItem media = new global::Sitecore.Data.Items.MediaItem(item); return(global::Sitecore.Resources.Media.MediaManager.GetMediaUrl(media)); break; case SitecoreInfoType.Path: return(item.Paths.Path); case SitecoreInfoType.TemplateId: return(item.TemplateID.Guid); case SitecoreInfoType.TemplateName: return(item.TemplateName); case SitecoreInfoType.Url: return(LinkManager.GetItemUrl(item, UrlOptions)); case SitecoreInfoType.FullUrl: return(LinkManager.GetItemUrl(item, new UrlOptions() { AlwaysIncludeServerUrl = true })); case SitecoreInfoType.Version: return(item.Version.Number); case SitecoreInfoType.Language: return(item.Language); default: throw new NotSupportedException("Value {0} not supported".Formatted(InfoType.ToString())); } }
public override void SetValue(global::Sitecore.Data.Items.Item item, object value, ISitecoreService service) { Image img = value as Image; Field itemField = base.GetField(item); if (itemField == null) { return; } ImageField scImg = new ImageField(itemField); if (img == null) { scImg.Clear(); return; } if (scImg.MediaID.Guid != img.MediaId) { //this only handles empty guids, but do we need to remove the link before adding a new one? if (img.MediaId == Guid.Empty) { ItemLink link = new ItemLink(item.Database.Name, item.ID, scImg.InnerField.ID, scImg.MediaItem.Database.Name, scImg.MediaID, scImg.MediaPath); scImg.RemoveLink(link); } else { ID newId = new ID(img.MediaId); Item target = item.Database.GetItem(newId); if (target != null) { scImg.MediaID = newId; ItemLink link = new ItemLink(item.Database.Name, item.ID, scImg.InnerField.ID, target.Database.Name, target.ID, target.Paths.FullPath); scImg.UpdateLink(link); } else { throw new MapperException("No item with ID {0}. Can not update Media Item field".Formatted(newId)); } } } scImg.Height = img.Height.ToString(); scImg.Width = img.Width.ToString(); scImg.HSpace = img.HSpace.ToString(); scImg.VSpace = img.VSpace.ToString(); scImg.Alt = img.Alt; scImg.Border = img.Border; scImg.Class = img.Class; }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { var itemField = base.GetField(item); if (itemField == null) { return(null); } Field field = itemField; return(field.GetBlobStream()); }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { int numChildren = item.Children.Count; Type genericType = Utility.GetGenericArgument(Property.PropertyType); Func <IEnumerable <Item> > getItems = new Func <IEnumerable <Item> >(() => { return(item.Children.Cast <Item>()); }); return(service.CreateClasses(IsLazy, InferType, genericType, getItems)); }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { if (item.Fields[FieldName] != null && item.Fields[FieldName].Type.StartsWith("Rich Text") && Setting != SitecoreFieldSettings.RichTextRaw) { FieldRenderer renderer = new FieldRenderer(); renderer.Item = item; renderer.FieldName = FieldName; renderer.Parameters = string.Empty; return(renderer.Render()); } else { return(item[FieldName]); } }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { Type ruleFactory = typeof(RuleFactory); var method = ruleFactory.GetMethod("GetRules", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static, null, new Type[] { typeof(global::Sitecore.Data.Fields.Field) }, null); Type[] genericArgs = this.Property.PropertyType.GetGenericArguments(); method = method.MakeGenericMethod(genericArgs); object rules = method.Invoke(null, new object[] { this.GetField(item) }); return(rules); }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { var itemField = item.Fields[FieldName]; if (itemField == null) { return(null); } FileField field = new FileField(itemField); File file = new File(); file.Src = field.Src; file.Id = field.MediaID.Guid; return(file); }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { if (Id != Guid.Empty) { var scItem = service.Database.GetItem(new ID(Id)); return(service.CreateClass(IsLazy, false, Property.Property.PropertyType, scItem)); } else if (!Path.IsNullOrEmpty()) { var scItem = service.Database.GetItem(Path); return(service.CreateClass(IsLazy, false, Property.Property.PropertyType, scItem)); } else { return(null); } }
protected virtual void AddDecorations(BooleanQuery result) { Assert.ArgumentNotNull(result, "result"); global::Sitecore.Security.Accounts.User user = this.User; if (user != null) { result.Add(new TermQuery(new Term(BuiltinFields.Creator, user.Name)), Occur.SHOULD); result.Add(new TermQuery(new Term(BuiltinFields.Editor, user.Name)), Occur.SHOULD); } global::Sitecore.Data.Items.Item item = this.Item; if (item != null) { result.Add(new TermQuery(new Term(BuiltinFields.Path, ShortID.Encode(item.ID).ToLowerInvariant())), Occur.MUST); result.Add(new TermQuery(new Term(BuiltinFields.Database, item.Database.Name.ToLowerInvariant())), Occur.MUST); if (this.ContentLanguages.Count == 0) { result.Add(new TermQuery(new Term(BuiltinFields.Language, item.Language.ToString().ToLowerInvariant())), Occur.MUST); } } if (this.ContentLanguages.Count > 0) { var langQuery = new BooleanQuery(true); this.ContentLanguages.ForEach(lang => langQuery.Add(new TermQuery(new Term(BuiltinFields.Language, lang.ToString().ToLowerInvariant())), Occur.SHOULD)); result.Add(langQuery, Occur.MUST); } if (!this.IgnoreContentEditorOptions) { if (!UserOptions.View.ShowHiddenItems) { result.Add(new TermQuery(new Term(BuiltinFields.Hidden, "1")), Occur.MUST_NOT); } if (!UserOptions.View.ShowEntireTree && (item != null)) { global::Sitecore.Data.Items.Item item2 = item.Database.GetItem(RootSections.GetSection(item)); if (item2 != null) { result.Add(new TermQuery(new Term(BuiltinFields.Path, ShortID.Encode(item2.ID).ToLowerInvariant())), Occur.MUST); } } } if (TemplateID != default(Guid)) { result.Add(new TermQuery(new Term(BuiltinFields.Template, new ShortID(TemplateID).ToString().ToLowerInvariant())), Occur.MUST); } }
/// <summary> /// Gets the value. /// </summary> /// <param name="item">The item.</param> /// <returns>System.String.</returns> public string GetValue(global::Sitecore.Data.Items.Item item) { string path = item.Paths.FullPath; string[] pathSections = path.Split('/'); StringBuilder escapedPath = new StringBuilder(); foreach (var pathSection in pathSections) { if (!string.IsNullOrEmpty(pathSection)) { escapedPath.AppendFormat("/#{0}#", pathSection); } } return(escapedPath.ToString()); }
/// <summary> /// Executes the command in the specified context. /// </summary> /// <param name="context">The context.</param> public override void Execute(global::Sitecore.Shell.Framework.Commands.CommandContext context) { if (context.Items.Length == 1) { global::Sitecore.Data.Items.Item item = context.Items[0]; ClientPipelineArgs args = new ClientPipelineArgs(); System.Collections.Specialized.NameValueCollection parameters = new System.Collections.Specialized.NameValueCollection(); parameters["id"] = item.ID.ToString(); parameters["language"] = item.Language.ToString(); parameters["database"] = item.Database.Name; args.Parameters = parameters; global::Sitecore.Context.ClientPage.Start(this, "Run", args); } }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { var itemField = base.GetField(item); if (itemField == null) { return(null); } FileField field = new FileField(itemField); File file = new File(); if (field.MediaItem != null) { file.Src = MediaManager.GetMediaUrl(field.MediaItem); } file.Id = field.MediaID.Guid; return(file); }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { var itemField = base.GetField(item); if (itemField == null) { return(null); } Image img = new Image(); ImageField scImg = new ImageField(itemField); int height = 0; int.TryParse(scImg.Height, out height); int width = 0; int.TryParse(scImg.Width, out width); int hSpace = 0; int.TryParse(scImg.HSpace, out hSpace); int vSpace = 0; int.TryParse(scImg.VSpace, out vSpace); img.Alt = scImg.Alt; img.Border = scImg.Border; img.Class = scImg.Class; img.Height = height; img.HSpace = hSpace; img.MediaId = scImg.MediaID.Guid; if (scImg.MediaItem != null) { img.Src = MediaManager.GetMediaUrl(scImg.MediaItem); } img.VSpace = vSpace; img.Width = width; return(img); }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { var field = base.GetField(item); if (field == null) { return(string.Empty); } if (field.Type.StartsWith("Rich Text") && Setting != SitecoreFieldSettings.RichTextRaw) { FieldRenderer renderer = new FieldRenderer(); renderer.Item = item; renderer.FieldName = field.Name; renderer.Parameters = string.Empty; return(renderer.Render()); } else { return(field.Value); } }
public override void SetValue(global::Sitecore.Data.Items.Item item, object value, ISitecoreService service) { switch (InfoType) { case SitecoreInfoType.DisplayName: if (value is string || value == null) { item[Settings.DisplayNameFieldName] = (value ?? string.Empty).ToString(); } else { throw new NotSupportedException("Can't set DisplayName. Value is not of type System.String"); } break; case SitecoreInfoType.Name: if (value is string || value == null) { //if the name is null or empty nothing should happen if ((value ?? string.Empty).ToString().IsNullOrEmpty()) { return; } if (item.Name != value.ToString()) { item.Name = value.ToString(); } } else { throw new NotSupportedException("Can't set Name. Value is not of type System.String"); } break; default: throw new NotSupportedException("You can not save SitecoreInfo {0}".Formatted(InfoType)); } }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { int numChildren = item.Children.Count; Type genericType = Utility.GetGenericArgument(Property.PropertyType); var getItems = new Func <IEnumerable <Item> >(() => { switch (Options) { case SitecoreLinkedOptions.All: var itemLinks1 = global::Sitecore.Configuration.Factory.GetLinkDatabase().GetReferences(item); var itemLinks2 = global::Sitecore.Configuration.Factory.GetLinkDatabase().GetReferrers(item); return(itemLinks1.Select(x => x.GetTargetItem()).Union(itemLinks2.Select(x => x.GetSourceItem()))); break; case SitecoreLinkedOptions.References: var itemLinks3 = global::Sitecore.Configuration.Factory.GetLinkDatabase().GetReferences(item); return(itemLinks3.Select(x => x.GetTargetItem())); break; case SitecoreLinkedOptions.Referrers: var itemLinks4 = global::Sitecore.Configuration.Factory.GetLinkDatabase().GetReferrers(item); return(itemLinks4.Select(x => x.GetSourceItem())); break; default: return(new List <Item>()); } }); return(service.CreateClasses(IsLazy, InferType, genericType, getItems)); }
public override object GetFieldValue(string fieldValue, global::Sitecore.Data.Items.Item item, ISitecoreService service) { return(SetValue); }
public override object GetFieldValue(string fieldValue, global::Sitecore.Data.Items.Item item, ISitecoreService service) { throw new NotImplementedException(); }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { var itemField = base.GetField(item); if (itemField == null || itemField.Value.Trim().IsNullOrEmpty()) { return(null); } Link link = new Link(); LinkField field = new LinkField(itemField); switch (field.LinkType) { case "anchor": link.Url = field.Anchor; link.Type = LinkType.Anchor; break; case "external": link.Url = field.Url; link.Type = LinkType.External; break; case "mailto": link.Url = field.Url; link.Type = LinkType.MailTo; break; case "javascript": link.Url = field.Url; link.Type = LinkType.JavaScript; break; case "media": global::Sitecore.Data.Items.MediaItem media = new global::Sitecore.Data.Items.MediaItem(field.TargetItem); link.Url = global::Sitecore.Resources.Media.MediaManager.GetMediaUrl(media); link.Type = LinkType.Media; link.TargetId = field.TargetID.Guid; break; case "internal": if (field.TargetItem == null) { link.Url = string.Empty; } else { link.Url = LinkManager.GetItemUrl(field.TargetItem); } link.Type = LinkType.Internal; link.TargetId = field.TargetID.Guid; break; default: return(null); break; } link.Anchor = field.Anchor; link.Class = field.Class; link.Text = field.Text; link.Title = field.Title; link.Target = field.Target; link.Query = field.QueryString; return(link); }
public override void SetValue(global::Sitecore.Data.Items.Item item, object value, ISitecoreService service) { Link link = value as Link; var itemField = base.GetField(item); if (itemField == null) { return; } LinkField field = new LinkField(itemField); if (link == null || link.Type == LinkType.NotSet) { field.Clear(); return; } switch (link.Type) { case LinkType.Internal: field.LinkType = "internal"; if (field.TargetID.Guid != link.TargetId) { if (link.TargetId == Guid.Empty) { ItemLink iLink = new ItemLink(item.Database.Name, item.ID, field.InnerField.ID, field.TargetItem.Database.Name, field.TargetID, field.TargetItem.Paths.FullPath); field.RemoveLink(iLink); } else { ID newId = new ID(link.TargetId); Item target = item.Database.GetItem(newId); if (target != null) { field.TargetID = newId; ItemLink nLink = new ItemLink(item.Database.Name, item.ID, field.InnerField.ID, target.Database.Name, target.ID, target.Paths.FullPath); field.UpdateLink(nLink); field.Url = LinkManager.GetItemUrl(target); } else { throw new MapperException("No item with ID {0}. Can not update Link field".Formatted(newId)); } } } break; case LinkType.Media: field.LinkType = "media"; if (field.TargetID.Guid != link.TargetId) { if (link.TargetId == Guid.Empty) { ItemLink iLink = new ItemLink(item.Database.Name, item.ID, field.InnerField.ID, field.TargetItem.Database.Name, field.TargetID, field.TargetItem.Paths.FullPath); field.RemoveLink(iLink); } else { ID newId = new ID(link.TargetId); Item target = item.Database.GetItem(newId); global::Sitecore.Data.Items.MediaItem media = new global::Sitecore.Data.Items.MediaItem(target); if (target != null) { field.TargetID = newId; ItemLink nLink = new ItemLink(item.Database.Name, item.ID, field.InnerField.ID, target.Database.Name, target.ID, target.Paths.FullPath); field.UpdateLink(nLink); field.Url = global::Sitecore.Resources.Media.MediaManager.GetMediaUrl(media); } else { throw new MapperException("No item with ID {0}. Can not update Link field".Formatted(newId)); } } } break; case LinkType.External: field.LinkType = "external"; field.Url = link.Url; break; case LinkType.Anchor: field.LinkType = "anchor"; field.Url = link.Anchor; break; case LinkType.MailTo: field.LinkType = "mailto"; field.Url = link.Url; break; case LinkType.JavaScript: field.LinkType = "javascript"; field.Url = link.Url; break; } if (!link.Anchor.IsNullOrEmpty()) { field.Anchor = link.Anchor; } if (!link.Class.IsNullOrEmpty()) { field.Class = link.Class; } if (!link.Text.IsNullOrEmpty()) { field.Text = link.Text; } if (!link.Title.IsNullOrEmpty()) { field.Title = link.Title; } if (!link.Query.IsNullOrEmpty()) { field.QueryString = link.Query; } if (!link.Target.IsNullOrEmpty()) { field.Target = link.Target; } }
public override void SetValue(global::Sitecore.Data.Items.Item item, object value, ISitecoreService service) { throw new MapperException("SitecoreItem mappings can not be set"); }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { return(service.CreateClass(this.IsLazy, this.InferType, Property.PropertyType, item.Parent)); }
public override void SetValue(global::Sitecore.Data.Items.Item item, object value, ISitecoreService service) { throw new NotImplementedException(); }
public string GetValue(global::Sitecore.Data.Items.Item item) { return(item.ID.ToString()); }
public FixedSearchContext(global::Sitecore.Security.Accounts.User user, global::Sitecore.Data.Items.Item item) { this._user = user; this._item = item; }
public override object GetValue(global::Sitecore.Data.Items.Item item, ISitecoreService service) { return(GetItemInfo(InfoType, item, this.UrlOptions)); }
/// <summary> /// Gets the value. /// </summary> /// <param name="item">The item.</param> /// <returns>System.String.</returns> public string GetValue(global::Sitecore.Data.Items.Item item) { return(global::Sitecore.DateUtil.ToIsoDate(DateTime.Now)); }