public async Task <EmployeeDto> Create(CreateOrUpdateEmployeeDto input)
        {
            var exist = await _repository.FirstOrDefaultAsync(_ => _.Name == input.Name);

            if (exist != null)
            {
                throw new BusinessException("名称:" + input.Name + "职员已存在!");
            }

            var user = await _repository.FirstOrDefaultAsync(_ => _.UserId == input.UserId);

            if (user != null)
            {
                throw new BusinessException("用户已关联,请重新选择!");
            }

            var result = await _repository.InsertAsync(new Employee(GuidGenerator.Create(), input.Name, input.Gender, input.Phone, input.Email, input.Enabled, input.OrgId, input.UserId));

            foreach (var jid in input.Jobs)
            {
                await _empJobsRepository.InsertAsync(new EmployeeJob(result.Id, jid));
            }

            return(ObjectMapper.Map <Employee, EmployeeDto>(result));
        }
        public async Task <EmployeeDto> Update(Guid id, CreateOrUpdateEmployeeDto input)
        {
            var employee = await _repository.GetAsync(id);

            if (employee.UserId != input.UserId)
            {
                var user = await _repository.FirstOrDefaultAsync(_ => _.UserId == input.UserId);

                if (user != null)
                {
                    throw new BusinessException("用户已关联,请重新选择!");
                }
            }

            employee.Name    = input.Name;
            employee.Enabled = input.Enabled;
            employee.Email   = input.Email;
            employee.Gender  = input.Gender;
            employee.OrgId   = input.OrgId;
            employee.UserId  = input.UserId;

            await _empJobsRepository.DeleteAsync(_ => _.EmployeeId == employee.Id);

            foreach (var jid in input.Jobs)
            {
                await _empJobsRepository.InsertAsync(new EmployeeJob(employee.Id, jid));
            }

            return(ObjectMapper.Map <Employee, EmployeeDto>(employee));
        }
Beispiel #3
0
        public async Task <EmployeeDto> Update(Guid id, CreateOrUpdateEmployeeDto input)
        {
            var employee = await _repository.GetAsync(id);

            employee.Name    = input.Name;
            employee.Enabled = input.Enabled;
            employee.Email   = input.Email;
            employee.Gender  = input.Gender;
            employee.OrgId   = input.OrgId;
            employee.UserId  = input.UserId;

            return(ObjectMapper.Map <Employee, EmployeeDto>(employee));
        }
Beispiel #4
0
        public async Task <EmployeeDto> Create(CreateOrUpdateEmployeeDto input)
        {
            var exist = await _repository.FirstOrDefaultAsync(_ => _.Name == input.Name);

            if (exist != null)
            {
                throw new BusinessException("名称:" + input.Name + "职员已存在");
            }

            var result = await _repository.InsertAsync(new Employee(GuidGenerator.Create(), input.Name, input.Gender, input.Phone, input.Email, input.Enabled, input.OrgId, input.UserId));

            return(ObjectMapper.Map <Employee, EmployeeDto>(result));
        }
Beispiel #5
0
        public async Task <EmployeeDto> Update(Guid id, CreateOrUpdateEmployeeDto input)
        {
            var employee = await _repository.GetAsync(id);

            if (employee.UserId != input.UserId)
            {
                var user = await _repository.FirstOrDefaultAsync(_ => _.UserId == input.UserId);

                if (user != null)
                {
                    throw new BusinessException("用户已关联,请重新选择!");
                }
            }

            employee.Name    = input.Name;
            employee.Enabled = input.Enabled;
            employee.Email   = input.Email;
            employee.Gender  = input.Gender;
            employee.OrgId   = input.OrgId;
            employee.UserId  = input.UserId;

            return(ObjectMapper.Map <Employee, EmployeeDto>(employee));
        }
Beispiel #6
0
 public Task <EmployeeDto> Update(Guid id, CreateOrUpdateEmployeeDto input)
 {
     return(_employeeAppService.Update(id, input));
 }
Beispiel #7
0
 public Task <EmployeeDto> Create(CreateOrUpdateEmployeeDto input)
 {
     return(_employeeAppService.Create(input));
 }