public ActionResult deleteDataStructure(long Id, string cssId = "")
{
MessageModel DataStructureDeleteValidation = MessageModel.validateDataStructureDelete(Id);
if (DataStructureDeleteValidation.hasMessage)
{
return PartialView("_messageWindow", DataStructureDeleteValidation);
}
else
{
DataStructureManager dataStructureManager = new DataStructureManager();
if (dataStructureManager.StructuredDataStructureRepo.Get(Id) != null)
{
StructuredDataStructure dataStructure = dataStructureManager.StructuredDataStructureRepo.Get(Id);
DataStructureIO.deleteTemplate(dataStructure.Id);
foreach (Variable v in dataStructure.Variables)
{
dataStructureManager.RemoveVariableUsage(v);
}
dataStructureManager.DeleteStructuredDataStructure(dataStructure);
LoggerFactory.LogData(dataStructure.Id.ToString(), typeof(DataStructure).Name, Vaiona.Entities.Logging.CrudState.Deleted);
}
else
{
UnStructuredDataStructure dataStructure = dataStructureManager.UnStructuredDataStructureRepo.Get(Id);
dataStructureManager.DeleteUnStructuredDataStructure(dataStructure);
LoggerFactory.LogData(dataStructure.Id.ToString(), typeof(DataStructure).Name, Vaiona.Entities.Logging.CrudState.Deleted);
}
return PartialView("_message", new MessageModel()
{
Message = "DataStructure" + Id + "deleted",
hasMessage = false,
CssId = "deleted"
});
}
}