public ICollection <SitemapItemRecord> GetSitemapItemRecords(Store store, SitemapItemOptions options, string urlTemplate, string baseUrl, IEntity entity = null) { var auditableEntity = entity as AuditableEntity; var result = new SitemapItemRecord { ModifiedDate = auditableEntity != null ? auditableEntity.ModifiedDate.Value : DateTime.UtcNow, Priority = options.Priority, UpdateFrequency = options.UpdateFrequency, Url = UrlBuilder.BuildStoreUrl(store, store.DefaultLanguage, urlTemplate, baseUrl, entity) }; if (entity is ISeoSupport seoSupport) { foreach (var seoInfo in seoSupport.SeoInfos.Where(x => x.IsActive)) { if (store.Languages.Contains(seoInfo.LanguageCode) && !store.DefaultLanguage.EqualsInvariant(seoInfo.LanguageCode)) { var alternate = new SitemapItemAlternateLinkRecord { Language = seoInfo.LanguageCode, Type = "alternate", Url = UrlBuilder.BuildStoreUrl(store, seoInfo.LanguageCode, urlTemplate, baseUrl, entity) }; result.Alternates.Add(alternate); } } } return(new[] { result }.ToList()); }
public virtual SitemapItemAlternateLinkXmlRecord ToXmlModel(SitemapItemAlternateLinkRecord coreModel) { if (coreModel == null) { throw new ArgumentNullException(nameof(coreModel)); } Url = coreModel.Url; Language = coreModel.Language; Type = coreModel.Type; return(this); }