Beispiel #1
0
        public override List <object> List(ApiCall call)
        {
            List <RouteItemViewModel> result = new List <RouteItemViewModel>();
            var sitedb = call.WebSite.SiteDb();

            foreach (var item in sitedb.Routes.All())
            {
                RouteItemViewModel model = new RouteItemViewModel();
                model.Id           = item.Id;
                model.Name         = item.Name;
                model.ResourceType = ConstTypeContainer.GetName(item.DestinationConstType);
                model.ObjectId     = item.objectId;

                model.LastModified = item.LastModified;

                model.Relations = Sites.Helper.RelationHelper.Sum(sitedb.Routes.GetUsedBy(item.Id));

                result.Add(model);
            }

            return(result.ToList <object>());
        }
Beispiel #2
0
        public PagedListViewModel <RouteItemViewModel> Internal(ApiCall apiCall)
        {
            var sitedb = apiCall.WebSite.SiteDb();
            var pager  = ApiHelper.GetPager(apiCall, 30);

            PagedListViewModel <RouteItemViewModel> result = new PagedListViewModel <RouteItemViewModel>();

            var allroutes = sitedb.Routes.All();

            var total = allroutes.Count;

            result.TotalCount = total;
            result.TotalPages = ApiHelper.GetPageCount(total, pager.PageSize);
            result.PageNr     = pager.PageNr;

            List <RouteItemViewModel> list = new List <RouteItemViewModel>();

            string baseurl = sitedb.WebSite.BaseUrl();

            var items = allroutes.OrderBy(o => o.Name).Skip(pager.SkipCount).Take(pager.PageSize);

            foreach (var item in items)
            {
                RouteItemViewModel model = new RouteItemViewModel();
                model.Id           = item.Id;
                model.Name         = item.Name;
                model.ResourceType = ConstObjectType.GetName(item.DestinationConstType);
                model.ObjectId     = item.objectId;
                model.LastModified = item.LastModified;
                model.Relations    = Sites.Helper.RelationHelper.Sum(sitedb.Routes.GetUsedBy(item.Id));
                model.PreviewUrl   = Kooboo.Lib.Helper.UrlHelper.Combine(baseurl, model.Name);
                list.Add(model);
            }

            result.List = list;

            return(result);
        }