static internal void DeleteHook(object sender, object entity) {
// Delete permissions assosiated to this app
var result = Db.SQL<SoftwarePermission>("SELECT o FROM Warehouse.SoftwarePermission o WHERE o.Software=?", entity);
foreach (SoftwarePermission s in result) {
s.Delete();
}
QueryResultRows<SuiteSoftware> suitSoftwares = Db.SQL<SuiteSoftware>("SELECT o FROM Warehouse.SuiteSoftware o WHERE o.Software=?", entity);
foreach (SuiteSoftware s in suitSoftwares) {
s.Delete();
}
// Delete all relation between this software and a depot
var depotRelation = Db.SQL<DepotSoftware>("SELECT o FROM Warehouse.DepotSoftware o WHERE o.Software=?", entity);
foreach (DepotSoftware relation in depotRelation) {
relation.Delete();
}
var softwareIcons = Db.SQL<SoftwareIcon>("SELECT o FROM Warehouse.SoftwareIcon o WHERE o.Software=?", entity);
foreach (SoftwareIcon relation in softwareIcons) {
relation.Delete();
}
var softwareBanners = Db.SQL<SoftwareBanner>("SELECT o FROM Warehouse.SoftwareBanner o WHERE o.Software=?", entity);
foreach (SoftwareBanner relation in softwareBanners) {
relation.Delete();
}
var softwareScreenshots = Db.SQL<SoftwareScreenshot>("SELECT o FROM Warehouse.SoftwareScreenshot o WHERE o.Software=?", entity);
foreach (SoftwareScreenshot relation in softwareScreenshots) {
relation.Delete();
}
var softwareImages = Db.SQL<SoftwareImage>("SELECT o FROM Warehouse.SoftwareImage o WHERE o.Software=?", entity);
foreach (SoftwareImage relation in softwareImages) {
relation.Delete();
}
var versions = Db.SQL<Version>("SELECT o FROM Warehouse.Version o WHERE o.Software=?", entity);
foreach (Version relation in versions) {
relation.Delete();
}
}
}