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."));
            }
        }