コード例 #1
0
ファイル: RoleController.cs プロジェクト: wulaiwei/WorkData
        public ActionResult Save()
        {
            var saveState = BusinessHelper.BuildSaveState(Request);

            if (saveState == null)
            {
                throw new ArgumentNullException(nameof(saveState));
            }

            ViewBag.ActionList = AssemblyHelper.LoadAction(WebConfig.AssemblyName);

            switch (saveState.OperationState)
            {
            case OperationState.Add:
            case OperationState.Update:
                var roleDto = _roleBll.Query(saveState);

                var resourceTree = _resourceBll.GetSourceTree(false, null);

                ViewBag.ResourceTree = resourceTree;
                ViewBag.SaveState    = saveState.ToJson();

                ViewBag.InfoList       = string.Join(",", roleDto.Resources.Select(p => p.ResourceId));
                ViewBag.AuthConfigList = AuthConfigXmlHelper.GetAuthConfigListByXml(Api.PhysicsUrl + "/Config/AuthConfig.xml",
                                                                                    roleDto.Code);
                return(View(roleDto));

            case OperationState.Remove:
                //逻辑删除
                _roleBll.HttpGetSave(saveState);

                return(RedirectToAction("Index", "Role"));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }