public dynamic MapContentToHighlightsItemViewModel(HighlightsItemPart itemPart)
        {
            var     title    = itemPart.ContentItem.As <TitlePart>();
            dynamic body     = itemPart.Fields.First(f => f.Name == "MediaText");
            var     mediaUrl = "";

            try {
                var mediaContainerPart             = itemPart.ContentItem.Parts.Where(w => w.Fields.SingleOrDefault(w1 => w1.GetType() == typeof(MediaLibraryPickerField)) != null).FirstOrDefault();
                MediaLibraryPickerField mediafield = (MediaLibraryPickerField)mediaContainerPart.Fields.FirstOrDefault(w => w.GetType() == typeof(MediaLibraryPickerField));
                mediaUrl = mediafield.MediaParts.ToList()[0].MediaUrl;
            } catch { }
            string displayUrl = ContentItemExtensions.ItemDisplayUrl(new UrlHelper(new RequestContext(
                                                                                       new HttpContextWrapper(HttpContext.Current),
                                                                                       new RouteData()), RouteTable.Routes), itemPart);
            var HLItem = new HighlightsItemViewModel {
                Title                = title != null ? title.Title : "",
                TitleSize            = itemPart.TitleSize,
                SubTitle             = itemPart.Sottotitolo,
                Body                 = body != null ? body.Value : "",
                ItemOrder            = itemPart.ItemOrder,
                LinkTarget           = itemPart.LinkTarget,
                LinkUrl              = itemPart.LinkUrl,
                LinkText             = itemPart.LinkText,
                GroupShapeName       = itemPart.GroupShapeName,
                MediaUrl             = mediaUrl,
                Video                = itemPart.Video,
                GroupDisplayTemplate = itemPart.GroupDisplayTemplate,
                GroupDisplayPlugin   = itemPart.GroupDisplayPlugin,
                Content              = itemPart.ContentItem
            };

            return(HLItem);
        }
        public IList <dynamic> MapContentToHighlightsItemsViewModel(IEnumerable <ContentItem> queryItems, Enums.DisplayTemplate displayTemplate, string displayPlugin, ViewsInfos viewsInfos)
        {
            var             order          = 0;
            IList <dynamic> fromQueryItems = new List <dynamic>();

            foreach (var queryItem in queryItems)
            {
                var title    = queryItem.As <TitlePart>();
                var body     = queryItem.As <BodyPart>();
                var bodyText = "";
                if (body == null)
                {
                    try {
                        var       mediaContainerPart = queryItem.Parts.Where(w => w.Fields.SingleOrDefault(w1 => w1.GetType() == typeof(TextField)) != null).FirstOrDefault();
                        TextField textfield          = (TextField)mediaContainerPart.Fields.FirstOrDefault(w => w.GetType() == typeof(TextField));
                        bodyText = textfield.Value;
                    } catch { }
                }
                else
                {
                    bodyText = body.Text;
                }
                var mediaUrl = "";
                try {
                    var mediaContainerPart             = queryItem.Parts.Where(w => w.Fields.SingleOrDefault(w1 => w1.GetType() == typeof(MediaLibraryPickerField)) != null && w.GetType() == typeof(ContentPart)).FirstOrDefault();
                    MediaLibraryPickerField mediafield = (MediaLibraryPickerField)mediaContainerPart.Fields.FirstOrDefault(w => w.GetType() == typeof(MediaLibraryPickerField));
                    mediaUrl = mediafield.MediaParts.ToList()[0].MediaUrl;
                } catch { }
                string displayUrl = ContentItemExtensions.ItemDisplayUrl(new UrlHelper(new RequestContext(
                                                                                           new HttpContextWrapper(HttpContext.Current),
                                                                                           new RouteData()), RouteTable.Routes), queryItem);
                var HLItem = new HighlightsItemViewModel {
                    Title                = title != null ? title.Title : "",
                    TitleSize            = "",
                    Body                 = bodyText,
                    ItemOrder            = order,
                    LinkTarget           = Enums.LinkTargets._self,
                    LinkUrl              = displayUrl,
                    GroupShapeName       = viewsInfos.SuffixShapeName.Replace("_", ""),
                    LinkText             = T("Details").Text,
                    MediaUrl             = mediaUrl,
                    Video                = false,
                    GroupDisplayTemplate = displayTemplate,
                    GroupDisplayPlugin   = displayPlugin,
                    Content              = queryItem
                };
                fromQueryItems.Add(HLItem);
                order++;
            }
            return(fromQueryItems);
        }