public async Task ShouldMapUrls() { // HttpContext.Current = new HttpContext( //new HttpRequest("", "http://tempuri.org", "") {Headers = {["X-Panel-Request"]="true"}}, //new HttpResponse(new StringWriter()) //); await _menuDataService.AddAsync(new Menu() { Title = "testMenu", LanguageName = "fa-IR" , MenuItems = new List <MenuItem>() { new MenuItem() { Title = "page1", TargetId = _pageDataService.Query.First().Id, TargetType = MenuItemTargetType.Page, LanguageName = "fa-IR" }, new MenuItem() { Title = "category1", TargetType = MenuItemTargetType.Category, TargetId = _categoryDataService.Query.First().Id, LanguageName = "fa-IR" }, new MenuItem() { Title = "custom1", TargetType = MenuItemTargetType.CustomLink, Url = "www.google.com", LanguageName = "fa-IR" }, new MenuItem() { Title = "entity1", TargetId = _entityData.Query.First().Id, TargetType = MenuItemTargetType.Entity, LanguageName = "fa-IR" }, new MenuItem() { Title = "user1", TargetType = MenuItemTargetType.UserProfile, TargetId = _userData.Query.First().Id, LanguageName = "fa-IR" } } }); //var menus= _menuDataService.Query.Include(x=>x.MenuItems).ToList(); //foreach (var menu in menus) //{ // foreach (var menuiItem in menu.MapToViewModel().MenuItems) // { // Console.WriteLine(menuiItem.Url); // } //} //await _menuDataService.Query.Where(x => x.Title == "testMenu").DeleteAsync(); }
public async Task <MenuResponse> Add(MenuAddRequest request) { if (!HasPremission(request.RequestOwner, MenuPremssion.CanAdd)) { return(UnauthorizedRequest()); } var menuWithItems = request.ViewModel.MapToModel(); await BaseBeforeAddAsync(menuWithItems, request.RequestOwner); await _menuDataSrv.AddAsync(menuWithItems); await request.ViewModel.MenuItems.ForEachAsync(x => _metaDataHandler.HandleAddition(x.MetaData)); await BaseAfterAddAsync(menuWithItems, request.RequestOwner); return(new MenuResponse { Access = ResponseAccess.Granted, Menu = menuWithItems.MapToViewModel() }); }
public async Task OnRecordEditConfirm() { #region 進行 Form Validation 檢查驗證作業 if (LocalEditContext.Validate() == false) { return; } #endregion #region 檢查資料完整性 if (isNewRecordMode == true) { var checkedResult = await CurrentService .BeforeAddCheckAsync(CurrentRecord); if (checkedResult.Success == false) { MessageBox.Show("400px", "200px", "警告", VerifyRecordResultHelper.GetMessageString(checkedResult), MessageBox.HiddenAsync); await thisView.NeedRefreshAsync(); return; } } else { var checkedResult = await CurrentService .BeforeUpdateCheckAsync(CurrentRecord); if (checkedResult.Success == false) { MessageBox.Show("400px", "200px", "警告", VerifyRecordResultHelper.GetMessageString(checkedResult), MessageBox.HiddenAsync); await thisView.NeedRefreshAsync(); return; } } #endregion if (IsShowEditRecord == true) { if (isNewRecordMode == true) { var verifyRecordResult = await CurrentService.AddAsync(CurrentRecord); await TranscationResultHelper.CheckDatabaseResult(MessageBox, verifyRecordResult); dataGrid.RefreshGrid(); } else { var verifyRecordResult = await CurrentService.UpdateAsync(CurrentRecord); await TranscationResultHelper.CheckDatabaseResult(MessageBox, verifyRecordResult); dataGrid.RefreshGrid(); } IsShowEditRecord = false; } }