public async Task <string> CreateMenu(CreateMenuInput input) { input.CheckDataAnnotations().CheckValidResult(); var exsitMenu = await _menuRepository.SingleOrDefaultAsync(p => p.Code == input.Code); if (exsitMenu != null) { throw new BusinessException($"系统中已经存在Code为{input.Code}的菜单信息"); } var exsitPermission = await _permissionRepository.SingleOrDefaultAsync(p => p.Code == input.Code); if (exsitPermission != null) { throw new BusinessException($"系统中已经存在Code为{input.Code}的权限信息"); } var menu = input.MapTo <Menu>(); var permission = new Permission() { Code = input.Code, Name = input.Name, Memo = input.Memo, Mold = PermissionMold.Menu }; await _menuManager.CreateMenu(menu, permission); return("新增菜单成功"); }
public async Task <string> CreateMenu(CreateMenuInput input) { input.CheckDataAnnotations().CheckValidResult(); await _menuDomainService.Create(input); return("新增菜单成功"); }
public CreateMenuOutput CreateMenu([FromBody] CreateMenuInput input) { Vendor vendor = _db.Vendors.Where(e => e.Id.Equals(input.VendorId) && e.Deleted == false).FirstOrDefault(); AspUserService aspUser = new AspUserService(_db, this); CreateMenuOutput output = new CreateMenuOutput(); if (vendor == null) { output.Result = "DOES_NOT_EXIST"; } else { if (vendor.Owner == aspUser.User || aspUser.IsStaff) { Menu newMenu = new Menu() { Name = input.MenuName }; vendor.Menus.Add(newMenu); _db.SaveChanges(); output.Result = "OK"; } else { output.Result = "NO_PRIVILEGE"; } } return(output); }
public async Task Create(CreateMenuInput input) { var menu = input.MapTo <Menu>(); var thisLevelMenuCount = await _menuRepository.GetCountAsync(p => p.ParentId == input.ParentId); if (menu.Mold == MenuMold.Top) { menu.Code = (thisLevelMenuCount + 1).ToString().PadRight(HeroConstants.CodeRuleRestrain.CodeCoverBit, HeroConstants.CodeRuleRestrain.CodeCoverSymbol); menu.Level = 1; } else { var parentMenu = await _menuRepository.SingleOrDefaultAsync(p => p.Id == input.ParentId); if (parentMenu == null) { throw new BusinessException($"不存在Id为{input.ParentId}的菜单信息"); } menu.Code = parentMenu.Code + HeroConstants.CodeRuleRestrain.CodeSeparator + (thisLevelMenuCount + 1).ToString().PadLeft(HeroConstants.CodeRuleRestrain.CodeCoverBit, HeroConstants.CodeRuleRestrain.CodeCoverSymbol); menu.Level = parentMenu.Level + 1; } var permission = input.MapTo <Permission>(); await UnitOfWorkAsync(async (conn, trans) => { var permissionId = await _permissionRepository.InsertAndGetIdAsync(permission, conn, trans); menu.PermissionId = permissionId; await _menuRepository.InsertAsync(menu, conn, trans); }, Connection); }
public async Task <MenuDto> CreateSystemMenu(CreateMenuInput input) { var menu = input.MapTo <Menu>(); menu.IsSystem = true; menu.Target = "_self"; _menuRepository.Insert(menu); await CurrentUnitOfWork.SaveChangesAsync(); await RebuildMenu(); return(menu.MapTo <MenuDto>()); }
public async Task <MenuDto> CreateCustomMenu(CreateMenuInput input) { await CheckNameRepeat(input.DisplayName); var menu = input.MapTo <Menu>(); menu.IsSystem = false; menu.Target = "_blank"; _menuRepository.Insert(menu); await CurrentUnitOfWork.SaveChangesAsync(); await RebuildMenu(); return(menu.MapTo <MenuDto>()); }
public async Task <CreateMenuOutput> Create(CreateMenuInput input) { var menu = input.MapTo <Menu>(); long menuParentId = 0; var exsitMenu = await _menuRepository.FirstOrDefaultAsync(p => p.Name == input.Name); if (exsitMenu != null) { throw new BusinessException($"系统中已经存在{input.Name}的菜单,请勿重复添加"); } if (menu.Mold == MenuMold.Top) { var thisLevelMenuCount = await _menuRepository.GetCountAsync(p => p.Mold == MenuMold.Top); menu.Code = (thisLevelMenuCount + 1).ToString().PadRight(HeroConstants.CodeRuleRestrain.CodeCoverBit, HeroConstants.CodeRuleRestrain.CodeCoverSymbol); menu.Level = 1; } else { var parentMenu = await _menuRepository.SingleOrDefaultAsync(p => p.PermissionId == input.ParentPermissionId); if (parentMenu == null) { throw new BusinessException($"不存在PermissionId为{input.ParentPermissionId}的菜单信息"); } menuParentId = parentMenu.Id; var thisLevelMenuCount = await _menuRepository.GetCountAsync(p => p.Mold == MenuMold.SubMenu && p.ParentId == parentMenu.Id); menu.Code = parentMenu.Code + HeroConstants.CodeRuleRestrain.CodeSeparator + (thisLevelMenuCount + 1).ToString().PadLeft(HeroConstants.CodeRuleRestrain.CodeCoverBit, HeroConstants.CodeRuleRestrain.CodeCoverSymbol); menu.Level = parentMenu.Level + 1; } var permission = input.MapTo <Permission>(); await UnitOfWorkAsync(async (conn, trans) => { var permissionId = await _permissionRepository.InsertAndGetIdAsync(permission, conn, trans); menu.PermissionId = permissionId; menu.ParentId = menuParentId; await _menuRepository.InsertAsync(menu, conn, trans); }, Connection); return(new CreateMenuOutput() { Id = menu.Id, PermissionId = menu.PermissionId, Tips = "新增菜单成功" }); }
public MenuResponse Execute(CreateMenuInput input) { var menuResponse = new MenuResponse(); try { Log.Information("Creando Menu Con nombre [{NewName}]...", input?.Nombre); byte[] imageBytes = Convert.FromBase64String(input?.Base64); MenuEntity menuEntity = Mapper.Map <CreateMenuInput, MenuEntity>(input); menuEntity.FechaCreacion = DateTime.Now; menuResponse.Menu = Repository.Create(menuEntity); menuResponse.StatusCode = 200; Log.Information("Menu creado con el nombre [{NewName}] con el Id: [{Id}]", menuResponse.Menu.Nombre, menuResponse.Menu.Id); } catch (Exception exception) { Log.Error(exception, "Error al crear el Menu: [{NewName}].", input?.Nombre); HandleErrors(menuResponse, exception); } return(menuResponse); }
public async Task <CreateMenuOutput> CreateMenu(CreateMenuInput input) { input.CheckDataAnnotations().CheckValidResult(); return(await _menuDomainService.Create(input)); }
[AbpAuthorize("CanCreateMenues")] //An example of permission checking public async Task CreateMenu(CreateMenuInput input) { await _menuRepository.InsertAsync(new Menu(input.Name, input.DisplayName, AbpSession.TenantId, input.ParentId, input.Icon, input.Url, input.RequiresAuthentication, input.RequiredPermissionName, input.Order)); }
public IActionResult Crear(CreateMenuInput menu) { return(ExecuteAndHandleRequest(() => MenuRequestAggregate.CreateMenuRequest.Execute(menu))); }