public object ComputeFieldValue(IIndexable indexable)
        {
            var indexItem = indexable as SitecoreIndexableItem;
            if (indexItem == null)
                return null;
            var item = indexItem.Item;
            var children = item.GetChildren();
            var componentsFolder = children.FirstOrDefault(x => x.TemplateID == ID.Parse("{B0A97186-187F-4DCB-BABA-4096ABCD70B2}"));
            if (componentsFolder == null)
                return null;
            var childContent = componentsFolder.GetChildren();
            var blogContent = childContent.FirstOrDefault(x => x.TemplateID == ID.Parse("{ D45EAC17 - 5DC2 - 4AF2 - 8FCD - A4896E5CA07F}"));

            if (blogContent == null)
                return null;
            MultilistField categories = blogContent.Fields["Categories"];
            var categoryNameList = new List<string>();
            foreach (var id in categories.TargetIDs)
            {
                var category = blogContent.Database.GetItem(id);
                if (categories != null)
                    categoryNameList.Add(category.DisplayName);
            }
            return categoryNameList;

        }
Exemple #2
0
        public ViewResult HeroSlider()
        {
            var viewModel = new HeroSliderViewModel();

            if (!String.IsNullOrEmpty(RenderingContext.Current.Rendering.DataSource))
            {
                var contentItem = _repository.GetItem(RenderingContext.Current.Rendering.DataSource);
                if (contentItem != null)
                {
                    var heroImagesField = new MultilistField(contentItem.Fields["Hero Image"]);

                    if (heroImagesField != null)
                    {
                        var items       = heroImagesField.GetItems();
                        var itemCounter = 0;

                        foreach (var item in items)
                        {
                            var mediaItem = (MediaItem)item;
                            viewModel.HeroImages.Add(new HeroSliderImageViewModel()
                            {
                                MediaUrl = MediaManager.GetMediaUrl(mediaItem),
                                AltText  = mediaItem.Alt,
                                IsActive = itemCounter == 0
                            });

                            itemCounter++;
                        }
                    }
                }
            }

            return(View(viewModel));
        }
Exemple #3
0
        // GET: RelatedEvents
        public ActionResult Index()
        {
            var item = RenderingContext.Current.Rendering.Item;

            if (item == null)
            {
                return(new EmptyResult());
            }

            MultilistField relatedEvents = item.Fields["{2B441697-5F06-4CCC-85AC-E4B94A1163AE}"];

            if (relatedEvents == null)
            {
                return(new EmptyResult());
            }

            var events = relatedEvents.GetItems()
                         .Select(i => new NavigationItem()
            {
                Title = i.DisplayName,
                URL   = LinkManager.GetItemUrl(i)
            });

            return(View(events));
        }
Exemple #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var item = Sitecore.Context.Item;

            if (item.TemplateID == TemplateReferences.Holiday)
            {
                var json = new JSONHoliday();

                json.PageHeading = FieldRenderer.Render(item, "Page Heading");
                json.PageContent = FieldRenderer.Render(item, "Page Content");

                ReferenceField difficulty = item.Fields["Difficulty"];

                json.DifficultyLabel = Sitecore.Globalization.Translate.Text("Difficulty");
                json.Difficulty      = FieldRenderer.Render(difficulty.TargetItem, "Text");

                ReferenceField type = item.Fields["Type"];

                json.TypeLabel = Sitecore.Globalization.Translate.Text("Type");
                json.Type      = FieldRenderer.Render(type.TargetItem, "Text");

                MultilistField terrain = item.Fields["Terrain"];

                json.TerrainLabel = Sitecore.Globalization.Translate.Text("Terrain");
                json.Terrain      = string.Join(",", terrain.GetItems().Select(x => FieldRenderer.Render(x, "Text")));

                JavaScriptSerializer serializer = new JavaScriptSerializer();
                Response.Write(serializer.Serialize(json));
            }
        }
        public IEnumerable <Carousel> GetCarousels()
        {
            var             db              = RenderingContext.Current.ContextItem.Database;
            var             homeItem        = db.GetItem(Sitecore.Context.Site.StartPath);
            MultilistField  carouselEntries = homeItem.Fields["Carousels"];
            var             carouselItems   = carouselEntries.GetItems();
            List <Carousel> carousels       = new List <Carousel>();

            foreach (var cItem in carouselItems)
            {
                var address   = (LookupField)cItem.Fields["Event"];
                var eventItem = address?.TargetItem;
                var active    = (CheckboxField)cItem.Fields["IsActive"];
                carousels.Add(new Carousel
                {
                    Image    = cItem.GetMediaUrl("Image"),
                    Url      = (eventItem != null) ? LinkManager.GetItemUrl(eventItem) : "",
                    Title    = cItem.Fields["Title"].Value,
                    Intro    = cItem.Fields["Intro"].Value,
                    IsActive = active.Checked
                });
            }

            return(carousels);
        }
