public ActionResult Index() { var actions = new SelectList(actionService.Get().OrderBy(a => a.Name), "Id", "Name"); ViewBag.Actions = new JavaScriptSerializer().Serialize(actions); return(View()); }
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))); }