Example #1
0
        public ResourceGroupViewModel Get(ApiCall apicall)
        {
            var sitedb = apicall.WebSite.SiteDb();

            Guid groupid = apicall.ObjectId;
            var  group   = sitedb.ResourceGroups.Query.Where(o => o.Id == groupid).FirstOrDefault();

            if (group != null)
            {
                ResourceGroupViewModel newitem = new ResourceGroupViewModel();
                newitem.Name          = group.Name;
                newitem.Id            = group.Id;
                newitem.Type          = group.Type;
                newitem.TypeName      = group.Type == ConstObjectType.Script ? "Script" : "Style";
                newitem.LastModified  = group.LastModified;
                newitem.ChildrenCount = group.Children.Count();
                foreach (var subitem in group.Children)
                {
                    var sub = new ResourceGroupItem
                    {
                        RouteId = subitem.Key,
                        Order   = subitem.Value,
                        Name    = sitedb.Routes.Get(subitem.Key)?.Name
                    };
                    newitem.Children.Add(sub);
                }
                return(newitem);
            }
            return(null);
        }
Example #2
0
        public List <ResourceGroupViewModel> Script(ApiCall apiCall)
        {
            var sitedb = apiCall.WebSite.SiteDb();

            string sitebaseurl = apiCall.WebSite.BaseUrl();

            string PreviewTemplate = Sites.Systems.Routes.SystemRouteTemplate.Replace("{objecttype}", ConstObjectType.ResourceGroup.ToString());

            var ScriptGroup = sitedb.ResourceGroups.Query.Where(o => o.Type == ConstObjectType.Script).SelectAll();

            List <ResourceGroupViewModel> result = new List <ResourceGroupViewModel>();

            foreach (var item in ScriptGroup)
            {
                ResourceGroupViewModel newitem = new ResourceGroupViewModel();
                newitem.Name          = item.Name;
                newitem.Id            = item.Id;
                newitem.Type          = item.Type;
                newitem.LastModified  = item.LastModified;
                newitem.ChildrenCount = item.Children.Count();

                var usedby = sitedb.ResourceGroups.GetUsedBy(item.Id);
                newitem.References = Sites.Helper.RelationHelper.Sum(usedby);

                var route = sitedb.Routes.GetByObjectId(item.Id);
                if (route != null)
                {
                    newitem.RelativeUrl = route.Name;
                }
                else
                {
                    newitem.RelativeUrl = PreviewTemplate.Replace("{nameorid}", item.Name);
                }
                newitem.PreviewUrl = Lib.Helper.UrlHelper.Combine(sitebaseurl, newitem.RelativeUrl);
                result.Add(newitem);
            }
            return(result);
        }
        public IActionResult Select()
        {
            SubscriptionModel          model    = subscriptionRepository.GetSubscription();
            IList <ResourceGroupModel> rgModels = resourceGroupRepository.GetResourceGroupModels();

            IList <SelectListItem> selectListItems = new List <SelectListItem>();
            var rgViewModel = new ResourceGroupViewModel()
            {
                ResourceGroupName = "", ResourceGroups = selectListItems
            };

            if (rgModels.Count > 0)
            {
                foreach (var rgModel in rgModels)
                {
                    selectListItems.Add(new SelectListItem {
                        Value = rgModel.Name, Text = rgModel.Name + ":" + rgModel.Location
                    });
                }
                selectListItems[0].Selected   = true;
                rgViewModel.ResourceGroupName = rgModels[0].Name;
            }
            return(View(rgViewModel));
        }