Exemple #6
0
        // GET: RelatedEvents
        public ActionResult Index()
        {
            var item = RenderingContext.Current.Rendering.Item;

            if (item == null)
            {
                return(new EmptyResult());
            }

            MultilistField relatedEvents = item.Fields["{43B3B1EB-375A-408B-BFEA-2E2E2B5E4688}"];

            if (relatedEvents == null)
            {
                return(new EmptyResult());
            }

            var events = relatedEvents.GetItems()
                         .Select(i => new NavigationItem()
            {
                Title = i.DisplayName,
                URL   = LinkManager.GetItemUrl(i)
            });

            return(View(events));
        }
Exemple #7
0
        public bool Build(CommentViewModel viewModel)
        {
            try
            {
                var comment = Mapper.Map <Comment>(viewModel);
                var result  = _commentRepository.Create(comment);
                if (!result)
                {
                    ModelErrors.Add(_commentRepository.RepositoryErrors.LastOrDefault());
                    return(false);
                }

                using (new SecurityDisabler())
                {
                    var item = _context.GetItem <Item>(viewModel.ArticleId);
                    item.Editing.BeginEdit();
                    MultilistField comments = new MultilistField(item.Fields["Comments"]);
                    comments.Add(comment.Id.ToString());
                    item.Editing.EndEdit();
                }
                return(true);
            }
            catch (Exception ex)
            {
                ModelErrors.Add(ex);
                return(false);
            }
        }
        public ActionResult HomePageHero()
        {
            if (Sitecore.Context.Item == null)
            {
                return(null);
            }

            var dataSourceId = Sitecore.Context.Item.ID.ToString();

            Assert.IsNotNullOrEmpty(dataSourceId, "dataSourceId is null or empty");
            var item = Sitecore.Context.Database.GetItem(dataSourceId);

            if (item == null)
            {
                return(null);
            }

            HomepageModel.Homepage homePageModel = new HomepageModel.Homepage();

            //Multilist
            MultilistField heroListField = item.Fields[Templates.HomepageHero.Fields.HomepageHeroList];

            homePageModel.HeroSlides = PopulateHeroList(heroListField);


            return(View(homePageModel));
        }
        public ActionResult LoadScriptSpecificPages()
        {
            Item globalScriptsItem       = Sitecore.Context.Database.GetItem(globalScriptsItemID);
            Item currentPageItem         = Context.Item;
            List <MvcHtmlString> scripts = new List <MvcHtmlString>();

            MvcHtmlString inlinePageScript = new MvcHtmlString(currentPageItem["Script"]);

            if (inlinePageScript != null)
            {
                scripts.Add(inlinePageScript);
            }

            IEnumerable <Item> specificScripts = globalScriptsItem.GetChildren();

            foreach (var item in specificScripts)
            {
                MvcHtmlString  currentScript = new MvcHtmlString(item["Script"]);
                MultilistField pagesItems    = item.Fields["Pages"];

                foreach (TemplateItem pageTemplate in pagesItems.GetItems())
                {
                    if (currentPageItem.TemplateID == pageTemplate.ID)
                    {
                        scripts.Add(currentScript);
                    }
                }
            }

            return(View(scripts));
        }
        public void GetEventList(EventModel eventModel)
        {
            string dataSource = RenderingContext.Current.Rendering.DataSource;

            if (!string.IsNullOrEmpty(dataSource))
            {
                Item           userGroupItem      = Sitecore.Context.Database.GetItem(dataSource);
                MultilistField selectedEventField = userGroupItem.Fields[EventConstant.GroupEvent];

                if (selectedEventField != null)
                {
                    Item[] eventItems = selectedEventField.GetItems();
                    if (eventItems != null && eventItems.Length > 0)
                    {
                        foreach (var item in eventItems)
                        {
                            GroupEvent eventItem = new GroupEvent();
                            eventItem.Name  = item[EventConstant.EventName];
                            eventItem.Venue = item[EventConstant.EventVenue];
                            DateField dateTimeField = item.Fields[EventConstant.EventDate];
                            eventItem.EventDate = Sitecore.DateUtil.IsoDateToDateTime(dateTimeField.Value);
                            MultilistField photoslist = item.Fields[EventConstant.EventPhotos];
                            Item[]         photos     = null;
                            if (photoslist != null)
                            {
                                photos = photoslist.GetItems();
                            }
                            eventItem.Photos = GetUrlOfPhotos(photos);
                        }
                    }
                }
            }
        }
