public ActionResult ProfileBlogPosts(string contactId, int?page) { Guid guid; if (!Guid.TryParse(contactId, out guid)) { return(HttpNotFound()); } var context = PortalCrmConfigurationManager.CreateServiceContext(); var contact = context.CreateQuery("contact").FirstOrDefault(c => c.GetAttributeValue <Guid>("contactid") == guid); if (contact == null) { return(HttpNotFound()); } var portal = PortalCrmConfigurationManager.CreatePortalContext(); var blogDataAdapter = new AuthorWebsiteBlogAggregationDataAdapter(guid, new Adxstudio.Xrm.Blogs.PortalContextDataAdapterDependencies(portal, requestContext: Request.RequestContext)); var profileViewModel = new ProfileViewModel { BlogCount = blogDataAdapter.SelectBlogCount(), User = contact, Website = portal.Website }; profileViewModel.BlogPosts = new PaginatedList <IBlogPost>(page, profileViewModel.BlogCount, blogDataAdapter.SelectPosts); return(View(profileViewModel)); }
public ActionResult ProfileBlogPosts(string contactId, int?page) { Guid guid; if (!Guid.TryParse(contactId, out guid)) { return(HttpNotFound()); } var service = this.HttpContext.GetOrganizationService(); var contact = service.RetrieveSingle(CreateContactQuery(guid)); if (contact == null) { return(HttpNotFound()); } var portal = PortalCrmConfigurationManager.CreatePortalContext(); var dependencies = new Adxstudio.Xrm.Blogs.PortalContextDataAdapterDependencies(portal, requestContext: Request.RequestContext); var blogDataAdapter = new AuthorWebsiteBlogAggregationDataAdapter(guid, dependencies); var website = this.HttpContext.GetWebsite(); var profileViewModel = new ProfileViewModel { BlogCount = blogDataAdapter.SelectBlogCount(), User = contact, Website = website.Entity }; EnityEnablePermission(profileViewModel); profileViewModel.BlogPosts = new PaginatedList <IBlogPost>(page, profileViewModel.BlogCount, blogDataAdapter.SelectPosts); return(View(profileViewModel)); }