public PageModelData GetPageModelData(int pageId, Localization localization, bool addIncludes) { try { PageModelRequest request = new PageModelRequest { CmUriScheme = localization.CmUriScheme, PublicationId = int.Parse(localization.Id), PageId = pageId, PageInclusion = addIncludes ? PageInclusion.INCLUDE : PageInclusion.EXCLUDE, Binder = _binder }; ModelServiceResponse <PageModelData> response = _modelServiceClient.PerformRequest <PageModelData>(request); if (response.Response != null) { response.Response.SerializationHashCode = response.Hashcode; } return(response.Response); } catch (ModelServiceException e) { Log.Error("{0} returned an unexpected response for URL '{1}':\n{2} ", ModelServiceName, _modelServiceClient.ModelServiceBaseUri, e.Message); throw new DxaException($"{ModelServiceName} returned an unexpected response.", e); } catch (ItemNotFoundException) { return(null); } }
/// <summary> /// Obtiene un listado paginado segun el filtro aplicado /// </summary> /// <param name="filterPage">filter page model</param> /// <param name="transaction">transaccion sql</param> /// <returns>PagineModel</returns> public PagineModel <TModel> GetPageList(PageModelRequest filterPage, IDbTransaction transaction = null) { try { var model = new PagineModel <TModel>(); var pageModel = Connection.GetListPaged <TModel>(pageNumber: filterPage.PageNumber, rowsPerPage: filterPage.RowsPerPage, conditions: filterPage.Conditions, orderby: filterPage.OrderBy, parameters: filterPage.Parameters, transaction: transaction); model.Data = pageModel.ToList() ?? new List <TModel>(); model.PageNumber = filterPage.PageNumber; model.RecordsPerPage = filterPage.RowsPerPage; model.TotalRecords = Count(conditions: filterPage.Conditions, parameters: filterPage.Parameters, transaction: transaction); return(model); } catch (Exception ex) { throw new DataErrorException("Error in GetPageList", ex); } }
/// <summary> /// Gets the raw string (xml) from the broker db by URL /// </summary> /// <param name="Url">URL of the page</param> /// <returns>String with page xml or empty string if no page was found</returns> public string GetContentByUrl(string url) { LoggerService.Debug(">>DD4T.Providers.DxaModelService::GetContentByUrl({0})", LoggingCategory.Performance, url); string content = null; PageModelRequest req = new PageModelRequest { PublicationId = PublicationId, DataModelType = DataModelType.DD4T, PageInclusion = PageInclusion.INCLUDE, Path = url }; try { content = ModelServiceClient.PerformRequest(req).Response; } catch { } // LoggerService.Debug(">>DD4T.Providers.DxaModelService::GetContentByUrl({0}) returns {1}", LoggingCategory.Performance, url, content); return(content); }
/// <summary> /// Gets the raw string (xml) from the broker db by URI /// </summary> /// <param name="Url">TCM URI of the page</param> /// <returns>String with page xml or empty string if no page was found</returns> public string GetContentByUri(string tcmUri) { LoggerService.Debug(">>DD4T.Providers.DxaModelService::GetContentByUri({0})", LoggingCategory.Performance, tcmUri); string content = null; TcmUri tcm = new TcmUri(tcmUri); PageMetaFactory metaFactory = GetPageMetaFactory(tcm.PublicationId); PageModelRequest req = new PageModelRequest { PublicationId = tcm.PublicationId, DataModelType = DataModelType.DD4T, PageInclusion = PageInclusion.INCLUDE, Path = metaFactory.GetMeta(tcm.ItemId).UrlPath }; try { content = ModelServiceClient.PerformRequest(req).Response; } catch { } // LoggerService.Debug(">>DD4T.Providers.DxaModelService::GetContentByUrl({0}) returns {1}", LoggingCategory.Performance, tcmUri, content); return(content); }