Ejemplo n.º 1
0
        public IActionResult CreateEmployee([FromBody] EmployeeInput requestDto)
        {
            _sessionService.CheckSession(GetToken(), GetCurrentUser());
            var data = _userService.CreateEmployee(new DataInput <EmployeeInput>(requestDto, GetCurrentUser()));

            return(Json(data));
        }
Ejemplo n.º 2
0
 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());
 }
Ejemplo n.º 5
0
 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;
     }
                ));
 }
Ejemplo n.º 6
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());
            }
        }
Ejemplo n.º 7
0
        /// <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);
                    }
                }
            }
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        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);
 }