Exemple #11
0
 public static void Clear(this MultilistField listField)
 {
     foreach (string itemID in listField.Items)
     {
         listField.Remove(itemID);
     }
 }
Exemple #12
0
        // GET: RelatedEvents
        public ActionResult Index()
        {
            //get the current item using rendering item, this can also bring back the data source item and if not set defaults back to the current item
            var currentItem = RenderingContext.Current.Rendering.Item;

            if (currentItem == null)
            {
                return(new EmptyResult());
            }

            //get the related events list
            MultilistField relatedEvents = currentItem.Fields["Related-Events"];

            if (relatedEvents == null)
            {
                return(new EmptyResult());
            }

            //get the set items
            var setEvents = relatedEvents.GetItems();

            if (!setEvents.Any() && !Sitecore.Context.PageMode.IsExperienceEditorEditing)
            {
                return(new EmptyResult());
            }

            var displayEvents = setEvents.Select(eventItem => new NavigationItemModel()
            {
                Title = eventItem.DisplayName,
                Url   = LinkManager.GetItemUrl(eventItem)
            });

            // return the view with the events
            return(View(displayEvents));
        }
        public ActionResult BestRecipes()
        {
            if (Sitecore.Context.Item == null)
            {
                return(null);
            }

            var dataSourceId = Sitecore.Context.Item.ID.ToString();

            Assert.IsNotNullOrEmpty(dataSourceId, "dataSourceId is null or empty");
            var item = Sitecore.Context.Database.GetItem(dataSourceId);

            if (item == null)
            {
                return(null);
            }

            HomepageModel.Homepage homePageModel = new HomepageModel.Homepage();

            homePageModel.BestRecipesTitle = item.Fields[Templates.BestRecipes.Fields.BestRecipesTitle.ToString()].Value;


            //Multilist
            MultilistField bestRecipesListField = item.Fields[Templates.BestRecipes.Fields.BestRecipesList];

            Item[]        bestRecipesListItems = bestRecipesListField.GetItems();
            List <Recipe> recipes = new List <Recipe>();

            if (bestRecipesListItems != null && bestRecipesListItems.Count() > 0)
            {
                foreach (Item recipeListItem in bestRecipesListItems)
                {
                    Recipe recipe     = new Recipe();
                    Item   recipeItem = Sitecore.Context.Database.GetItem(recipeListItem.ID);
                    recipe.RecipeName = recipeItem.Fields[Templates.Recipe.Fields.RecipName.ToString()].Value;


                    recipe.RecipeAbscractText = recipeItem.Fields[Templates.Recipe.Fields.RecipeAbscractText.ToString()].Value;

                    ImageField recipeImage = recipeItem.Fields[Templates.Recipe.Fields.RecipeAbscractImage];
                    if (recipeImage != null && recipeImage.MediaItem != null)
                    {
                        recipe.RecipeAbscractImageUrl = Sitecore.Resources.Media.MediaManager.GetMediaUrl(recipeImage.MediaItem);
                    }


                    recipe.RecipeURL = Sitecore.Links.LinkManager.GetItemUrl(recipeItem);
                    int rating = 0;
                    int.TryParse(recipeItem.Fields[Templates.Recipe.Fields.RecipeRating.ToString()].Value, out rating);
                    recipe.RecipeRating = rating;
                    //hero.HeroBackgroundImageUrlAlt = heroImage.Alt;

                    recipes.Add(recipe);
                }
            }

            homePageModel.BestRecipesList = recipes;

            return(View(homePageModel));
        }
