public IActionResult CreateEmployee([FromBody] EmployeeInput requestDto) { _sessionService.CheckSession(GetToken(), GetCurrentUser()); var data = _userService.CreateEmployee(new DataInput <EmployeeInput>(requestDto, GetCurrentUser())); return(Json(data)); }
public long CreateEmployee(EmployeeInput input) { return(doInTransaction( () => { var departments = departmentRepository.FindByIds(new List <long> { input.DepartmentId }); if (departments.Count == 0) { throw BusinessException.IllegalDepartmentId(input.DepartmentId); } if (input.SupervisorId != null) { var supervisors = employeeRepository.FindByIds(new List <long> { input.SupervisorId ?? 0 }); if (supervisors.Count == 0) { throw BusinessException.IllegalSupervisorId(input.SupervisorId ?? 0); } } return employeeRepository.Insert(input); } )); }
public long Insert(EmployeeInput input) { return(db .Employees .Value(e => e.Name, input.Name) .Value(e => e.Gender, input.Gender) .Value(e => e.Salary, input.Salary) .Value(e => e.DepartmentId, input.DepartmentId) .Value(e => e.SupervisorId, input.SupervisorId) .InsertWithInt32Identity() ?? throw new InvalidProgramException("Internal bug")); }
public int Update(long id, EmployeeInput input) { return(db .Employees .Where(e => e.Id == id) .Set(e => e.Name, input.Name) .Set(e => e.Gender, input.Gender) .Set(e => e.Salary, input.Salary) .Set(e => e.DepartmentId, input.DepartmentId) .Set(e => e.SupervisorId, input.SupervisorId) .Update()); }
public bool ModifyEmployee(long id, EmployeeInput input) { return(doInTransaction( () => { var departments = departmentRepository.FindByIds(new List <long> { input.DepartmentId }); if (departments.Count == 0) { throw BusinessException.IllegalDepartmentId(input.DepartmentId); } validateSupervisorReferenceCycle(id, input.SupervisorId, new List <Employee>()); return employeeRepository.Update(id, input) != 0; } )); }
public async Task <IActionResult> PostEmployee([FromBody] EmployeeInput employee) { if (ModelState.IsValid) { if (_userManager.FindByEmailAsync(employee.Email) != null) { var employeeUser = new EmployeeUser() { FirstName = employee.FirstName, LastName = employee.LastName, Email = employee.Email, UserName = employee.Email, EmailConfirmed = true, PersonalAccountNumber = employee.PersonalAccountNumber }; var result = await _userManager.CreateAsync(employeeUser, employee.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(employeeUser, "SalesPerson"); return(Ok()); } else { return(BadRequest()); } } else { return(BadRequest()); } } else { return(BadRequest()); } }
/// <summary> /// 员工个人信息初始化或编辑 /// </summary> public async Task CreateOrUpdate(EmployeeInput input) { //var eid = Guid.Empty; Employee model = null; if (input.Id.HasValue) { model = _employeeRepository.Get(input.Id.Value); ObjectMapper.Map(input, model); model.Birthday2 = this.SolarToChineseLunisolarDate(model.Birthday); var user = await UserManager.GetUserByIdAsync(model.UserId.Value); user.EnterTime = input.EnterTime; model.Email = user.EmailAddress; model.Phone = user.PhoneNumber; model.Sex = user.Sex.Value?1:0; model.IdCard = user.IdCard; model.EnterTime = user.EnterTime; CheckErrors(await _userManager.UpdateAsync(user)); _employeeRepository.Update(model); } else { model = _employeeRepository.FirstOrDefault(ite => ite.UserId == AbpSession.UserId.Value); var user = await UserManager.GetUserByIdAsync(AbpSession.UserId.Value); if (model != null) { user.EnterTime = input.EnterTime; //user.PhoneNumber = input.Phone; //user.EmailAddress = input.Email; //user.Sex = input.Sex == 0 ? false : true; //user.IdCard = input.IdCard; //user.EnterTime = input.EnterTime; CheckErrors(await _userManager.UpdateAsync(user)); ObjectMapper.Map(input, model); model.Name = user.Name; model.Code = user.WorkNumber; model.Email = user.EmailAddress; model.Phone = user.PhoneNumber; model.Sex = user.Sex.Value ? 1 : 0; model.IdCard = user.IdCard; model.EnterTime = user.EnterTime; model.Birthday2 = this.SolarToChineseLunisolarDate(model.Birthday); await _employeeRepository.UpdateAsync(model); } else { model = input.MapTo <Employee>(); model.UserId = AbpSession.UserId.Value; model.Name = user.Name; model.Phone = user.PhoneNumber; model.Email = user.EmailAddress; model.Birthday2 = this.SolarToChineseLunisolarDate(model.Birthday); model.Code = user.WorkNumber; _employeeRepository.Insert(model); } } if (input.WorkExperience != null && input.WorkExperience.Count > 0) { var ids = input.WorkExperience.Select(ite => ite.Id).ToList(); _workExperienceRepository.Delete(ite => ite.EmployeeId == model.Id && !ids.Contains(ite.Id)); foreach (var w in input.WorkExperience) { if (w.Id.HasValue) { var wmodel = _workExperienceRepository.Get(w.Id.Value); ObjectMapper.Map(w, wmodel); _workExperienceRepository.Update(wmodel); } else { var wmodel = w.MapTo <WorkExperience>(); wmodel.EmployeeId = model.Id; _workExperienceRepository.Insert(wmodel); } } } if (input.EducationExperience != null && input.EducationExperience.Count > 0) { var ids = input.EducationExperience.Select(ite => ite.Id).ToList(); _educationExperienceRepository.Delete(ite => ite.EmployeeId == model.Id && !ids.Contains(ite.Id)); foreach (var e in input.EducationExperience) { if (e.Id.HasValue) { var edumodel = _educationExperienceRepository.Get(e.Id.Value); ObjectMapper.Map(e, edumodel); _educationExperienceRepository.Update(edumodel); } else { var edumodel = e.MapTo <EducationExperience>(); edumodel.EmployeeId = model.Id; _educationExperienceRepository.Insert(edumodel); } } } if (input.EmployeeFamily != null && input.EmployeeFamily.Count > 0) { var ids = input.EmployeeFamily.Select(ite => ite.Id).ToList(); _employeeFamilyRepository.Delete(ite => ite.EmployeeId == model.Id && !ids.Contains(ite.Id)); foreach (var e in input.EmployeeFamily) { if (e.Id.HasValue) { var fmodel = _employeeFamilyRepository.Get(e.Id.Value); ObjectMapper.Map(e, fmodel); _employeeFamilyRepository.Update(fmodel); } else { var fmodel = e.MapTo <EmployeeFamily>(); fmodel.EmployeeId = model.Id; _employeeFamilyRepository.Insert(fmodel); } } } if (input.EmployeeSkill != null && input.EmployeeSkill.Count > 0) { var ids = input.EmployeeSkill.Select(ite => ite.Id).ToList(); _employeeSkillRepository.Delete(ite => ite.EmployeeId == model.Id && !ids.Contains(ite.Id)); foreach (var e in input.EmployeeSkill) { if (e.Id.HasValue) { var smodel = _employeeSkillRepository.Get(e.Id.Value); ObjectMapper.Map(e, smodel); _employeeSkillRepository.Update(smodel); } else { var fmodel = e.MapTo <EmployeeSkill>(); fmodel.EmployeeId = model.Id; _employeeSkillRepository.Insert(fmodel); } } } }
public async Task <Employee> ModifyEmployee([Service] DBAttendanceContext dBAttendanceContext, EmployeeInput input) { try { var employee = await dBAttendanceContext.Employee.FindAsync(input.CardId); if (employee != null) { employee.Name = input.Name; employee.Lastname = input.Lastname; employee.Genre = input.Genre; employee.Birthdate = input.BirthDate; employee.Address = input.Address; employee.Phone = input.Phone; employee.Email = input.Email; employee.PhotoName = input.PhotoName; employee.State = input.State; await dBAttendanceContext.SaveChangesAsync(); return(employee); } else { throw new QueryException("No se encontró al empleado."); } } catch (System.Exception e) { throw new QueryException(e.Message); } }
public async Task <Employee> AddEmployee([Service] DBAttendanceContext dBAttendanceContext, EmployeeInput input) { try { var employee = new Employee { CardId = input.CardId, Name = input.Name, Lastname = input.Lastname, Genre = input.Genre, Birthdate = input.BirthDate, Address = input.Address, Phone = input.Phone, Email = input.Email, PhotoName = input.PhotoName }; var contractInput = input.Contract; employee.Contract.Add(new Contract { StartDate = contractInput.StartDate, FinishDate = contractInput.FinishDate, Mount = contractInput.Mount, ExtraHours = contractInput.ExtraHours }); var scheduleInput = input.Schedule; var schedule = new Schedule { StartDate = scheduleInput.StartDate, FinishDate = scheduleInput.FinishDate }; scheduleInput.ScheduleDetail.ForEach(sd => { var scheduleDetail = new ScheduleDetail { Day = sd.Day, InHour = sd.InHour, OutHour = sd.OutHour }; schedule.ScheduleDetail.Add(scheduleDetail); }); employee.Schedule.Add(schedule); await dBAttendanceContext.SaveChangesAsync(); return(employee); } catch (System.Exception e) { throw new QueryException(e.Message); } }
public async Task CreateEmployee([FromBody] EmployeeInput input) { await _employeeService.CreateEmployee(input); }
public async Task CreateEmployee(EmployeeInput input) { await _employeService.CreateEmployee(input); }