public async Task <bool> ValidateMenu(Menu Menu) { MenuFilter MenuFilter = new MenuFilter { Skip = 0, Take = 10, Code = new StringFilter { Equal = Menu.Code }, Selects = MenuSelect.Code }; var MenuInDB = (await UOW.MenuRepository.List(MenuFilter)).FirstOrDefault(); if (MenuInDB == null) { Menu.AddError(nameof(RoleValidator), nameof(Menu.Code), ErrorCode.CodeNotExisted); } else { foreach (var Field in Menu.Fields) { if (!MenuInDB.Fields.Select(f => f.Name).Contains(Field.Name)) { Field.AddError(nameof(RoleValidator), nameof(Field.Name), ErrorCode.FieldNotExisted); return(false); } } //foreach (var Page in Menu.Actions) //{ // if (!MenuInDB.Actions.Select(p => p.Path).Contains(Page.Path)) // { // Page.AddError(nameof(RoleValidator), nameof(Page.Path), ErrorCode.PageNotExisted); // return false; // } //} } return(Menu.IsValidated); }