Exemplo n.º 1
0
        public async Task <ActionResult> Save(SysMenuModel model)
        {
            var result = new JsonModel();

            if (!ModelState.IsValid)
            {
                result.GetError(ModelState);
                return(Json(result));
            }
            SysMenu menu          = null;
            var     operationType = OperationType.Insert;

            if (model.Id > 0)
            {
                operationType = OperationType.Update;
                menu          = await SysMenuRepository.GetByIdAsync(model.Id);

                if (menu == null)
                {
                    result.statusCode = 300;
                    result.message    = "该条数据不存在,请刷新重试!";
                    return(Json(result));
                }
            }
            else
            {
                menu = new SysMenu();
            }
            menu = Mapper.Map(model, menu);
            if (!string.IsNullOrEmpty(menu.Url))
            {
                menu.Url = menu.Url.Trim().ToLower();
            }
            menu.CommonStatus = CommonStatus.Enabled;
            await SysMenuRepository.SaveAsync(menu);

            await LogRepository.Insert(TableSource.SysMenus, operationType, "", menu.Id);

            menu.IndexOfParent = await SysMenuRepository.GetIndexOfParent(menu);

            result.Data    = menu;
            result.message = "保存成功!";
            return(Json(result));
        }