证书的打印之控制器

开发工具与关键技术:Visual Studio 和  ASP.NET.MVC,
作者:陈鸿鹏
撰写时间:2019年  5月6日

这是查询学生的方法操作。查询学生的学号根据页面传过来的用户IDUserID进行查询,方法名称:SelectStudentNumber页面上所对应的URL,int UserID作为这个方法里面的参数进行查询。
public ActionResult SelectStudentNumber(int UserID)
{ Lambda表达式查询
声明一个自定义变量listStudent他的值等=数据库里面的写生表PW_Student。Select linq查询同样查询的是学生表PW_Student n为参数=>学生表里面的教师编号号用ToList()各式。
var listStudent = myModels.PW_Student.Where(m => m.UserID == UserID).Select(n => n.StudentNumber).ToList();
把我们所查询到的listStudent输出返回到页面
return Json(listStudent, JsonRequestBehavior.AllowGet);
}
public ActionResult SelectStuCertificateByNumber(string StudentNum)
{
try
{
var listCertificate = (from tbCertificate in myModels.CertificateITable
join tbAchievement in myModels.PW_Achievement on tbCertificate.AchievementID equals tbAchievement.AchievementID
join tbUser in myModels.PW_User on tbAchievement.UserID equals tbUser.UserID
join tbStudent in myModels.PW_Student on tbUser.UserID equals tbStudent.UserID
where tbStudent.StudentNumber == StudentNum
select new
{
UserName=tbStudent.StudentName,
StTime=tbAchievement.StTime.ToString(),
Achievement=tbAchievement.Achievement,
CertificateNum=tbCertificate.CertificateNumber, IsTime=tbCertificate.IssuanceTime.ToString()
}).ToList();
return Json(listCertificate, JsonRequestBehavior.AllowGet);
}
catch (Exception)
{
return Json(“数据异常”, JsonRequestBehavior.AllowGet);
}
#region 教师
根据页面传过来的用户IDUserID进行查询,方法名称:SelectTeacherNumber页面上所对应的URL,int UserID作为这个方法里面的参数进行查询。
public ActionResult SelectTeacherNumber(int UserID)
{ Lambda表达式查询
声明一个自定义变量listTeacher他的值等=数据库里面的写生表PW_Student。Select linq查询同样查询的是学生表PW_Student n为参数=>学生表里面的学生学号用ToList()各式。
var listTeacher = myModels.PW_Student.Where(m => m.UserID == UserID).Select(n => n.StudentNumber).ToList();
return Json(listTeacher, JsonRequestBehavior.AllowGet);
}
/// 根据学号查询学生证书信息
public ActionResult SelectTeaCertificateByNumber(string StudentNum)
{
try
{ 声明一个自定义变量listStuCertificate,之后四表连查
var listStuCertificate = (from tbCertificate in myModels.CertificateITable
join tbAchievement in myModels.PW_Achievement on tbCertificate.AchievementID equals tbAchievement.AchievementID
join tbUser in myModels.PW_User on tbAchievement.UserID equals tbUser.UserID
join tbStudent in myModels.PW_Student on tbUser.UserID equals tbStudent.UserID
where tbStudent. TeacherNumber == TeacherNum
select new
{ 这些就是查询出来所需要的数据
UserName = tbTeacher.TeacherName,名称
StTime = tbAchievement.StTime.ToString(),时间
Achievement = tbAchievement.Achievement,成绩
CertificateNum = tbCertificate.CertificateNumber,编号
IsTime = tbCertificate.IssuanceTime.ToString()打印的日期
}).ToList();
return Json(listStuCertificate, JsonRequestBehavior.AllowGet);把结果输出页面否侧数据异常。
}
catch (Exception)
{
return Json(“数据异常”, JsonRequestBehavior.AllowGet);
}
#region 成绩&证书的操作
根据UserID查询用户成绩信息进行查询,方法名称:SelectUesrAchievment页面上所对应的URL,int UserID作为这个方法里面的参数进行查询。
public ActionResult SelectUesrAchievment(int UserID)参数
{
Try
{ 声明一个自定义变量listAchievement等于数据库里面的表的tbAchevement表
var listAchievement = (from tbAchevement in myModels.PW_Achievement
where tbAchevement.UserID == UserID获取表的ID 的与参数ID
orderby排序 descending降序 根据成绩表降序的排序如 987654321。
orderby tbAchevement.Achievement descending
select new
{
tbAchevement.AchievementID,
tbAchevement.Achievement
}).ToList();
var listEingibleType = myModels.SYS_EligibleType.Where(m => m.EligibleTypeID == 5).Select(n => n).Single();查出唯独一条数据从合格类型表里面根据ID来判断是否能打印证书如下图
在这里插入图片描述 if(listAchievement.Count() > 0)
{//降序排序之后第一条数据中的成绩为最高成绩,判断当前最高成绩是否及格(是否大与最低及格标准)
if (listAchievement[0].Achievement > Convert.ToDecimal(listEingibleType.ScoreRange))
{
return Json(“listAchievement”, JsonRequestBehavior.AllowGet);
}
else
{
return Json(“不及格”, JsonRequestBehavior.AllowGet);
}
}
else
{
return Json(“无成绩”, JsonRequestBehavior.AllowGet);
}
}
catch (Exception )
{
return Json(“数据异常”, JsonRequestBehavior.AllowGet);
判断用户是否已经有证书,再根据实际情况进行新增or修改
public ActionResult InsertCertificate(int UserID, decimal Achievement, int AchievementID, string CertificateNumber)
{
//实例化证书表
CertificateITable dbCertificateITable = new CertificateITable();
//根据UserID查询用户证书信息连表查询如图 在这里插入图片描述
var listCertificate = (from tbCertificate in myModels.CertificateITable
join tbAchievement in myModels.PW_Achievement on tbCertificate.AchievementID equals tbAchievement.AchievementID
join tbUser in myModels.PW_User on tbAchievement.UserID equals tbUser.UserID
where tbUser.UserID == UserID//查询条件
select new
{
tbCertificate.CertificateID,//证书ID
tbCertificate.AchievementID,//成绩ID
tbCertificate.CertificateNumber,//证书编号
tbCertificate.IssuanceUnit,//发证单位
tbCertificate.IssuanceTime,//发证时间
tbAchievement.Achievement//成绩
}).ToList();
//判断当前用户是否有证书
if (listCertificate.Count() > 0)
{
//当前用户已有证书
//如果当前用户的最高成绩大于目前已有证书的成绩,则修改证书信息
if (Achievement > listCertificate[0].Achievement) {
//修改证书信息
dbCertificateITable.CertificateID = listCertificate[0].CertificateID;
dbCertificateITable.AchievementID = AchievementID; 获取当前的ID
dbCertificateITable.CertificateNumber = CertificateNumber; 名称 dbCertificateITable.IssuanceUnit = “重庆邮电大学保卫处”;单位
dbCertificateITable.IssuanceTime = DateTime.Now; 时间
//修改
myModels.Entry(dbCertificateITable).State = EntityState.Modified;
myModels.SaveChanges();保存
}
}
else
{
//根据最优成绩信息新增证书信息
dbCertificateITable.AchievementID = AchievementID;获取当前的ID
dbCertificateITable.CertificateNumber = CertificateNumber;名称
dbCertificateITable.IssuanceUnit = “邮电大学保卫处”;单位
dbCertificateITable.IssuanceTime = DateTime.Now;时间
myModels.CertificateITable.Add(dbCertificateITable);实例化
myModels.SaveChanges();保存
}
return Json(“success”, JsonRequestBehavior.AllowGet);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值