public Item AddToSitecore() { Database database = _factory.GetDatabase("master"); Item rootItem = database.GetItem("/sitecore/content/home"); Item childItem = rootItem.Add("child", new TemplateID(ID.NewID)); childItem["title"] = rootItem["title"] + "_child"; return(childItem); }
private void Init() { using (new SecurityDisabler()) { Database masterDb = _factory.GetDatabase("master"); Database webDb = _factory.GetDatabase("web"); Language language = Language.Parse("en"); EnsureTemplates(masterDb, webDb, language); EnsureItems(masterDb, webDb, language); } }
public void MyClass_AddItemToWithTempalteWithAutoFixtureRoot_ShouldReturnItem(Item rootItem, Item childItem, TemplateItem template, Database database, BaseFactory factory) { //Arrange Database mydb = rootItem.Database; mydb.Name.Returns("bla"); database.GetItem("/sitecore/content/home").Returns(rootItem); database.GetTemplate("baseTemplate").Returns(template); factory.GetDatabase("master").Returns(database); rootItem.Add(childItem.Name, template).ReturnsForAnyArgs(childItem); rootItem["title"].Returns("parent"); MyClass sut = new MyClass(factory); //Act Item returnItem = sut.AddToSitecoreFromTemplate(); returnItem["test"] = "T"; //Assert returnItem.Should().NotBeNull(); rootItem["title"].Should().BeEquivalentTo(("parent")); returnItem.ID.Should().BeSameAs(childItem.ID); returnItem.Name.Should().BeEquivalentTo(childItem.Name); rootItem.Add(childItem.Name, template).Received(); returnItem.Received()["title"] = "parent_child"; database.Received().GetTemplate("baseTemplate"); database.Received().GetItem("/sitecore/content/home"); }
private static Item FindRoot(BaseFactory factory, BaseSettings settings) { var database = factory.GetDatabase(settings.GetSetting("Meetup.DefaultRepo", defaultValue: "web"), assert: true); using (new SecurityDisabler()) { var item = database.GetItem(ItemIDs.MeetupContentRootId); return(item ?? throw new RequiredObjectIsNullException($"Root item {ItemIDs.MeetupContentRootId} was not found in {database.Name}")); } }
public IEnumerable <Item> GetCategories(Item parent) { using (var context = GetSearchContext(parent)) { var results = context.GetQueryable <CategorySearchQuery>() .Where(evnt => evnt.Paths.Contains(parent.ID) && evnt.Templates.Contains(Templates.Category.Id)) .Select(x => new { Uri = x.UniqueId, Database = Factory.GetDatabase(x.UniqueId.DatabaseName) }).ToList(); return(results.Select(x => ItemManager.GetItem(x.Uri.ItemID, x.Uri.Language, x.Uri.Version, x.Database))); } }
public IEnumerable <Item> GetEvents(Item parent, string keyword) { var searchWord = string.IsNullOrEmpty(keyword) ? "*" : keyword; using (var context = GetSearchContext(parent)) { var results = context.GetQueryable <EventSearchQuery>() .Where(evnt => evnt.Paths.Contains(parent.ID) && evnt.Templates.Contains(Templates.Event.Id) && (evnt.Name.Contains(searchWord) || evnt.Description.Contains(searchWord))) .Select(x => new { Uri = x.UniqueId, Database = Factory.GetDatabase(x.UniqueId.DatabaseName) }).ToList(); return(results.Select(x => ItemManager.GetItem(x.Uri.ItemID, x.Uri.Language, x.Uri.Version, x.Database))); } }
public EnterspeedController( IEnterspeedIdentityService enterspeedIdentityService, BaseItemManager itemManager, BaseLanguageManager languageManager, BaseFactory factory, IEntityModelMapper <Item, SitecoreContentEntity> itemMapper, IEntityModelMapper <RenderingItem, SitecoreRenderingEntity> renderingMapper, IEntityModelMapper <Item, SitecoreDictionaryEntity> dictionaryMapper, IJsonSerializer jsonSerializer) { _enterspeedIdentityService = enterspeedIdentityService; _itemManager = itemManager; _itemMapper = itemMapper; _renderingMapper = renderingMapper; _dictionaryMapper = dictionaryMapper; _jsonSerializer = jsonSerializer; _webDatabase = factory.GetDatabase("web"); _allLanguages = languageManager.GetLanguages(_webDatabase).ToList(); }
public void MyClass_AddItemToWithAutoFixtureRoot_ShouldReturnItem(Item rootItem, Item childItem, Database database, BaseFactory factory) { //Arrange database.GetItem("/sitecore/content/home").Returns(rootItem); factory.GetDatabase("master").Returns(database); rootItem.Add(Arg.Any <string>(), Arg.Any <TemplateID>()).ReturnsForAnyArgs(childItem); rootItem["title"].Returns("parent"); MyClass sut = new MyClass(factory); //Act Item returnItem = sut.AddToSitecore(); returnItem["test"] = "T"; //Assert returnItem.Should().NotBeNull(); returnItem.ID.Should().BeSameAs(childItem.ID); returnItem.Name.Should().BeEquivalentTo(childItem.Name); rootItem.Add(Arg.Any <string>(), Arg.Any <TemplateID>()).Received(); returnItem.Received()["title"] = "parent_child"; database.GetItem("/sitecore/content/home").Received(); }
public EnterspeedSitecoreConfiguration GetConfiguration() { Item enterspeedConfigurationItem = _itemManager.GetItem(EnterspeedIDs.Items.EnterspeedConfigurationID, Language.Parse("en"), Version.Latest, _factory.GetDatabase("web")); if (enterspeedConfigurationItem == null || enterspeedConfigurationItem.Versions.Count == 0) { return(new EnterspeedSitecoreConfiguration()); } string enabled = enterspeedConfigurationItem[EnterspeedIDs.Fields.EnterspeedEnabledFieldID] ?? string.Empty; if (enabled != "1") { return(new EnterspeedSitecoreConfiguration()); } if (!IsConfigurationUpdated(enterspeedConfigurationItem, out Guid currentRevisionId)) { return(_configuration); } var config = new EnterspeedSitecoreConfiguration { IsEnabled = true }; string configApiBaseUrl = enterspeedConfigurationItem[EnterspeedIDs.Fields.EnterspeedApiBaseUrlFieldID]; config.BaseUrl = (configApiBaseUrl ?? string.Empty).Trim(); string configApiKey = enterspeedConfigurationItem[EnterspeedIDs.Fields.EnterspeedApiKeyFieldID]; config.ApiKey = (configApiKey ?? string.Empty).Trim(); config.ItemNotFoundUrl = GetItemNotFoundUrl(_settings); MultilistField enabledSitesField = enterspeedConfigurationItem.Fields[EnterspeedIDs.Fields.EnterspeedEnabledSitesFieldID]; var enabledSites = enabledSitesField?.GetItems()?.ToList() ?? new List <Item>(); if (enabledSites.Any()) { List <SiteInfo> allSiteInfos = _siteContextFactory.GetSites(); foreach (Item enabledSite in enabledSites) { SiteInfo matchingSite = allSiteInfos.FirstOrDefault(x => x.RootPath.Equals(enabledSite.Paths.FullPath, StringComparison.OrdinalIgnoreCase)); if (matchingSite == null) { continue; } SiteContext siteContext = _siteContextFactory.GetSiteContext(matchingSite.Name); Language siteLanguage = _languageManager.GetLanguage(siteContext.Language); Item homeItem = _itemManager.GetItem(siteContext.StartPath, siteLanguage, Version.Latest, siteContext.Database); if (homeItem == null || homeItem.Versions.Count == 0) { // TODO - KEK: throw exception here? continue; } string name = siteContext.SiteInfo.Name; string startPathUrl = _linkManager.GetItemUrl(homeItem, new ItemUrlBuilderOptions { SiteResolving = true, Site = siteContext, AlwaysIncludeServerUrl = true, LowercaseUrls = true, LanguageEmbedding = LanguageEmbedding.Never }); var enterspeedSiteInfo = new EnterspeedSiteInfo { Name = name, BaseUrl = startPathUrl, HomeItemPath = siteContext.StartPath, SiteItemPath = siteContext.RootPath }; if (siteContext.Properties["scheme"] != null && siteContext.Properties["scheme"].Equals("https", StringComparison.OrdinalIgnoreCase)) { enterspeedSiteInfo.IsHttpsEnabled = true; } config.SiteInfos.Add(enterspeedSiteInfo); } } // Settings caching values _configuration = config; _configurationRevisionId = currentRevisionId; return(_configuration); }