예제 #1
0
        public ActionResult EditFunctionInfo(FunctionEditModel model)
        {
            if (ModelState.IsValid)
            {
                var result = FunctionBLL.EditFunction(model, base.UserIDForLog);
                base.DoLog(OperationTypeEnum.Edit, result, "FunctionID:" + model.ID);
                return(Json(result));
            }
            else
            {
                if (model.FunctionIsMenu)
                {
                    var aList = AreaBLL.GetAreas();
                    model.AreasSelectList = new SelectList(aList, "ID", "AreaName");
                    var cList = ControllerBLL.GetControllersByAreaID(aList.First().ID);
                    model.ControllersSelectList = new SelectList(cList, "ID", "ControllerName");

                    var actionList = ActionBLL.GetActionsByControllerID(cList.First().ID);
                    model.ActionsSelectList = actionList.ToSelectList(m => GetSelectListItem(m.ID, m.ActionName));

                    var parentFuncList = FunctionBLL.GetFunctions();
                    model.ParentFunctionsSelectList = new SelectList(FunctionBLL.GetFunctions(model.ID), "ID", "FunctionName");
                    return(PartialView("_EditFunctionInfo", model));
                }
                else
                {
                    int areaID       = model.AreaID.Value;
                    int controllerID = model.ControllerID.Value;
                    int?parentID     = model.ParentID;
                    int actionID     = model.ActionID.Value;
                    model.IsTopFunction = model.ParentID == null;


                    model.AreasSelectList = new SelectList(AreaBLL.GetAreas(), "ID", "AreaName", areaID);

                    model.ControllersSelectList = new SelectList(ControllerBLL.GetControllersByAreaID(areaID), "ID", "ControllerName", controllerID);

                    model.ActionsSelectList = ActionBLL.GetActionsByControllerID(controllerID).ToSelectList(m => GetSelectListItem(m.ID, m.ActionName));

                    model.ParentFunctionsSelectList = new SelectList(FunctionBLL.GetFunctions(model.ID), "ID", "FunctionName");

                    return(PartialView("_EditFunctionInfo", model));
                }
            }
        }
예제 #2
0
        //public ActionResult AddFunctionInfo()
        //{
        //    var aList = AreaBLL.GetAreas();
        //    FunctionAddModel model = new FunctionAddModel();
        //    model.AreasSelectList = new SelectList(aList, "ID", "AreaName");

        //    var cList = ControllerBLL.GetControllersByAreaID(aList.First().ID);
        //    model.ControllersSelectList = new SelectList(cList, "ID", "ControllerName");

        //    var actionList = ActionBLL.GetActionsByControllerID(cList.First().ID);
        //    model.ActionsSelectList = new SelectList(actionList, "ID", "ActionName");


        //    var parentFuncList = FunctionBLL.GetFunctions();
        //    model.ParentFunctionsSelectList = new SelectList(parentFuncList, "ID", "FunctionName");


        //    return PartialView("_AddFunctionInfo", model);
        //}

        public ActionResult AddFunctionInfo()
        {
            var aList = AreaBLL.GetAreas();
            FunctionAddModel model = new FunctionAddModel();

            model.OrderIndex = Int32.MaxValue;//默认新增的处于最后的位置

            model.AreasSelectList = new SelectList(aList, "ID", "AreaName");

            var cList = ControllerBLL.GetControllersByAreaID(aList.First().ID);

            model.ControllersSelectList = new SelectList(cList, "ID", "ControllerName");

            var actionList = ActionBLL.GetActionsByControllerID(cList.First().ID);

            //model.ActionsSelectList = actionList.ToSelectListWithEmpty(m => GetSelectListItem(m.ID, m.ActionName));
            model.ActionsSelectList = actionList.ToSelectList(m => GetSelectListItem(m.ID, m.ActionName));
            var parentFuncList = FunctionBLL.GetFunctions();

            model.ParentFunctionsSelectList = new SelectList(parentFuncList, "ID", "FunctionName", parentFuncList.First().ID);

            return(PartialView("_AddFunctionInfo", model));
        }
예제 #3
0
        public ActionResult GetActionDDLByControllerID(int controllerID)
        {
            var list = ActionBLL.GetActionsByControllerID(controllerID);

            return(Json(list, JsonRequestBehavior.AllowGet));
        }