Exemple #14
0
        public static IEnumerable <Item> GetEventTypes()
        {
            var            db       = RenderingContext.Current.ContextItem.Database;
            var            homeItem = db.GetItem(Sitecore.Context.Site.StartPath);
            MultilistField events   = homeItem.Fields["Events"];

            return(events.GetItems());
        }
Exemple #15
0
        protected PortfolioListingModel GetModel(Item actionItem, int imageWidth, int imageHeight)
        {
            MultilistField listField = actionItem.Fields["Portfolio Section Items"];

            return(new PortfolioListingModel
            {
                PortfolioListingItemModels = _portfolioRepository.GetPortfolioItemsFromMultilist(listField, imageWidth, imageHeight),
            });
        }
 public static Item[] GetMultiListItemsFromField(this Item item, string fieldName)
 {
     if (item.IsFieldExists(fieldName))
     {
         MultilistField multilistField = item.Fields[fieldName];
         return(multilistField.GetItems());
     }
     return(new Item[] { });
 }
        /// <summary>
        /// This method returns a list of ProductSearchResults for a datasource
        /// </summary>
        /// <param name="dataSource">The datasource to perform the searches with</param>
        /// <param name="productSearchOptions">The search options.</param>
        /// <returns>A list of ProductSearchResults</returns>
        public MultipleProductSearchResults GetMultipleProductSearchResults(BaseItem dataSource, CommerceSearchOptions productSearchOptions)
        {
            Assert.ArgumentNotNull(productSearchOptions, "productSearchOptions");

            MultilistField searchesField         = dataSource.Fields[StorefrontConstants.KnownFieldNames.NamedSearches];
            var            searches              = searchesField.GetItems();
            var            productsSearchResults = new List <SearchResults>();

            foreach (Item search in searches)
            {
                var itemType = search.ItemType();
                switch (itemType)
                {
                case StorefrontConstants.ItemTypes.NamedSearch:
                {
                    var productsSearchResult = GetProductSearchResults(search, productSearchOptions);
                    if (productsSearchResult != null)
                    {
                        productsSearchResult.NamedSearchItem = search;
                        productsSearchResult.DisplayName     = search[StorefrontConstants.KnownFieldNames.Title];
                        productsSearchResults.Add(productsSearchResult);
                    }

                    break;
                }

                case StorefrontConstants.ItemTypes.SelectedProducts:
                {
                    int           itemCount        = 0;
                    SearchResults staticSearchList = new SearchResults();
                    staticSearchList.DisplayName     = search[StorefrontConstants.KnownFieldNames.Title];
                    staticSearchList.NamedSearchItem = search;

                    MultilistField productListField = search.Fields[StorefrontConstants.KnownFieldNames.ProductList];
                    var            productList      = productListField.GetItems();
                    foreach (Item productItem in productList)
                    {
                        var catalogItemtype = productItem.ItemType();
                        if (catalogItemtype == StorefrontConstants.ItemTypes.Category || catalogItemtype == StorefrontConstants.ItemTypes.Product)
                        {
                            staticSearchList.SearchResultItems.Add(productItem);

                            itemCount++;
                        }
                    }

                    staticSearchList.TotalItemCount = itemCount;
                    staticSearchList.TotalPageCount = itemCount;
                    productsSearchResults.Add(staticSearchList);

                    break;
                }
                }
            }

            return(new MultipleProductSearchResults(productsSearchResults));
        }
        /// <summary>
        /// Processes the specified arguments.
        /// </summary>
        /// <param name="args">The arguments.</param>
        public override void Process(Commerce.Pipelines.ServicePipelineArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            Assert.ArgumentCondition(args.Request is GetShippingOptionsRequest, "args.Request", "args.Request is GetShippingOptionsRequest");
            Assert.ArgumentCondition(args.Result is GetShippingOptionsResult, "args.Result", "args.Result is GetShippingOptionsResult");

            var request = (GetShippingOptionsRequest)args.Request;
            var result  = (GetShippingOptionsResult)args.Result;

            List <ShippingOption> availableShippingOptionList = new List <ShippingOption>();
            List <ShippingOption> allShippingOptionList       = new List <ShippingOption>();

            List <ID> filteredList = null;

            var fulfillmentConfiguration = StorefrontManager.CurrentStorefront.FulfillmentConfiguration;

            if (fulfillmentConfiguration != null)
            {
                MultilistField multiList = fulfillmentConfiguration.Fields[Sitecore.Commerce.Constants.Templates.FulfillmentConfiguration.Fields.FulfillmentOptions];
                filteredList = new List <ID>(multiList.TargetIDs);
            }

            foreach (Item shippingOptionItem in this.GetShippingOptionsItem().GetChildren())
            {
                bool add = true;
                if (filteredList != null)
                {
                    add = filteredList.Exists(p => p == shippingOptionItem.ID);
                }

                if (add)
                {
                    var fulfillmentTypeId = shippingOptionItem[Sitecore.Commerce.Constants.Templates.FulfillmentOption.Fields.FulfillmentOptionType];

                    ShippingOption option = this.EntityFactory.Create <ShippingOption>("ShippingOption");

                    var shippingOptionType = Sitecore.Context.Database.GetItem(fulfillmentTypeId);
                    Assert.IsNotNull(shippingOptionType, string.Format(CultureInfo.InvariantCulture, "The Fulfillment Option Type is undefined in Sitecore.  ID: {0}", fulfillmentTypeId));

                    this.TranslateToShippingOption(shippingOptionItem, shippingOptionType, option);

                    add = option.ShippingOptionType == ShippingOptionType.ElectronicDelivery && !CartCanBeEmailed(request.Cart as CommerceCart) ? false :
                          option.ShippingOptionType == ShippingOptionType.DeliverItemsIndividually && request.Cart.Lines.Count <= 1 ? false : true;

                    if (add)
                    {
                        availableShippingOptionList.Add(option);
                    }

                    allShippingOptionList.Add(option);
                }
            }

            result.ShippingOptions         = new System.Collections.ObjectModel.ReadOnlyCollection <ShippingOption>(availableShippingOptionList);
            result.LineShippingPreferences = this.GetLineShippingOptions(request.Cart as CommerceCart, allShippingOptionList).AsReadOnly();
        }
