protected ActionResult GetPage(int publicationId, int pageId)
        {
            using (new Tracer(publicationId, pageId))
            {
                try
                {
                    ILocalization localization = SetupLocalization(publicationId);

                    PageModel pageModel;
                    try
                    {
                        pageModel = TridionDocsContentProvider.GetPageModel(pageId, localization);
                    }
                    catch (DxaItemNotFoundException ex)
                    {
                        Log.Info(ex.Message);
                        return(NotFound());
                    }

                    PageModelWithHttpResponseData pageModelWithHttpResponseData =
                        pageModel as PageModelWithHttpResponseData;
                    pageModelWithHttpResponseData?.SetHttpResponseData(System.Web.HttpContext.Current.Response);
                    SetupViewData(pageModel);
                    PageModel model = (EnrichModel(pageModel) as PageModel) ?? pageModel;
                    WebRequestContext.PageModel = model;
                    return(View(model.MvcData.ViewName, model));
                }
                catch (Exception ex)
                {
                    Log.Error(ex);
                    return(ServerError());
                }
            }
        }
Exemplo n.º 2
0
 public virtual ActionResult Binary(int publicationId, int binaryId)
 {
     try
     {
         StaticContentItem content = TridionDocsContentProvider.GetStaticContentItem(binaryId,
                                                                                     SetupLocalization(publicationId));
         return(new FileStreamResult(content.GetContentStream(), content.ContentType));
     }
     catch (Exception ex)
     {
         return(ServerError(ex));
     }
 }
Exemplo n.º 3
0
 public virtual ActionResult Page(int publicationId, int pageId)
 {
     try
     {
         PageModel model = TridionDocsContentProvider.GetPageModel(pageId, SetupLocalization(publicationId));
         WebRequestContext.PageModel = model;
         return(Json(model));
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         return(ServerError(new TridionDocsApiException($"Page not found: [{publicationId}] {pageId}/index.html")));
     }
 }
Exemplo n.º 4
0
 public virtual ActionResult TopicIdInTargetPublication(int publicationId, string ishFieldValue)
 {
     try
     {
         SetupLocalization(publicationId);
         if (!string.IsNullOrEmpty(ishFieldValue))
         {
             throw new DxaItemNotFoundException(
                       "Unable to use empty 'ishlogicalref.object.id' value as a search criteria.");
         }
         return(Json(TridionDocsContentProvider.GetPageIdByIshLogicalReference(publicationId, ishFieldValue)));
     }
     catch (Exception ex)
     {
         return(ServerError(ex));
     }
 }
Exemplo n.º 5
0
 public virtual ActionResult Page(int publicationId, int pageId, string content)
 {
     try
     {
         string conditions = Request.QueryString["conditions"];
         if (!string.IsNullOrEmpty(conditions))
         {
             AmbientDataContext.CurrentClaimStore.Put(UserConditionsUri, conditions);
         }
         PageModel model = TridionDocsContentProvider.GetPageModel(pageId, SetupLocalization(publicationId));
         WebRequestContext.PageModel = model;
         return(Json(model));
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         return(ServerError(ex));
     }
 }