コード例 #1
0
        public ActionResult Index()
        {
            var actions = new SelectList(actionService.Get().OrderBy(a => a.Name), "Id", "Name");

            ViewBag.Actions = new JavaScriptSerializer().Serialize(actions);
            return(View());
        }
コード例 #2
0
        public ActionResult Read([DataSourceRequest] DataSourceRequest request)
        {
            List <ADMAction> actions = new List <ADMAction>();
            var controllerList       = GetControllerNames();
            var areas       = GetAllAreasRegistered();
            var controllers = GetAllControllers();

            foreach (string controllerName in controllerList)
            {
                var controller  = controllers.Where(c => c.Name == controllerName).FirstOrDefault();
                var area        = areas.Where(a => controller.FullName.Contains(a.AreaName)).FirstOrDefault();
                var actionLists = GetActionNames(controller, area);
                actions.AddRange(actionLists);
            }

            var data = actionService.Get();

            var query = from a in actions.DistinctBy(m => m.Name)
                        join b in data on a.Name equals b.Name into prodGroup
                        from item in prodGroup.DefaultIfEmpty(new ADMAction()
            {
                Id = 0, Name = a.Name, Area = a.Area, Description = ""
            })
                        select new ADMAction()
            {
                Id          = item.Id,
                Name        = item.Name,
                Area        = item.Area,
                Description = item.Description
            };


            return(Json(query.ToList().ToDataSourceResult(request)));
        }