Exemple #19
0
        public static MultilistField FetchMultiListItems(Item item, string field)
        {
            MultilistField items = null;

            if (item != null)
            {
                items = item.Fields[field];
            }
            return(items);
        }
        public override void Initialize(Rendering rendering)
        {
            base.Initialize(rendering);

            ArticleDate      = rendering.Item.Fields["ArticleDate"];
            HeaderImage      = rendering.Item.Fields["HeaderImage"];
            _RelatedArticles = rendering.Item.Fields["RelatedArticles"];
            Summary          = rendering.Item["Summary"];
            SummaryImage     = rendering.Item.Fields["SummaryImage"];
        }
 public static void AddSearchTab(Item contextItem, MultilistField editors)
 {
     using (new EditContext(contextItem, SecurityCheck.Disable))
     {
         if (!editors.Items.Contains(Constants.SearchEditor))
         {
             editors.Add(Constants.SearchEditor);
         }
     }
 }
        public IEnumerable <InputParams> selectedMultilistValues(MultilistField data)
        {
            IEnumerable <InputParams> selectedInputs = data.GetItems().Select(x => new InputParams
            {
                Key   = x.Fields["Key"].ToString(),
                Value = x.Fields["Value"].ToString()
            });

            return(selectedInputs);
        }
Exemple #23
0
 public static void AddSearchTab(Item contextItem, MultilistField editors)
 {
     using (new EditContext(contextItem, SecurityCheck.Disable))
     {
         if (!editors.Items.Contains(Constants.SearchEditor))
         {
             editors.Add(Constants.SearchEditor);
         }
     }
 }
        private List <ID> GetIdListFromField(Field field)
        {
            MultilistField multilistField = field;

            if (multilistField == null)
            {
                return(new List <ID>());
            }
            return(multilistField.GetItems().Select(i => i.ID).ToList());
        }
        /// <summary>
        /// The get values.
        /// </summary>
        /// <returns>
        /// The IEnumberable of values
        /// </returns>
        public IEnumerable <string> GetValues()
        {
            if (FieldTypeManager.GetField(_field) is MultilistField)
            {
                MultilistField field = _field;
                return(field.TargetIDs.Select(IdHelper.NormalizeGuid));
            }

            return(new string[0]);
        }
        public MultipleProductSearchResults GetMultipleProductSearchResults(Item dataSource, string sortField)
        {
            if (!dataSource.IsDerived(Templates.HasNamedSearches.ID))
            {
                return(null);
            }
            MultilistField searchesField         = dataSource.Fields[Templates.HasNamedSearches.Fields.NamedSearches];
            var            searches              = searchesField.GetItems();
            var            productsSearchResults = new List <SearchResults>();

            foreach (var search in searches)
            {
                if (search.IsDerived(Templates.NamedSearch.ID))
                {
                    var searchOptions = new SearchOptions
                    {
                        NumberOfItemsToReturn = 12,
                        StartPageIndex        = 0,
                        SortField             = sortField
                    };

                    var productsSearchResult = CatalogManager.GetProductSearchResults(search, searchOptions);
                    if (productsSearchResult == null)
                    {
                        continue;
                    }
                    productsSearchResult.Title = search[Templates.NamedSearch.Fields.Title];
                    productsSearchResults.Add(productsSearchResult);
                }
                else if (search.IsDerived(Templates.SelectedProducts.ID))
                {
                    var staticSearchList = new SearchResults
                    {
                        Title = search[Templates.SelectedProducts.Fields.Title]
                    };

                    MultilistField productListField = search.Fields[Templates.SelectedProducts.Fields.ProductList];
                    var            productList      = productListField.GetItems();
                    foreach (var productItem in productList)
                    {
                        if (!productItem.IsDerived(Foundation.Commerce.Templates.Commerce.Category.Id) && !productItem.IsDerived(Foundation.Commerce.Templates.Commerce.Category.Id))
                        {
                            continue;
                        }
                        staticSearchList.SearchResultItems.Add(productItem);
                    }

                    staticSearchList.TotalItemCount = staticSearchList.SearchResultItems.Count;
                    staticSearchList.TotalPageCount = staticSearchList.SearchResultItems.Count;
                    productsSearchResults.Add(staticSearchList);
                }
            }

            return(new MultipleProductSearchResults(productsSearchResults));
        }
        /// <summary>
        /// Gets Sitecore items from Multilist Field.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="fieldName">Name of the field.</param>
        /// <returns></returns>
        public static Item[] GetFieldItems(this Item item, string fieldName)
        {
            MultilistField ctrl = item.Fields[fieldName];

            if (ctrl != null)
            {
                return(ctrl.GetItems());
            }

            return(new Item[] { });
        }
        public IEnumerable <Item> GetItemList(Item item, ID propertyId)
        {
            if (propertyId == ID.Null)
            {
                return(null);
            }

            MultilistField itemList = item.Fields[propertyId];

            return(itemList?.GetItems() ?? new Item[] { });
        }
        public void Process(Item[] items, Sitecore.Tasks.CommandItem commandItem, ScheduleItem schedule)
        {
            CheckboxField active = commandItem.InnerItem.Fields["active"];

            if (active.Checked)
            {
                //prepare email message
                string from    = commandItem["from"];
                string to      = commandItem["to"];
                string subject = commandItem["subject"];

                MailMessage message = new MailMessage(from, to)
                {
                    Subject = subject,
                };

                //attach reports in excel format
                MultilistField reportReferences = commandItem.InnerItem.Fields["reports"];
                foreach (Item item in reportReferences.GetItems())
                {
                    ReportItem reportItem = null;
                    Report     report     = null;
                    try
                    {
                        reportItem = new ReportItem(item);
                        report     = new Report();
                        foreach (var sItem in reportItem.Scanners)
                        {
                            report.AddScanner(sItem);
                        }
                        foreach (var vItem in reportItem.Viewers)
                        {
                            report.AddViewer(vItem);
                        }
                        foreach (var fItem in reportItem.Filters)
                        {
                            report.AddFilter(fItem);
                        }
                        report.Run();

                        //attach to mail message
                        string     tempPath      = new ASR.Export.HtmlExport(report, reportItem).SaveFile("Automated report " + reportItem.Name, "xls");
                        Attachment newAttachment = new Attachment(tempPath);
                        message.Attachments.Add(newAttachment);
                    }
                    catch (Exception ex)
                    {
                        message.Body += String.Format("An error occured while running '{0}'\n{1}\n\n", reportItem.Name, ex.ToString());
                    }
                }

                MainUtil.SendMail(message);
            }
        }
        public IEnumerable <ProfileItem> GetSiteProfiles()
        {
            var settingsItem = Context.Site.GetContextItem(Templates.ProfilingSettings.ID);

            if (settingsItem == null)
            {
                return(Enumerable.Empty <ProfileItem>());
            }
            MultilistField profiles = settingsItem.Fields[Templates.ProfilingSettings.Fields.SiteProfiles];

            return(profiles.GetItems().Select(i => new ProfileItem(i)));
        }
