Exemplo n.º 1
0
        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;
        }