public ActionResult Delete(long id)
{
ViewBag.Title = PresentationModel.GetViewTitleForTenant("Delete", this.Session.GetTenant());
try
{
DatasetManager dm = new DatasetManager();
if (dm.DeleteDataset(id, this.ControllerContext.HttpContext.User.Identity.Name, true))
{
// during the delete permissions are not removed, to allow purging the dataset later on.
// it is a safe operation, because deleted datasets are not returned by the DLM anyway.
// Javad and Sven decided on 22.11.2016.
//try
//{
// PermissionManager pm = new PermissionManager();
// pm.DeleteDataPermissionsByEntity(1, id);
//}
//catch
//{
// ViewData.ModelState.AddModelError("", string.Format("Dataset {0} was deleted, but its permissions were not altered. You need to remove them manually from the data permission management.", id));
//}
try
{
ISearchProvider provider = IoCFactory.Container.ResolveForSession<ISearchProvider>() as ISearchProvider;
provider?.UpdateSingleDatasetIndex(id, IndexingAction.DELETE);
}
catch
{
ViewData.ModelState.AddModelError("", string.Format("Dataset {0} was deleted, but it is still indexed for searching. You need to reindex the search via the managemnet console.", id));
}
}
else
{
ViewData.ModelState.AddModelError("", string.Format("Dataset {0} could not be deleted. Details: Internal system error!", id));
}
}
catch (Exception ex)
{
ViewData.ModelState.AddModelError("", string.Format("Dataset {0} could not be deleted. Details: {1}", id, ex.Message));
}
return View();
//return RedirectToAction("List");
}