Exemple #31
0
        public ActionResult NewsDetails()
        {
            if (Sitecore.Context.Item == null)
            {
                return(null);
            }

            var dataSourceId = Sitecore.Context.Item.ID.ToString();

            Assert.IsNotNullOrEmpty(dataSourceId, "dataSourceId is null or empty");
            var item = Sitecore.Context.Database.GetItem(dataSourceId);

            if (item == null)
            {
                return(null);
            }

            NewsDetail newsDetail = new NewsDetail();


            // Artists List - TreeList Field
            MultilistField newsArtistsListField = item.Fields[Templates.News.Fields.NewsArtists];

            Item[]        newsArtistsItems = newsArtistsListField.GetItems();
            List <Artist> newsArtistsList  = new List <Artist>();

            if (newsArtistsItems != null && newsArtistsItems.Count() > 0)
            {
                foreach (Item i in newsArtistsItems)
                {
                    Artist artist     = new Artist();
                    Item   artistItem = Sitecore.Context.Database.GetItem(i.ID);
                    artist.ArtistName        = artistItem.Fields[Templates.Artist.Fields.ArtistName.ToString()].Value;
                    artist.ArtistTitle       = artistItem.Fields[Templates.Artist.Fields.ArtistTitle.ToString()].Value;
                    artist.ArtistDescription = artistItem.Fields[Templates.Artist.Fields.ArtistDescription.ToString()].Value;
                    LinkField artistTwitterLink = artistItem.Fields[Templates.Artist.Fields.ArtistTwitterUrl];
                    artist.ArtistTwitterUrl = artistTwitterLink.Url;
                    LinkField artistLinkedInLink = artistItem.Fields[Templates.Artist.Fields.ArtistLinkedInUrl];
                    artist.ArtistLinkedInUrl = artistLinkedInLink.Url;
                    LinkField artistWebsiteLink = artistItem.Fields[Templates.Artist.Fields.ArtistWebsiteUrl];
                    artist.ArtistWebsiteUrl = artistWebsiteLink.Url;
                    ImageField artistImage = artistItem.Fields[Templates.Artist.Fields.ArtistImage];
                    artist.ArtistImageUrl = Sitecore.Resources.Media.MediaManager.GetMediaUrl(artistImage.MediaItem);
                    artist.ArtistImageAlt = artistImage.Alt;

                    newsArtistsList.Add(artist);
                }
            }

            newsDetail.NewsArtistList = newsArtistsList;

            return(View(newsDetail));
        }
        private void SwapMultilistFieldValue(Item item, MultilistField field, ID targetItemId, ID newItemId)
        {
            Assert.ArgumentNotNull(item, "item");
            Assert.ArgumentNotNull(field, "field");
            Assert.ArgumentNotNull(targetItemId, "targetItemId");
            Assert.ArgumentNotNull(newItemId, "newItemId");

            using (new Sitecore.Data.Items.EditContext(item))
            {
                field.Remove(targetItemId.ToString());
                field.Add(newItemId.ToString());
            }
        }
    public static MetaKeywordsModel GetKeywords(Item item)
    {
      if (item.IsDerived(Templates.PageMetadata.ID))
      {
        var keywordsField = item.Fields[Templates.PageMetadata.Fields.Keywords];
        if (keywordsField == null)
        {
          return null;
        }

        var keywordMultilist = new MultilistField(keywordsField);
        var keywords = keywordMultilist.GetItems().Select(keywrdItem => keywrdItem[Templates.Keyword.Fields.Keyword]);
        var metaKeywordModel = new MetaKeywordsModel {Keywords = keywords.ToList()};

        return metaKeywordModel;
      }

      return null;
    }
    public static IEnumerable<Language> GetSupportedLanguages()
    {
      var languages = GetAll();
      var siteContext = new SiteContext();
      var siteDefinition = siteContext.GetSiteDefinition(Sitecore.Context.Item);
      
      if (siteDefinition?.Item == null || !siteDefinition.Item.IsDerived(Feature.Language.Templates.LanguageSettings.ID))
      {
        return languages;
      }

      var supportedLanguagesField = new MultilistField(siteDefinition.Item.Fields[Feature.Language.Templates.LanguageSettings.Fields.SupportedLanguages]);
      if (supportedLanguagesField.Count == 0)
      {
        return languages;
      }

      var supportedLanguages = supportedLanguagesField.GetItems();

      languages = languages.Where(language => supportedLanguages.Any(item => item.Name.Equals(language.Name)));

      return languages;
    } 
