public ActionResult Index() { var siteList = _siteDefinitionRepository.List(); ViewBag.SiteList = siteList; return(View("~/Views/admin/LuceneSiteIndex/Index.cshtml")); }
public List <string> GetActiveSites() { var siteDefinitionNames = _siteDefinitionRepository.List().Select(x => x.Name); var resultList = new List <string> { Constants.AllFilterKey }; resultList.AddRange(siteDefinitionNames); return(resultList); }
private string GetFallbackLanguage() { if (!HostingEnvironment.IsHosted) { return(FallbackLanguage); } ContentReference startPageLink = ContentReference.StartPage; if (startPageLink == null || startPageLink == ContentReference.EmptyReference) { // Fallback to first defined site if StartPage is empty (no context or star-mapping) var firstSite = _siteDefinitionRepository.List().FirstOrDefault(); if (firstSite != null) { startPageLink = firstSite.StartPage; } } // Try to fetch master language from startpage if (startPageLink != null && startPageLink != ContentReference.EmptyReference) { var contentLoader = ServiceLocator.Current.GetInstance <IContentLoader>(); if (contentLoader.TryGet(startPageLink, out PageData startPage)) { return(startPage.MasterLanguage.Name); } } Logger.Warning("Could not retrieve StartPage. Are you missing a wildcard mapping in CMS Admin -> Manage Websites?"); return(FallbackLanguage); }
private int MergeSiteDefinitions(IEnumerable <SiteDefinition> siteDefinitionsToUpdate) { var updatedSites = 0; var existingSites = _siteDefinitionRepository.List(); foreach (var siteDefinitionToUpdate in siteDefinitionsToUpdate) { SiteDefinition site = GetExistingSiteDefinition(existingSites, siteDefinitionToUpdate); if (site != null) { site = site.CreateWritableClone(); if (!string.IsNullOrEmpty(siteDefinitionToUpdate.Name) && site.Name != siteDefinitionToUpdate.Name) { // Will set the name of the site to the provided Name if Id exist and Name is specified and different from the found existing site. site.Name = siteDefinitionToUpdate.Name; } site.SiteUrl = siteDefinitionToUpdate.SiteUrl; site.Hosts = siteDefinitionToUpdate.Hosts; _siteDefinitionRepository.Save(site); updatedSites++; Logger.Information($"Updated {siteDefinitionToUpdate.Name} to site URL {siteDefinitionToUpdate.SiteUrl} and {siteDefinitionToUpdate.Hosts.Count} hostnames."); resultLog.AppendLine($"Updated {siteDefinitionToUpdate.Name} to site URL {siteDefinitionToUpdate.SiteUrl} and {siteDefinitionToUpdate.Hosts.Count} hostnames.<br />"); } else { Logger.Warning($"Could not find site {siteDefinitionToUpdate.Name} or site already has site URL {siteDefinitionToUpdate.SiteUrl}."); resultLog.AppendLine($"Could not find site {siteDefinitionToUpdate.Name} or site already has site URL {siteDefinitionToUpdate.SiteUrl}.<br />"); } } return(updatedSites); }
public void Clear() { foreach (var site in _repository.List()) { _repository.Delete(site.Id); } }
public CustomStartPageResolver(ISiteDefinitionRepository siteDefinitionRepository, UrlResolver urlResolver, IContentLoader contentLoader) { _urlResolver = urlResolver; _contentLoader = contentLoader; _siteDefinitions = new Lazy <List <SiteDefinition> >(() => siteDefinitionRepository.List().ToList()); }
public ActionResult Index() { ViewBag.Sites = _siteDefinitionRepository.List(); ViewBag.LanguageBranches = _languageBranchRepository.ListEnabled(); return(View()); }
public ActionResult Index() { var hostLookUpArray = _siteDefinitionRepository.List().SelectMany(sd => sd.Hosts, (sd, host) => host.Name).ToArray(); var siteKey = _manifestJsonService.GetSiteKey(SiteDefinition.Current.Id, hostLookUpArray.Contains(Request.Url.Host) ? Request.Url.Host : "*"); return(Content(_manifestJsonService.Get(siteKey), "application/manifest+json")); }
public string[] GetGlobalHostOptions() { return(_siteDefinitionRepository.List() .SelectMany(s => s.Hosts.Select(h => h.Name)) .Where(h => !h.Equals("*", StringComparison.InvariantCultureIgnoreCase)) .OrderBy(h => h) .ToArray()); }
private List <SelectListItem> GetHostsSelectListItems() { return(_siteDefinitionRepository.List().SelectMany(d => d.Hosts, (s, h) => new SelectListItem { Value = _manifestJsonService.GetSiteKey(s.Id, h.Name), Text = $"{s.Name} > {h.Name}" }).ToList()); }
public StartPageUrlResolver(ISiteDefinitionRepository siteDefinitionRepository, UrlResolver urlResolver, IContentLoader contentLoader) { _urlResolver = urlResolver; _contentLoader = contentLoader; _startPages = new Lazy <IEnumerable <ContentReference> >(() => { return(siteDefinitionRepository.List().Select(x => x.StartPage.ToReferenceWithoutVersion())); }); }
/// <summary> /// Gets a list of all sites /// </summary> /// <returns></returns> public List <SiteDefinition> GetSiteDefinitions() { var list = _siteDefinitionRepository.List() .ToList(); list.Add(new SiteDefinition { Id = Guid.Empty, Name = "DOES NOT BELONG TO ANY SITE" }); return(list); }
public EpiBaseImplementation( IContentLoader contentLoader, ISiteDefinitionRepository siteDefinitionRepository, ReferenceConverter referenceConverter, IPricingService pricingService) : base(contentLoader, referenceConverter) { _pricingService = pricingService; _siteUrl = siteDefinitionRepository.List().FirstOrDefault()?.SiteUrl.ToString(); }
private StartPage GetStartPage() { var siteDefintion = _siteDefinitionRepository.List().FirstOrDefault(); if (siteDefintion != null) { return(_contentRepository.Get <StartPage>(siteDefintion.StartPage)); } return(null); }
public string Execute(params string[] parameters) { int cnt = 0; foreach (var r in _siteRepo.List()) { OnCommandOutput?.Invoke(this, r); cnt++; } return($"Done, listing {cnt} sites"); }
public Task ExecuteAsync() { var allSites = _siteDefinitionRepository.List(); foreach (var siteDefinition in allSites) { var clone = siteDefinition.CreateWritableClone(); clone.Hosts.Add(new HostDefinition() { Name = "*", UseSecureConnection = true }); _siteDefinitionRepository.Save(clone); } return(Task.CompletedTask); }
public Task ExecuteAsync() { var primaryWebsiteUrl = SiteConfiguration.Site.PrimaryUrl; var home = _contentRepository.GetDefault <HomePage>(ContentReference.RootPage); home.Name = SiteConfiguration.Site.Name; var homeReference = _contentRepository.Save(home, SaveAction.Publish); var siteDefinitions = _siteDefinitionRepository.List().ToArray(); if (siteDefinitions.Any()) { foreach (var siteDefinition in siteDefinitions.Select(d => d.CreateWritableClone())) { siteDefinition.StartPage = homeReference; _siteDefinitionRepository.Save(siteDefinition); } } else { var primaryWebsiteUri = new Uri(primaryWebsiteUrl); _siteDefinitionRepository.Save(new SiteDefinition { Name = SiteConfiguration.Site.Name, Id = Guid.NewGuid(), StartPage = homeReference, SiteUrl = new Uri(primaryWebsiteUrl), Hosts = new[] { new HostDefinition { Language = new CultureInfo("no"), Name = primaryWebsiteUri.Authority, Type = HostDefinitionType.Primary, UseSecureConnection = "https".Equals(primaryWebsiteUri.Scheme, StringComparison.OrdinalIgnoreCase) } } }); } return(Task.CompletedTask); }
private static void EnsureSiteDefinition(ISiteDefinitionRepository siteDefinitionRepository, ContentReference startPage, ContentReference assetsFolder) { var siteDefinition = siteDefinitionRepository.List() .FirstOrDefault(x => x.StartPage.CompareToIgnoreWorkID(startPage)); if (siteDefinition != null) { return; } siteDefinition = new SiteDefinition { Name = "Static Website", StartPage = startPage, SiteAssetsRoot = assetsFolder, SiteUrl = new Uri(StaticWebsiteUrl) // To do: Should come from configuration? }; siteDefinitionRepository.Save(siteDefinition); }
private Product GetByCode(FashionProduct item) { var siteUrl = _siteDefinitionRepository.List().FirstOrDefault()?.SiteUrl; var variants = _catalogContentService.GetVariants <FashionVariant>(item).ToList(); var defaultVariant = variants.FirstOrDefault(); var viewModel = _catalogEntryViewModelFactory.Create(item, defaultVariant?.Code); var product = new Product { Code = item.Code, Title = item.DisplayName, Description = item.Description.ToHtmlString(), Price = viewModel.ListingPrice.Amount, SalePrice = viewModel.DiscountedPrice?.Amount ?? 0, Brand = viewModel.Product.Brand, Image = siteUrl + viewModel.Images?.FirstOrDefault(), LargeImage = siteUrl + viewModel.Images?.FirstOrDefault() }; var sizes = new List <ProductSize>(); foreach (var variant in variants) { sizes.Add(new ProductSize { Size = variant.Size, Stock = _warehouseService.GetWarehouseAvailability(variant.Code)?.Select(x => new ProductSizeStock { StorePageId = 295, StoreCode = x?.Warehouse?.Code, StoreName = x?.Warehouse?.Name, Available = (int)x?.InStock }).ToArray() }); } product.Sizes = sizes.ToArray(); return(product); }
private string GetLocalizedAssetsFolderName(string name) { ISiteDefinitionRepository definitionRepository = this.GetSiteDefinitionRepository(); LocalizationService localizationService = this.GetLocalizationService(); if (definitionRepository != null && localizationService != null) { foreach (SiteDefinition siteDefinition in definitionRepository.List()) { if (ParentLink.CompareToIgnoreWorkID(siteDefinition.GlobalAssetsRoot)) { return(localizationService.GetString("/episerver/cms/widget/hierachicallist/roots/globalroot/label", name)); } if (ParentLink.CompareToIgnoreWorkID(siteDefinition.SiteAssetsRoot)) { return(localizationService.GetString("/episerver/cms/widget/hierachicallist/roots/siteroot/label", name)); } } } return(name); }
public static bool CreateSite( ISiteDefinitionRepository siteDefinitionRepository, IContent homePage, string siteUrl) { Guard.ValidateObject(siteDefinitionRepository); if (siteDefinitionRepository.List().Any()) { return(true); } var siteDefinition = new SiteDefinition { Name = "JonDJones.Website", SiteUrl = new Uri(siteUrl), StartPage = homePage.ContentLink, Hosts = GetHostDefinitions() }; siteDefinitionRepository.Save(siteDefinition); return(true); }
public override List <Feed> Build() { var generatedFeeds = new List <Feed>(); var siteUrl = _siteDefinitionRepository.List().FirstOrDefault()?.SiteUrl.ToString(); var feed = new Feed { Updated = DateTime.UtcNow, Title = "My products", Link = siteUrl }; var entries = new List <Entry>(); var catalogReferences = _contentLoader.GetDescendents(_referenceConverter.GetRootLink()); foreach (var catalogReference in catalogReferences) { var catalogContent = _contentLoader.Get <CatalogContentBase>(catalogReference); var variationContent = catalogContent as FashionVariant; if (variationContent != null) { var product = _contentLoader.Get <CatalogContentBase>(variationContent.GetParentProducts().FirstOrDefault()) as FashionProduct; var variantCode = variationContent.Code; var defaultPrice = _pricingService.GetDefaultPrice(variantCode); var entry = new Entry { Id = variantCode, Title = variationContent.DisplayName, Description = product?.Description.ToHtmlString(), Link = variationContent.GetUrl(), Condition = "new", Availability = "in stock", Brand = product?.Brand, MPN = string.Empty, GTIN = "725272730706", GoogleProductCategory = string.Empty, Shipping = new List <Shipping> { new Shipping { Price = "1 USD", Country = "US", Service = "Standard" } } }; var image = variationContent.GetDefaultAsset <IContentImage>(); if (!string.IsNullOrEmpty(image)) { entry.ImageLink = Uri.TryCreate(new Uri(siteUrl), image, out var imageUri) ? imageUri.ToString() : image; } if (defaultPrice != null) { var discountPrice = _pricingService.GetDiscountPrice(variantCode); entry.Price = defaultPrice.UnitPrice.FormatPrice(); entry.SalePrice = discountPrice != null?discountPrice.UnitPrice.FormatPrice() : string.Empty; entry.SalePriceEffectiveDate = $"{DateTime.UtcNow:yyyy-MM-ddThh:mm:ss}/{DateTime.UtcNow.AddDays(7):yyyy-MM-ddThh:mm:ss}"; } entries.Add(entry); } } feed.Entries = entries; generatedFeeds.Add(feed); return(generatedFeeds); }
/// <summary> /// Gets a list of all sites /// </summary> /// <returns></returns> public List <SiteDefinition> GetSiteDefinitions() { return(_siteDefinitionRepository.List() .ToList()); }
private List <int> GetAllSiteRoots() { var siteList = _siteDefinitionRepository.List().Select(x => x.StartPage.ID).ToList(); return(siteList); }