public PagedListViewModel <ExternalResourceItemViewModel> External(ApiCall call) { var sitedb = call.WebSite.SiteDb(); var pager = ApiHelper.GetPager(call, 50); PagedListViewModel <ExternalResourceItemViewModel> result = new PagedListViewModel <ExternalResourceItemViewModel>(); var alllinks = sitedb.ExternalResource.All(); var total = alllinks.Count; result.TotalCount = total; result.TotalPages = ApiHelper.GetPageCount(total, pager.PageSize); result.PageNr = pager.PageNr; List <ExternalResourceItemViewModel> list = new List <ExternalResourceItemViewModel>(); var items = alllinks.OrderBy(o => o.Name).Skip(pager.SkipCount).Take(pager.PageSize); foreach (var item in items) { ExternalResourceItemViewModel model = new ExternalResourceItemViewModel(); model.Id = item.Id; model.FullUrl = item.FullUrl; model.ResourceType = ConstTypeContainer.GetName(item.DestinationObjectType); model.LastModified = item.LastModified; model.Relations = Sites.Helper.RelationHelper.Sum(sitedb.ExternalResource.GetUsedBy(item.Id)); list.Add(model); } result.List = list; return(result); }
public override List <object> List(ApiCall call) { List <ExternalResourceItemViewModel> result = new List <ExternalResourceItemViewModel>(); var sitedb = call.WebSite.SiteDb(); foreach (var item in sitedb.ExternalResource.All()) { ExternalResourceItemViewModel model = new ExternalResourceItemViewModel(); model.Id = item.Id; model.FullUrl = item.FullUrl; model.ResourceType = ConstTypeContainer.GetName(item.DestinationObjectType); model.LastModified = item.LastModified; model.Relations = Sites.Helper.RelationHelper.Sum(sitedb.ExternalResource.GetUsedBy(item.Id)); result.Add(model); } return(result.ToList <object>()); }
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 = ConstTypeContainer.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); }
protected void RaiseBeforeEvent(TValue value, ChangeType changetype, TValue oldValue = default(TValue)) { if (this.SiteObjectType == typeof(Page)) { var maxpages = Kooboo.Data.Infrastructure.InfraManager.instance.MaxPages(this.SiteDb.WebSite.OrganizationId); if (maxpages != int.MaxValue) { var count = this.SiteDb.Pages.Count(); if (count >= maxpages) { throw new Exception(Kooboo.Data.Language.Hardcoded.GetValue("Max number of pages per site has been reached, service level upgrade required")); } } } if (this.SiteDb.WebSite.EnableConstraintFixOnSave && changetype != ChangeType.Delete) { Constraints.ConstraintChecker.FixOnSave(this.SiteDb, value as SiteObject); } // for kscript parameters. if (value is IScriptable) { var kscriptobject = value as IScriptable; var domobjct = value as IDomObject; if (kscriptobject != null && domobjct != null) { kscriptobject.RequestParas = Kooboo.Sites.Scripting.ScriptHelper.GetkScriptParaFromDom(this.SiteDb, domobjct.Dom); } } if (value is Kooboo.Sites.Models.Code) { var code = value as Kooboo.Sites.Models.Code; if (code.CodeType == Sites.Models.CodeType.PageScript) { code.Parameters = Kooboo.Sites.Scripting.ScriptHelper.GetKScriptParameters(code.Body); } } if (value is Kooboo.Sites.Models.CoreObject && changetype != ChangeType.Delete) { if (value is Kooboo.Sites.Routing.Route) { return; } var size = Kooboo.Sites.Service.ObjectService.GetSize(value); if (!Kooboo.Data.Infrastructure.InfraManager.Test(this.WebSite.OrganizationId, Data.Infrastructure.InfraType.Disk, size)) { var message = Data.Language.Hardcoded.GetValue("Over Disk Quota"); throw new Exception(message); } else { string msg = ConstTypeContainer.GetName(value.ConstType); var objinfo = Kooboo.Sites.Service.ObjectService.GetObjectInfo(this.SiteDb, value); if (objinfo != null) { msg += "| " + objinfo.DisplayName; } else { msg += "| " + value.Name; } Kooboo.Data.Infrastructure.InfraManager.Add(this.WebSite.OrganizationId, Data.Infrastructure.InfraType.Disk, size, msg); } } }