public async Task <IActionResult> Register(RegisterModel model) { if (ModelState.IsValid) { EmployeeAccount employeeAccount = await _context.EmployeeAccount.FirstOrDefaultAsync(u => u.Login == model.Login); if (employeeAccount == null) { employeeAccount = new EmployeeAccount { Login = model.Login, Password = model.Password }; _context.EmployeeAccount.Add(employeeAccount); await _context.SaveChangesAsync(); Employee employee = new Employee { EmployeeId = employeeAccount.EmployeeAccountId, Name = model.Name, Surname = model.Surname, Patronymic = model.Patronymic, Email = model.Email, EmployeeRoleId = model.EmployeeRoleId, RankId = model.RankId, PhoneNumber = model.PhoneNumber }; _context.Employee.Add(employee); await _context.SaveChangesAsync(); if (model.MentorId != null) { EmployeeMentors employeeMentors = new EmployeeMentors { MentorId = model.MentorId.Value, InternId = employee.EmployeeId, }; _context.EmployeeMentors.Add(employeeMentors); } foreach (var skillVal in model.SkillsValue) { EmployeeSkillValue employeeSkillValue = new EmployeeSkillValue { EmployeeId = employee.EmployeeId, SkillId = _context.Skill.Where(u => u.SkillTitle == skillVal.Key && u.SkillValueId == skillVal.Value).First().IdSkill }; _context.EmployeeSkillValue.Add(employeeSkillValue); } await _context.SaveChangesAsync(); // await Login(new LoginModel() { Login = model.Login, Password = model.Password}); // аутентификация return(RedirectToAction("Index", "Home")); } ModelState.AddModelError("", "Такий логін вже використано"); } ViewBag.EmployeeRoleId = new SelectList(_context.EmployeeRole, "EmployeeRoleId", "EmployeeRoleName"); ViewBag.RankId = new SelectList(_context.EmployeeRank, "EmployeeRankId", "EmployeeRankTitle"); return(View(model)); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(EmployeeAccount model) { return(dal.Update(model)); }
/// <summary> /// 添加员工 /// </summary> private void AddEmployee() { string employeeNO = txtEmployeeNo.Text.Trim(); //员工编号 try { //判断编号是否已经使用 bool isExist = eBll.IsExist(employeeNO); if (isExist) { ExecuteScript("AlertDialog('员工编号已存在!', null);"); return; } string name = txtName.Text.Trim(); //员工姓名 int gender = 0; //员工性别 if (rdbFemale.Checked) { gender = 1; } //出生日期 string birthdate = txtBirthDate.Text.Trim(); Employee emp = new Employee(); emp.ID = Guid.NewGuid().ToString(); emp.EMPLOYEENO = employeeNO; //密码加密 emp.PASSWORD = AES.Encrypt("666666", "0512000000000512"); //姓名 emp.NAME = name == null ? null : name; //性别 emp.SEX = gender == 0; if (!string.IsNullOrEmpty(birthdate)) { emp.BIRTHDATE = Convert.ToDateTime(birthdate); } //手机号码 emp.MOBILEPHONE = txtMobilePhone.Text.Trim(); //转正日期 emp.TOREGULARDATE = Convert.ToDateTime(txtToRegularDate.Text.Trim()); //员工类型,0:总经办,1:客服,2:造价员 decimal userType = 0; //总经办 if (rdbGMO.Checked) { userType = 0; } //客服 else if (rdbCustomerService.Checked) { userType = 1; } //造价员 else if (rdbEmployee.Checked) { userType = 2; } // 其他用户类型 else if (rdbOtherUserType.Checked) { if (!string.IsNullOrEmpty(txtUserType.Text.Trim())) { userType = Convert.ToDecimal(txtUserType.Text.Trim()); } } emp.TYPE = userType; emp.ISBRANCHLEADER = rblIsBranchLeader.SelectedValue == "1"; emp.ISEXTERNAL = rblIsExternal.SelectedValue == "1"; //启用状态 emp.AVAILABLE = 1; bool flag = eBll.Add(emp); //本系统添加成功 if (flag) { if (rblAddRole.SelectedValue == "1") { // 添加角色 EmployeeRole empRole = new EmployeeRole(); empRole.ID = Guid.NewGuid().ToString(); empRole.EMPLOYEEID = emp.ID; // 1 客服 if (emp.TYPE == 1) { empRole.ROLEID = "fea3a06f-6d97-45d3-93f7-b145c158eb27"; } // 2 工程师 else if (emp.TYPE == 2) { empRole.ROLEID = "2B43010866666af2b73d78c35288d565"; } if (!string.IsNullOrEmpty(empRole.ROLEID)) { new EmployeeRoleBLL().Add(empRole); } } // 创建员工编号同名目录 string rootPath = Convert.ToString(ConfigurationManager.AppSettings["employeePath"]); string employeeFolder = Path.Combine(rootPath, emp.EMPLOYEENO); if (!Directory.Exists(employeeFolder)) { Directory.CreateDirectory(employeeFolder); } // 2018-05-19 添加 // 添加员工的任务分成配置 EmployeeProportionBLL epBll = new EmployeeProportionBLL(); EmployeeProportion empProportion = new EmployeeProportion(); empProportion.ID = Guid.NewGuid().ToString(); empProportion.EMPLOYEEID = emp.ID; empProportion.PROPORTION = 0.3m; empProportion.PARENTEMPLOYEEID = null; empProportion.ISBRANCHLEADER = emp.ISBRANCHLEADER; epBll.Add(empProportion); // 任务分成配置结束 // 2018-05-20 添加 // 添加员工的默认账户 EmployeeAccount empAcct = new EmployeeAccount(); empAcct.ID = Guid.NewGuid().ToString(); empAcct.EMPLOYEEID = emp.ID; empAcct.AMOUNT = 0m; empAcct.PAIDAMOUNT = 0m; empAcct.SURPLUSAMOUNT = 0m; empAcct.OTHERSAMOUNT = 0m; empAcct.CREATEDATE = DateTime.Now; empAcct.LASTUPDATEDATE = DateTime.Now; EmployeeAccountBLL empAcctBll = new EmployeeAccountBLL(); empAcctBll.Add(empAcct); // 员工账户结束 #region 调用钉钉接口,添加员工到钉钉 //如果选择了钉钉同步创建 if (Request.Form["sync"] == "rdbSync") { string accessTokenResult = DingTalkHelper.GetAccessToken(); JObject jObj = JObject.Parse(accessTokenResult); string errcode = jObj["errcode"].ToString(); string accessToken = string.Empty; if (errcode == "0") { accessToken = jObj["access_token"].ToString(); string postUrl = string.Format("https://oapi.dingtalk.com/user/create?access_token={0}", accessToken); //岗位 string position = string.Empty; //钉钉系统中对应的部门ID string departmentid = string.Empty; ////总经办 //if (rdbGMO.Checked) //{ // position = rdbGMO.Text; // departmentid = "37037510"; //} ////客服 //else if (rdbCustomerService.Checked) //{ // position = rdbCustomerService.Text; // departmentid = "36958636"; //} ////造价员 //else if (rdbEmployee.Checked) //{ // position = rdbEmployee.Text; // departmentid = "36961466"; //} departmentid = "110817907"; //\"orderInDepts\":\"{1:10}\", \"remark\":\"\", \"tel\":\"010-12333\", \"workPlace\":\"\", \"isHide\":false, \"isSenior\":false string param = "{\"name\":\"" + emp.NAME + "\", \"department\":[" + departmentid + "], \"position\":\"" + position + "\", \"mobile\":\"" + emp.MOBILEPHONE + "\", \"email\":\"" + emp.EMAIL + "\", \"jobnumber\":\"" + emp.EMPLOYEENO + "\",}"; object userCreateResult = WebServiceHelper.Post(postUrl, param); JObject jCreateResult = JObject.Parse(userCreateResult.ToString()); //返回码 errcode = jCreateResult["errcode"].ToString(); //返回消息 string errmsg = jCreateResult["errmsg"].ToString(); //返回码为0,成功 if (errcode == "0") { string dingTalkUserId = jCreateResult["userid"].ToString(); emp.DINGTALKUSERID = dingTalkUserId; try { //关联钉钉UserId bool uptFlag = eBll.Update(emp); //关联成功 if (uptFlag) { //弹出提示并刷新当前页面 ExecuteScript("alert('添加成功!');window.location.href='/Pages/Admin/EmployeeAdd?UserId=" + emp.ID + "'"); } else { ExecuteScript("AlertDialog('关联钉钉UserId失败!', null);"); } } //本地OA更新钉钉UserId失败 catch (Exception ex) { LogHelper.WriteLine("自动关联钉钉UserId失败。" + ex.Message + ex.StackTrace); ExecuteScript("AlertDialog('操作失败!', null)"); } } else { LogHelper.WriteLine("用户在OA系统创建成功,但在钉钉系统创建失败,原因:" + errmsg); //ExecuteScript("AlertDialog('OA系统已成功创建用户,但该用户在钉钉系统中创建失败,请人工在钉钉系统中添加。<br />钉钉系统中添加成功后,需要将其系统中的UserId填写并关联到本系统中。', null)"); ExecuteScript("alert('OA系统已成功创建用户,但该用户在钉钉系统中创建失败,请人工在钉钉系统中添加。钉钉系统中添加成功后,需要将其系统中的UserId填写并关联到本系统中。');window.location.href='EmployeeAdd?UserId=" + emp.ID + "';"); } } else { ExecuteScript("AlertDialog('用户已在本系统中成功创建,但获取钉钉token失败,并未在钉钉系统中成功添加用户,请人工添加!', null)"); } } else { ExecuteScript("alert('本系统添加成功但尚未关联钉钉UserId,请尽快关联!');window.location.href='/Pages/Admin/EmployeeAdd?UserId=" + emp.ID + "';"); } #endregion } //添加失败 else { ExecuteScript("AlertDialog('添加失败!', null)"); } } catch (Exception ex) { string exMsg = ex.Message; LogHelper.WriteLine(string.Format("员工添加出错。" + exMsg + ex.StackTrace)); //写入文本日志 string script = string.Format("AlertDialog('服务器错误,请联系管理员!<p>{0}</p>'), null", exMsg); ExecuteScript(script); } }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(EmployeeAccount model) { return(dal.Add(model)); }