Exemple #35
0
        protected virtual void AddMultilistField(Document document, MultilistField field, FieldConfiguration fieldConfiguration)
        {
            if (field == null || fieldConfiguration == null)
            {
                return;
            }

            StringBuilder fieldBuilder = new StringBuilder();
            bool first = true;
            foreach (ID targetId in field.TargetIDs)
            {
                if (!first)
                {
                    fieldBuilder.Append(" ");
                }
                first = false;
                fieldBuilder.Append(targetId.ToLuceneId());
            }

            string fieldName = SitecoreQueryBuilderExtensions.GetEncodedFieldName(field.InnerField.Name);
            if (fieldConfiguration.Analyze)
            {
                document.AddAnalysedField(fieldName, fieldBuilder.ToString(), fieldConfiguration.Store);
                return;
            }

            document.AddNonAnalysedField(fieldName, fieldBuilder.ToString(), fieldConfiguration.Store);
        }
        /// <summary>
        /// Converts the multisites.
        /// </summary>
        /// <param name="multisitesCollection">The multisites collection.</param>
        /// <returns></returns>
        public static string ConvertMultisites(MultilistField multisitesCollection)
        {
            if (Multisites == null || multisitesCollection == null)
              {
            return string.Empty;
              }

              var sites = (from site in multisitesCollection.GetItems()
                   where Multisites.ContainsKey(site.ID)
                   select Multisites[site.ID]).Aggregate(string.Empty, (current, prefix) => string.Format("{0}|{1}", current, prefix));

              return UrlNormalizer.DecodeUrl(sites.TrimStart('|').ToLower());
        }
        public override void Initialize(Rendering rendering)
        {
            base.Initialize(rendering);

            _Sidebar = rendering.Item.Fields["Sidebar"];
        }
 private static Item GetFirstCategoryItem(MultilistField field)
 {
     return field.GetItems().FirstOrDefault();
 }
 public VisualListField(Field f)
 {
     _field = f;
 }
 public MultiListFieldWrapper(MultilistField multilistField)
 {
     _multilistField = multilistField;
 }
        public override void Initialize(Rendering rendering)
        {
            base.Initialize(rendering);

            ArticleDate = rendering.Item.Fields["ArticleDate"];
            HeaderImage = rendering.Item.Fields["HeaderImage"];
            _RelatedArticles = rendering.Item.Fields["RelatedArticles"];
            Summary = rendering.Item["Summary"];
            SummaryImage = rendering.Item.Fields["SummaryImage"];
        }