public IEnumerable <Action> Get(IEnumerablePage <IResponseViewModel> page) { return(new[] { GetAddAction(page.GetModelType()) }); }
private Link GetSelfLink(IEnumerablePage <IResponseViewModel> page) { return(new Link { Rel = new[] { "self" }, Href = GetPageHref(page, page.PageIndex, page.PageSize) }); }
private Link GetNextLink(IEnumerablePage <IResponseViewModel> page) { return(new Link { Rel = new[] { "next" }, Href = GetPageHref(page, page.PageIndex + 1, page.PageSize) }); }
public IEnumerablePage <IResponseViewModel> Convert(IEnumerablePage <IEntityModel> page) { return(new EnumerablePage <IResponseViewModel>( page.PageCount, page.PageIndex, page.PageSize, page.Items.Select(Convert))); }
public IDictionary <string, object> Get(IEnumerablePage <IResponseViewModel> page) { return(new Dictionary <string, object> { { nameof(page.PageCount), page.PageCount }, { nameof(page.PageIndex), page.PageIndex }, { nameof(page.PageSize), page.PageSize } }); }
public static IEnumerablePage <TModel> ToModelsPage <TModel, TViewModel>(this IEnumerablePage <TViewModel> page) where TViewModel : class, IRequestViewModel <TModel> where TModel : class, IModel, new() { return(new EnumerablePage <TModel>( page.PageCount, page.PageIndex, page.PageSize, page.Items.Select(i => i.ToModel <TViewModel, TModel>()))); }
private string GetPageHref(IEnumerablePage <IResponseViewModel> page, int pageIndex, int pageSize) { var query = new Dictionary <string, object> { { "pageIndex", pageIndex }, { "pageSize", pageSize } }; return(_apiHelper.GetUri(page, query)); }
private Entity CreateEntity(IEnumerablePage <IResponseViewModel> page) { return(new Entity { Actions = _actionsGenerator.Get(page), Class = _classGenerator.Get(page), Links = _linksGenerator.Get(page), Properties = _propertiesGenerator.Get(page), Entities = _subEntitiesGenerator.Get(page), Title = _titleGenerator.Get(page) }); }
public IEnumerable <Link> Get(IEnumerablePage <IResponseViewModel> page) { var links = new List <Link> { GetSelfLink(page) }; if (page.PageIndex > 1) { links.Add(GetPrevLink(page)); } if (page.PageIndex < page.PageCount) { links.Add(GetNextLink(page)); } return(links.ToArray()); }
public static Type GetModelType(this IEnumerablePage <IResponseViewModel> page) { return(page.GetType().GetGenericArguments().First().GetModelType()); }
public IEnumerable <string> Get(IEnumerablePage <IResponseViewModel> page) { return(Get(page.GetModelType()).Concat(new[] { "page" })); }
public IEnumerable <SubEntity> Get(IEnumerablePage <IResponseViewModel> page) { return(page.Items.SelectMany(m => GetParentSubEntity(m, new[] { "item" }))); }
public string GetUri(IEnumerablePage <IResponseViewModel> page, IDictionary <string, object> query = null) { return(query == null || query.Count < 1 ? GetUriBase(page.GetModelType()).ToLower() : $"{GetUriBase(page.GetModelType())}?{GetQueryString(query)})".ToLower()); }
public string Get(IEnumerablePage <IResponseViewModel> page) { return(Get(page.GetModelType())); }