开发工具与关键技术:vs 删除
作者:周乐献
撰写时间:2019/5.8
删除,顾名思义,就是把你不要的东西去掉。当然,删除也不是想删就删的,万一把一些重要的数据不小心点了删除就完蛋了。比如说一个学校想要去掉一个学院它能直接去掉的吗?如果这个学院还有人的话显然是不能直接删除的,不然这些学生数据就会丢失。所以说我们要给它一个判定和再次确认的提示。
function saveDelete(DacademeId)
{
layer.confirm(" 您确定要删除该学院吗?", { icon: 3, titile: "提示" }, function (index) {
$.post("/SystemManagements/CollegeInfor/DeleteAcademe",
{ academeId: DacademeId }, function (returnJson) {
layer.close(index);
if (returnJson.State == true) {
tabAcademe = layuiTable.reload('tabAcademe');
}
layer.alert(returnJson.Text);
});
});
}
对它进行判断,判断这个学院有无相对应的年级,如果有则不能删除。
function openGrade()
{
var checkStatus = layuiTable.checkStatus('tabAcademe');
var checkData = checkStatus.data;
if (checkData.length > 0) {
var academeId = checkData[0].AcademeID;
window.location.href = "/SystemManagements/CollegeInfor/GradeInfo?academeId=" + academeId
}
else
{
layer.msg("请选择对应的学院。", { icon: 0, skin: "layui-layer-molv" });
}
}
然后先去删除相关年级。
public ActionResult DeleteGrade(int gradeId)
{
从小到大,一级接一级判断删除
ReturnJson returnJson = new ReturnJson();
try
{
int intStudentRow = (from tbStudent in myModel.PW_Student
where tbStudent.GradeID == gradeId
select tbStudent).Count();
判断有无相对应的学生,有则删除学生数据
if (intStudentRow > 0)
{
returnJson.State = false;
returnJson.Text = "有对应的学生用户,不能删除,请先删除对应的学生用户!";
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
没有就继续判断有无相对应的班级,如果有相对应的班级则删除年级失败,然后删除对应班级。
int intClassRow = (from tbClass in myModel.SYS_Class
where tbClass.GradeID == gradeId
select tbClass).Count();
if (intClassRow > 0)
{
returnJson.State = false;
returnJson.Text = "有对应的班级,不能删除,请先删除对应的班级!";
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
删除相对应的班级,然后继续执行
SYS_Grade dbGrade = (from tbGrade in myModel.SYS_Grade
where tbGrade.GradeID == gradeId
select tbGrade).Single();
myModel.SYS_Grade.Remove(dbGrade);
if (myModel.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = "删除成功!";
}
else
{
returnJson.State = false;
returnJson.Text = "删除失败!";
}
}
catch (Exception e)
{
Console.WriteLine(e);
returnJson.State = false;
returnJson.Text = "数据异常!";
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
无则再次进行判定有无对应的专业
删除相对应的专业,这时判断完成,就可以删除学院了。
function openSpecialty() {
var checkStatus = layuiTable.checkStatus('tabAcademe');
var checkData = checkStatus.data;
if (checkData.length > 0) {
var academeId = checkData[0].AcademeID;
window.location.href = "/SystemManagements/CollegeInfor/SpecialtyInfo?academeId=" + academeId
} else {
layer.msg("请选择对应的学院。", { icon: 0, skin: "layui-layer-molv" });
}
}