public async Task <IActionResult> Update([FromForm] LeftNavItemModel model) { try { if (this.ValidRoleForAction(_context, _auth, new string[] { "Admin" })) { bool saved; if (ModelState.IsValid) { LeftNavItem item = await _context.GetByIdAsync <LeftNavItem>(x => x.Id == model.Id); PhotoUploadCloudinary upload = new PhotoUploadCloudinary(_cloudinaryConfig); Photo photo = upload.Upload(model.Photo); item.Name = model.Name; item.RouterLink = model.RouterLink; item.IconClassname = model.IconClassname; item.IsVisible = model.IsVisible; item.Photo = photo; await _context.Add(photo); _context.Update(item); saved = await _context.SaveAll(); if (saved == true) { return(Ok(item)); } else { return(BadRequest("Item cannot be updated")); } } return(BadRequest("Model is not valid")); } return(Forbid()); } catch (Exception ex) { var arguments = this.GetBaseData(_context, _auth); _logger.LogException(ex, arguments.Email, arguments.Path); return(BadRequest($"{ex.GetType().Name} was thrown.")); } }
public async Task <IActionResult> Delete([FromForm] int id) { try { if (this.ValidRoleForAction(_context, _auth, new string[] { "Admin" })) { LeftNavItem item = await _context.GetByIdAsync <LeftNavItem>(x => x.Id == id); if (item != null) { _context.Delete(item); bool result = await _context.SaveAll(); if (result == true) { return(Ok(item)); } else { return(BadRequest("Model cannot be deleted")); } } else { return(NotFound("Model not found")); } } return(Forbid()); } catch (Exception ex) { var arguments = this.GetBaseData(_context, _auth); _logger.LogException(ex, arguments.Email, arguments.Path); return(BadRequest($"{ex.GetType().Name} was thrown.")); } }