控制器中新添并声明一个公共的方法传递数据,自定义命名,加入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);