public PortalViewContext(ISettingDataAdapter settings, ISiteMarkerDataAdapter siteMarkers, ISnippetDataAdapter snippets, IWebLinkSetDataAdapter webLinks, IAdDataAdapter ads, IPollDataAdapter polls, IEntityUrlProvider urlProvider, SiteMapProvider siteMapProvider = null, string portalName = null, RequestContext requestContext = null) { if (settings == null) { throw new ArgumentNullException("settings"); } if (siteMarkers == null) { throw new ArgumentNullException("siteMarkers"); } if (snippets == null) { throw new ArgumentNullException("snippets"); } if (urlProvider == null) { throw new ArgumentNullException("urlProvider"); } if (webLinks == null) { throw new ArgumentNullException("webLinks"); } if (ads == null) { throw new ArgumentNullException("ads"); } if (polls == null) { throw new ArgumentNullException("polls"); } SiteMapProvider = siteMapProvider ?? (SiteMap.Enabled ? SiteMap.Provider : null); PortalName = portalName; RequestContext = requestContext; Settings = settings; SiteMarkers = siteMarkers; Snippets = snippets; UrlProvider = urlProvider; WebLinks = webLinks; Ads = ads; Polls = polls; _currentSiteMapNode = new Lazy <SiteMapNode>(GetCurrentSiteMapNode, LazyThreadSafetyMode.None); _currentSiteMapNodeAncestors = new Lazy <SiteMapNode[]>(GetCurrentSiteMapNodeAncestors, LazyThreadSafetyMode.None); _entity = new Lazy <IPortalViewEntity>(GetEntity, LazyThreadSafetyMode.None); _user = new Lazy <IPortalViewEntity>(GetUser, LazyThreadSafetyMode.None); _website = new Lazy <IPortalViewEntity>(GetWebsite, LazyThreadSafetyMode.None); _websiteAccessPermissionProvider = new Lazy <IWebsiteAccessPermissionProvider>(GetWebsiteAccessPermissionProvider, LazyThreadSafetyMode.None); }
public BlogPostFactory(OrganizationServiceContext serviceContext, IEntityUrlProvider urlProvider, EntityReference website, IBlogArchiveApplicationPathGenerator archiveApplicationPathGenerator) { if (serviceContext == null) { throw new ArgumentNullException("serviceContext"); } if (urlProvider == null) { throw new ArgumentNullException("urlProvider"); } if (website == null) { throw new ArgumentNullException("website"); } if (website.LogicalName != "adx_website") { throw new ArgumentException(string.Format("Value must have logical name {0}.", website.LogicalName), "website"); } if (archiveApplicationPathGenerator == null) { throw new ArgumentNullException("archiveApplicationPathGenerator"); } _serviceContext = serviceContext; _urlProvider = urlProvider; _website = website; _archiveApplicationPathGenerator = archiveApplicationPathGenerator; }
public static ApplicationPath GetApplicationPath( this IEntityUrlProvider entityUrlProvider, OrganizationServiceContext context, Entity entity, string partialUrlLogicalName, Relationship parentEntityRelationship, string parentEntityName, Func <OrganizationServiceContext, Entity, ApplicationPath> getParentApplicationPath, string siteMarker = null) { var parentEntity = entity.GetRelatedEntity(context, parentEntityRelationship); var partialUrlAttributeValue = entity.GetAttributeValue <object>(partialUrlLogicalName); var partialUrl = partialUrlAttributeValue == null ? null : partialUrlAttributeValue.ToString(); if (parentEntity == null) { if (siteMarker == null) { return(ApplicationPath.FromPartialPath(partialUrl)); } var siteMarkerPage = context.GetPageBySiteMarkerName(context.GetWebsite(entity), siteMarker); var siteMarkerUrl = context.GetApplicationPath(siteMarkerPage); return(JoinApplicationPath(siteMarkerUrl.PartialPath, partialUrl)); } var parentUrl = getParentApplicationPath(context, parentEntity); var url = JoinApplicationPath(parentUrl.PartialPath, partialUrl); return(url); }
public DataAdapterDependencies(OrganizationServiceContext serviceContext, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider, EntityReference website, EntityReference portalUser = null, RequestContext requestContext = null) { if (serviceContext == null) { throw new ArgumentNullException("serviceContext"); } if (securityProvider == null) { throw new ArgumentNullException("securityProvider"); } if (urlProvider == null) { throw new ArgumentNullException("urlProvider"); } if (website == null) { throw new ArgumentNullException("website"); } _serviceContext = serviceContext; _securityProvider = securityProvider; _urlProvider = urlProvider; _website = website; _portalUser = portalUser; _requestContext = requestContext; }
public SingleForumThreadUrlProvider(IEntityUrlProvider urlProvider, Lazy <string> forumUrl) : base(urlProvider) { if (forumUrl == null) { throw new ArgumentNullException("forumUrl"); } _forumUrl = forumUrl; }
public ForumThreadUrlProvider(IEntityUrlProvider urlProvider) { if (urlProvider == null) { throw new ArgumentNullException("urlProvider"); } _urlProvider = urlProvider; }
public DataAdapterDependencies( OrganizationServiceContext serviceContext, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider, IPortalContext portalContext, string portalName = null, RequestContext requestContext = null) : base(serviceContext, securityProvider, urlProvider, portalContext, requestContext) { PortalName = portalName; }
public DataAdapterDependencies(OrganizationServiceContext serviceContext, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider, IPortalContext portalContext) : this( serviceContext, securityProvider, urlProvider, portalContext.Website == null ? null : portalContext.Website.ToEntityReference(), portalContext.User == null ? null : portalContext.User.ToEntityReference()) { if (portalContext == null) { throw new ArgumentNullException("portalContext"); } }
private static IEnumerable <IWebLink> CreateWebLinkSubTree(OrganizationServiceContext serviceContext, EntityReference entity, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider, ILookup <Guid, Entity> childWebLinkLookup) { return(childWebLinkLookup[entity.Id] .Select(e => CreateWebLink(serviceContext, e, securityProvider, urlProvider, childWebLinkLookup))); }
private static IWebLink CreateWebLink(OrganizationServiceContext serviceContext, Entity entity, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider, ILookup <Guid, Entity> childWebLinkLookup) { return(new WebLink( entity, new PortalViewEntity(serviceContext, entity, securityProvider, urlProvider), urlProvider.GetApplicationPath(serviceContext, entity), CreateWebLinkSubTree(serviceContext, entity.ToEntityReference(), securityProvider, urlProvider, childWebLinkLookup))); }
public DataAdapterDependencies(OrganizationServiceContext serviceContext, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider, EntityReference website, EntityReference portalUser = null) : this (serviceContext, securityProvider, urlProvider, website, portalUser, null) { }
public DataAdapterDependencies(OrganizationServiceContext serviceContext, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider, IPortalContext portalContext) : base(serviceContext, securityProvider, urlProvider, portalContext) { }
public PortalViewEntity(OrganizationServiceContext serviceContext, Entity entity, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider) { if (serviceContext == null) { throw new ArgumentNullException("serviceContext"); } if (entity == null) { throw new ArgumentNullException("entity"); } if (securityProvider == null) { throw new ArgumentNullException("securityProvider"); } if (urlProvider == null) { throw new ArgumentNullException("urlProvider"); } Entity = entity; EntityReference = entity.ToEntityReference(); _description = new Lazy <string>(GetDescription, LazyThreadSafetyMode.None); _editable = new Lazy <bool>(() => TryAssertEditable(serviceContext, entity, securityProvider), LazyThreadSafetyMode.None); _serviceContext = serviceContext; _url = new Lazy <string>(() => urlProvider.GetUrl(serviceContext, entity)); }
public ActionResult GetIndexView(string number, OrganizationServiceContext serviceContext, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider) { var category = serviceContext.RetrieveSingle("category", FetchAttribute.All, new Condition("categorynumber", ConditionOperator.Equal, number)); if (category == null) { return(RedirectToPageNotFound()); } if (!securityProvider.TryAssert(serviceContext, category, CrmEntityRight.Read)) { return(RedirectToAccessDeniedPage()); } var categoryDataAdapter = new CategoryDataAdapter(category); // Retrieve related articles from knowledgearticlescategories var relatedArticles = categoryDataAdapter.SelectRelatedArticles(); // Retrieve Child Categories var childCategories = categoryDataAdapter.SelectChildCategories(); var categoryViewModel = new CategoryViewModel { RelatedArticles = relatedArticles, ChildCategories = childCategories, Number = category.GetAttributeValue <string>("categorynumber"), Title = category.GetAttributeValue <string>("title") }; return(View(categoryViewModel)); }
public DataAdapterDependencies(OrganizationServiceContext serviceContext, ICrmEntitySecurityProvider securityProvider, IEntityUrlProvider urlProvider, IPortalContext portalContext, ILatestPostUrlProvider postUrlProvider = null, string portalName = null, RequestContext requestContext = null) : base(serviceContext, securityProvider, urlProvider, portalContext) { _postUrlProvider = postUrlProvider ?? new AnchorLatestPostUrlProvider(); PortalName = portalName; _requestContext = requestContext; }