public ActionResult Delete(long?parentId, long id)
        {
            var visual = _visualRepository.GetById(id);

            if (!_visualService.IsDeactivable(visual))
            {
                ModelState.AddModelError("Visual", _localizationService.GetResource("Common.NotDeactivable"));
            }

            if (ModelState.IsValid)
            {
                //soft delete
                _visualRepository.DeactivateAndCommit(visual);
                //notification
                SuccessNotification(_localizationService.GetResource("Record.Deleted"));
                return(new NullJsonResult());
            }
            else
            {
                return(Json(new { Errors = ModelState.SerializeErrors() }));
            }
        }