public async Task <IActionResult> PutMenu(ViewModels.MenuViewModel viewModel)
        {
            try
            {
                if (viewModel == null)
                {
                    return(BadRequest());
                }
                else
                {
                    var parent = await UnitOfWork.MenuRepository.GetById(1);

                    var menu = await UnitOfWork.MenuRepository.GetById(viewModel.Id);

                    menu.Name    = viewModel.Name;
                    menu.PageUrl = viewModel.PageUrl;
                    menu.Parent  = parent;

                    await UnitOfWork.MenuRepository.Update(menu);

                    await UnitOfWork.SaveAsync();

                    return(Ok(value: menu));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(Ok(value: null));
            }
        }
        public async Task <ActionResult <Menu> > Insert(ViewModels.MenuViewModel viewModel)
        {
            try
            {
                var parent = await UnitOfWork.MenuRepository.GetById(1);

                var NewEntity = new Menu()
                {
                    Name       = viewModel.Name,
                    PageUrl    = viewModel.PageUrl,
                    CreateDate = DateTime.Now,
                    Parent     = null,
                };

                await UnitOfWork.MenuRepository.Insert(NewEntity);

                await UnitOfWork.SaveAsync();

                return(Ok(value: NewEntity));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(Ok(value: null));
            }
        }