新增

控制器中新添并声明一个公共的方法传递数据,自定义命名,加入PW_Employee pwEmployee便于使用pw_Employee表中的数据和PW_User表同
public ActionResult InsertEmployee(PW_Employee pwEmployee, PW_User pwUser)

new一个实例化的ReturnJsonVo方法 自定义名称,便于回填信息,这里面有我们需要的字段,下面会用到,要使用它,就得先引用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如上四张图为实例化ReturnJsonVo内的内容
ReturnJsonVo returnJson = new ReturnJsonVo();
在公共方法内放置try{}catch(exception){}用于捕捉一下错误,防止这段代码出错导致后面的代码不能运行
int一个新的新增的名称,从Models中的PW_Employee表开始,判断数据库中是否已经存在该信息
int countEmployee = (from tbEmployee in myModels.PW_Employee
where tbEmployee.EmployeeNumber == pwEmployee.EmployeeName ||
tbEmployee.EmployeeName == pwEmployee.EmployeeName ||
tbEmployee.Cellphone == pwEmployee.Cellphone select tbEmployee).Count();
检查和以前数据是否有冲突
if (countEmployee == 0){
int countUser = (from tbUser in myModels.PW_User
where tbUser.UserID == pwUser.UserID
select tbUser).Count();
if (countUser == 0) {
根据各表之间的关系,表格新增的顺序为:用户表->员工表->用户角色明细表(其中员工表和用户角色明细表新增顺序可以互换)。新增用户表
pwUser.UserNuber = pwEmployee.EmployeeNumber;
pwUser.Password = Common.AESEncryptHelper.Encrypt(pwEmployee.EmployeeNumber);
myModels.PW_User.Add(pwUser);
判断Models中在此上下文中所做的所有更改保存到基础数据库
if (myModels.SaveChanges() > 0)
{获取新增的用户ID
var userId = pwUser.UserID;
pwEmployee.UserID = userId;
myModels.PW_Employee.Add(pwEmployee);

判断Models中在此上下文中所做的所有更改保存到基础数据库
if (myModels.SaveChanges() > 0)
{新增用户角色明细表
PW_UserRoleDetail pwUserRoleDetail = new PW_UserRoleDetail();
pwUserRoleDetail.UserID = userId;
pwUserRoleDetail.UserTypeID = 3;
myModels.PW_UserRoleDetail.Add(pwUserRoleDetail);

判断Models中在此上下文中所做的所有更改保存到基础数据库
if (myModels.SaveChanges() > 0)
{返回数据类型为true则弹出员工信息新增成功!文本信息
returnJson.State = true;
returnJson.Text = “员工信息新增成功!”; }
在这里插入图片描述
else
{当返回数据类型为false时,则保存失败,并弹出员工角色明细表保存失败!的文本信息
returnJson.State = false;
returnJson.Text = “员工角色明细表保存失败!”;} }
在这里插入图片描述
else{
当返回数据类型为false时,则保存失败,并弹出员工表保存失败!的文本信息
returnJson.State = false;
returnJson.Text = “员工表保存失败!”;} }
在这里插入图片描述
else {
当返回数据类型为false时,则保存失败,并弹出用户表保存失败的文本信息
returnJson.State = false;
returnJson.Text = “用户表保存失败!”;}}
在这里插入图片描述
else{
当返回数据类型为false时,则保存失败,并弹出该用户已存在!文本信息
returnJson.State = false;
returnJson.Text = “该用户已存在!”;} }
在这里插入图片描述
else{
当返回数据类型为false时,则保存失败,并弹出数据异常,该员工信息已经存在,不需要重复新增!的文本信息
returnJson.State = false;
returnJson.Text = “数据异常,该员工信息已经存在,不需要重复新增!”;}
}
catch (Exception e) {
在这里插入图片描述
Console.WriteLine(e);这条并无太大作用,只是避免e在页面上的提示警告

returnJson.State = false;
returnJson.Text = “数据异常!”;}

return Json(returnJson, JsonRequestBehavior.AllowGet);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值