public bool SaveNewEmployee(EmployeeModel model) { var employeeService = new EmployeeService(); var roleService = new RoleService(); try { //SHA412加密 string result = ""; SHA512 sha512 = new SHA512Managed(); byte[] s = sha512.ComputeHash(Encoding.UTF8.GetBytes("123456")); for (int i = 0; i < s.Length; i++) { result += s[i].ToString("X2"); } sha512.Clear(); //添加人员信息 var newemployee = new employee { Name = model.EmployeeName, Number = model.EmployeeNumber, RFID = model.Rfid, Sex = model.Sex, Password = result.ToLower(), LogOn = true, Birthday = Convert.ToDateTime(model.Birthday), Memo = model.Memo, State = true }; employeeService.Insert(newemployee); var roleFlag = new List<long>(); //用来存储角色id,并判断角色id是否重复 //添加角色信息 foreach (long t in model.RoleTypeId) { //用来判断model中的roleid是否跟roleFlag中的重复 int flag = 0; foreach (long l in roleFlag) { if (l == t) { flag = 1; } } //model中的roleid跟roleFlag中的不重复 if (flag == 0) { roleFlag.Add(t); var role = new role { EmployeeId = employeeService.FindByRfid(model.Rfid).Id, RoleId = t }; roleService.Insert(role); } } } catch (Exception) { return false; } return true; }
public bool SaveModifyEmployee(EmployeeModel model) { var employeeService = new EmployeeService(); var roleService = new RoleService(); string result = ""; try { //SHA512加密 if (model.ConfirmPassWd != null) { SHA512 sha512 = new SHA512Managed(); byte[] s = sha512.ComputeHash(Encoding.UTF8.GetBytes(model.ConfirmPassWd)); for (int i = 0; i < s.Length; i++) { result += s[i].ToString("X2"); } sha512.Clear(); } //修改人员信息 employee newemployee = employeeService.Find(model.EmployeeId); newemployee.Name = model.EmployeeName; newemployee.Number = model.EmployeeNumber; newemployee.RFID = model.Rfid; newemployee.LogOn = model.Logon; newemployee.Sex = model.Sex; newemployee.State = model.state; newemployee.Birthday = Convert.ToDateTime(model.Birthday); newemployee.Memo = model.Memo; if (model.ConfirmPassWd != null) { newemployee.Password = result.ToLower(); } employeeService.Update(newemployee); //修改角色信息 //如果增加的角色类型数据库中没有,则插入该角色 foreach (long t in model.RoleTypeId) { List<role> roles = roleService.FindByEmployeeId(model.EmployeeId); int flag = 1; foreach (role role in roles) { if (t == role.RoleId) { flag = 0; } } if (flag == 1) { var role = new role { EmployeeId = model.EmployeeId, RoleId = t }; roleService.Insert(role); } } // 如果删除了一个角色类型,则在数据库删除对应的角色类型 List<role> anotherroles = roleService.FindByEmployeeId(model.EmployeeId); foreach (role anotherrole in anotherroles) { int flag = 1; long delete = anotherrole.RoleId; for (int j = 0; j < model.RoleTypeId.Count; j++) { if (anotherrole.RoleId == model.RoleTypeId[j]) { flag = 0; } } if (flag == 1) { roleService = new RoleService(); roleService.Delete( roleService.Find(roleService.FindByEmployeeIdAndRoleId(model.EmployeeId, delete).Id)); } } } catch (Exception) { return false; } return true; }