public async Task <ActionResult> Post([FromBody] MenusDtoCreateList li) { bool res = await CreateMenusHierarchy(li); if (res == false) { return(new JsonResult(new ErrorDetails { StatusCode = 500, Message = "une Erreur c'est produit lors de l'ajouts des menus." })); } else { return(Ok()); } }
private async Task <bool> CreateMenusHierarchy(MenusDtoCreateList li) { bool res = true; try { Menus parentMenu = null; if (li.ParentId != Guid.Empty && li.ParentId != null) { parentMenu = await Work.Menu.Get(x => x.MenuId == li.ParentId); } Menus menu = new Menus() { FkMenu = parentMenu, MenuId = Guid.NewGuid(), MenuName = li.LiMenu.MenuName, MenuDisplayName = li.LiMenu.MenuDisplayName, MenuUrl = li.LiMenu.MenuUrl, MenuDescription = li.LiMenu.MenuDescription, MenuState = li.LiMenu.MenuState, }; await Work.Menu.Add(menu); await Work.Complete(); ///// Create the hierarchy if (li.LiMenu.SubMenus != null) { foreach (var item in li.LiMenu.SubMenus) { await CreateSub(menu, item); } } } catch (Exception e) { res = false; } return(res); }