예제 #4
0
        //public ActionResult EditFunctionInfo(int id)
        //{
        //    string message = string.Empty;
        //    var obj = FunctionBLL.GetFunctionByID(id);
        //    if (obj.DataResult == null)
        //    {
        //        return Content(obj.Message);
        //    }


        //    var model = obj.DataResult;

        //    model.IsTopFunction = model.ParentID == null;

        //    model.AreasSelectList = new SelectList(AreaBLL.GetAreas(), "ID", "AreaName");

        //    model.ControllersSelectList = new SelectList(ControllerBLL.GetControllersByAreaID(model.AreaID), "ID", "ControllerName");

        //    model.ActionsSelectList = new SelectList(ActionBLL.GetActionsByControllerID(model.ControllerID), "ID", "ActionName");

        //    model.ParentFunctionsSelectList = new SelectList(FunctionBLL.GetFunctions(), "ID", "FunctionName");

        //    return PartialView("_EditFunctionInfo", model);
        //}

        //[HttpPost, ValidateAntiForgeryToken]
        //public ActionResult EditFunctionInfo(FunctionEditModel model)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        var result = FunctionBLL.EditFunction(model);
        //        base.DoLog(OperationTypeEnum.Edit, result, "FunctionID:" + model.ID);
        //        return Json(result);
        //    }
        //    else
        //    {
        //        int areaID = model.AreaID;
        //        int controllerID = model.ControllerID;
        //        int? parentID = model.ParentID;
        //        int actionID = model.ActionID;
        //        model.IsTopFunction = model.ParentID == null;


        //        model.AreasSelectList = new SelectList(AreaBLL.GetAreas(), "ID", "AreaName", areaID);

        //        model.ControllersSelectList = new SelectList(ControllerBLL.GetControllersByAreaID(areaID), "ID", "ControllerName", controllerID);

        //        model.ActionsSelectList = new SelectList(ActionBLL.GetActionsByControllerID(controllerID), "ID", "ActionName", actionID);

        //        model.ParentFunctionsSelectList = new SelectList(FunctionBLL.GetFunctions(), "ID", "FunctionName", parentID);

        //        return PartialView("_EditFunctionInfo", model);
        //    }
        //}



        public ActionResult EditFunctionInfo(int id)
        {
            var obj = FunctionBLL.GetFunctionByID(id);

            if (obj.DataResult == null)
            {
                return(Content(obj.Message));
            }


            var model = obj.DataResult;

            model.IsTopFunction  = model.ParentID == null;
            model.FunctionIsMenu = model.ActionID == null;

            var areas = AreaBLL.GetAreas();

            model.AreasSelectList = new SelectList(areas, "ID", "AreaName");


            List <ControllerDDLModel> controllers;

            if (!model.AreaID.HasValue)//没有与Action绑定过的功能
            {
                controllers = ControllerBLL.GetControllersByAreaID(areas.First().ID);
            }
            else
            {
                controllers = ControllerBLL.GetControllersByAreaID(model.AreaID.Value);
            }
            model.ControllersSelectList = new SelectList(controllers, "ID", "ControllerName");

            List <ActionDDLModel> actions;

            if (!model.ControllerID.HasValue)//没有与Action绑定过的功能
            {
                actions = ActionBLL.GetActionsByControllerID(controllers.First().ID);
            }
            else
            {
                actions = ActionBLL.GetActionsByControllerID(model.ControllerID.Value);
            }

            model.ActionsSelectList = actions.ToSelectList(m => GetSelectListItem(m.ID, m.ActionName));

            var parentFunctions = FunctionBLL.GetFunctions(model.ID);

            //如果是顶级功能,则没有上级功能,所以默认选一个
            if (model.IsTopFunction)
            {
                var tempPid = parentFunctions.First().ID;
                model.ParentFunctionsSelectList = new SelectList(parentFunctions, "ID", "FunctionName", tempPid);
                model.ParentID = tempPid;
            }
            else
            {
                model.ParentFunctionsSelectList = new SelectList(parentFunctions, "ID", "FunctionName", model.ParentID);
            }

            return(PartialView("_EditFunctionInfo", model));
        }