public async Task <IActionResult> Create(NavMenuEditViewModel model) { try { if (ModelState.IsValid) { var request = new CreateMenuRequest { DisplayOrder = model.DisplayOrder, Icon = model.Icon, Title = model.Title, Url = model.Url }; var response = await _menuService.CreateMenuAsync(request); if (response.IsSuccess) { return(Json(response)); } Logger.LogError($"Create menu failed: {response.Message}"); ModelState.AddModelError("", response.Message); return(BadRequest("Create Menu Failed.")); } return(BadRequest("Invalid ModelState")); } catch (Exception e) { Logger.LogError(e, "Error Create Nav Menu."); ModelState.AddModelError("", e.Message); return(ServerError(e.Message)); } }
public async Task <IActionResult> Edit(Guid id) { var r = await _menuService.GetMenuAsync(id); if (r.IsSuccess && null != r.Item) { var model = new NavMenuEditViewModel { Id = r.Item.Id, DisplayOrder = r.Item.DisplayOrder, Icon = r.Item.Icon, Title = r.Item.Title, Url = r.Item.Url }; return(Json(model)); } return(NotFound()); }
public async Task <IActionResult> Edit(NavMenuEditViewModel model) { try { if (ModelState.IsValid) { var request = new EditMenuRequest(model.Id) { Title = model.Title, DisplayOrder = model.DisplayOrder, Icon = model.Icon, Url = model.Url, IsOpenInNewTab = model.IsOpenInNewTab }; var response = await _menuService.UpdateAsync(request); if (response.IsSuccess) { return(Json(response)); } Logger.LogError($"Edit menu failed: {response.Message}"); ModelState.AddModelError("", response.Message); return(Conflict(ModelState)); } return(BadRequest()); } catch (Exception e) { Logger.LogError(e, "Error Editing Menu."); ModelState.AddModelError("", e.Message); return(ServerError()); } }