Example #1
0
        public async Task <IActionResult> GetEmployee(long id, [FromQuery] EmployeeParams employeeParams)
        {
            var employee = await _service.GetByIdAsync(id);

            if (employeeParams.OperationStatus[employeeParams.GetOperationIndex] == employeeParams.Mode)
            {
                var employeeDto = _mapper.Map <EmployeeDetailDto>(employee);
                return(Ok(employeeDto));
            }
            else
            {
                EmployeeEditDto employeeEditDto;
                if (employeeParams.OperationStatus[employeeParams.CreateOperationIndex] == employeeParams.Mode)
                {
                    employeeEditDto = new EmployeeEditDto();
                }
                else
                {
                    employeeEditDto = _mapper.Map <EmployeeEditDto>(employee);
                }

                await _dataBuildHelper.GetAdditionalData(employeeEditDto);

                return(Ok(employeeEditDto));
            }
        }
Example #2
0
        protected virtual async Task <EmployeeEditDto> CreateEmployeeAsync(EmployeeEditDto input)
        {
            //TODO:新增前的逻辑判断,是否允许新增

            var entity = ObjectMapper.Map <Employee>(input);

            entity = await _employeeRepository.InsertAsync(entity);

            return(entity.MapTo <EmployeeEditDto>());
        }
Example #3
0
        /// <summary>
        /// 编辑Employee
        /// </summary>
        //[AbpAuthorize(EmployeeAppPermissions.Employee_EditEmployee)]
        protected virtual async Task UpdateEmployeeAsync(EmployeeEditDto input)
        {
            //TODO:更新前的逻辑判断,是否允许更新
            var entity = await _employeeRepository.GetAsync(input.Id.Value);

            input.MapTo(entity);

            // ObjectMapper.Map(input, entity);
            await _employeeRepository.UpdateAsync(entity);
        }
Example #4
0
 /// <summary>
 /// 添加或者修改Employee的方法
 /// </summary>
 /// <param name="input">员工信息实体</param>
 /// <returns></returns>
 public async Task CreateOrUpdateEmployeeDto(EmployeeEditDto input)
 {
     if (input.Id.HasValue)
     {
         await UpdateEmployeeAsync(input);
     }
     else
     {
         await CreateEmployeeAsync(input);
     }
 }
Example #5
0
        public async Task GetAdditionalData(EmployeeEditDto employeeEditDto)
        {
            var employees = (await _employeeService.Query(e => e.Active)).ToList();
            List <SelectEntity> selectEmployees = GetData <Employee>(employees);

            employeeEditDto.Superiors = selectEmployees;

            var organizations = _organizationRepo.DbSet.Select(o => o).ToList();
            List <SelectEntity> selectOrganizazions = GetData <OrganizationUnit>(organizations);

            employeeEditDto.OrganizationUnits = selectOrganizazions;
        }
        public Employee ConvertEmployee(EmployeeEditDto employee, int id)
        {
            var convertedEmployee = new Employee
            {
                FirstName    = employee.FirstName,
                LastName     = employee.LastName,
                DepartmentId = employee.DepartmentId,
                EmployeeId   = id,
                ComputerId   = employee.ComputerId
            };

            return(convertedEmployee);
        }
Example #7
0
        public ViewResult Edit(int id)
        {
            Employee        employee        = _employeeRepository.GetEmployee(id);
            EmployeeEditDto employeeEditDto = new EmployeeEditDto
            {
                Id                = employee.Id,
                Name              = employee.Name,
                Email             = employee.Email,
                Departament       = employee.Departament,
                ExistingPhotoPath = employee.PhotoPath
            };

            return(View(employeeEditDto));
        }
Example #8
0
        public async Task <IActionResult> CreateEmployee(EmployeeEditDto employeeEditDto)
        {
            employeeEditDto.Active = true;
            var employee      = _mapper.Map <Employee>(employeeEditDto);
            var addedEmployee = await _service.AddAsync(employee);

            if (addedEmployee != null)
            {
                return(StatusCode(201));
            }
            else
            {
                return(BadRequest());
            }
        }
Example #9
0
        public async Task <bool> EditAsync(EmployeeEditDto employeeToEdit)
        {
            var employee = await this.context.Users.FirstOrDefaultAsync(a => a.Id == employeeToEdit.Id);

            if (employee == null)
            {
                throw new NullReferenceException(string.Format(ErrorMessages.EmployeeIdNullReference, employeeToEdit.Id));
            }

            employee.UserName           = employeeToEdit.Username;
            employee.NormalizedUserName = employeeToEdit.Username.ToUpper();
            employee.Email               = employeeToEdit.Email;
            employee.NormalizedEmail     = employeeToEdit.Email.ToUpper();
            employee.FirstName           = employeeToEdit.FirstName;
            employee.MiddleName          = employeeToEdit.MiddleName;
            employee.LastName            = employeeToEdit.LastName;
            employee.FullName            = employeeToEdit.FullName;
            employee.DateOfBirth         = DateTime.ParseExact(employeeToEdit.DateOfBirth, Constants.DATETIME_FORMAT, CultureInfo.InvariantCulture);
            employee.PersonalPhoneNumber = employeeToEdit.PersonalPhoneNumber;

            if (employeeToEdit.ProfilePicture != null)
            {
                employee.ProfilePicture = employeeToEdit.ProfilePicture;
            }

            employee.Position = employeeToEdit.Position;

            if (employee.DepartmentId != employeeToEdit.DepartmentId)
            {
                await this.ChangeRolesAsync(employee, employeeToEdit.DepartmentId);

                employee.DepartmentId = employeeToEdit.DepartmentId;
            }

            employee.PhoneNumber = employeeToEdit.PhoneNumber;
            employee.AppointedOn = DateTime.ParseExact(employeeToEdit.AppointedOn, Constants.DATETIME_FORMAT, CultureInfo.InvariantCulture);

            if (employee.AccessLevel != employeeToEdit.AccessLevel)
            {
                await this.ChangeAccessLevelClaimAsync(employee, employeeToEdit.AccessLevel);
            }

            this.context.Users.Update(employee);

            var result = await this.context.SaveChangesAsync();

            return(result > 0);
        }
Example #10
0
        /// <summary>
        /// 更新员工区县信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <EmployeeListDto> EditEmployeeAreaInfoAsync(EmployeeEditDto input)
        {
            var entity = await _employeeRepository.GetAsync(input.Id);

            if (entity.AreaCode != input.AreaCode && entity.Area != input.Area)
            {
                entity.Area     = input.Area;
                entity.AreaCode = input.AreaCode;
                var result = await _employeeRepository.UpdateAsync(entity);

                return(result.MapTo <EmployeeListDto>());
            }
            else
            {
                return(entity.MapTo <EmployeeListDto>());
            }
        }
        public async Task <GetEmployeeForEditOutput> GetEmployeeForEdit(NullableIdDto input)
        {
            EmployeeEditDto dto;

            if (input.Id.HasValue) //Editing existing role?
            {
                var emp = await _empRepository.FirstOrDefaultAsync(input.Id.Value);

                //taskEditDto = ObjectMapper.Map<TaskEditDto>(task);
                dto = ObjectMapper.Map <EmployeeEditDto>(emp);
            }
            else
            {
                dto = new EmployeeEditDto();
            }

            return(new GetEmployeeForEditOutput
            {
                Employee = dto
            });
        }
Example #12
0
        /// <summary>
        /// 导出Employee为excel表
        /// </summary>
        /// <returns></returns>
        //public async Task<FileDto> GetEmployeesToExcel(){
        //var users = await UserManager.Users.ToListAsync();
        //var userListDtos = ObjectMapper.Map<List<UserListDto>>(users);
        //await FillRoleNames(userListDtos);
        //return _userListExcelExporter.ExportToFile(userListDtos);
        //}
        /// <summary>
        /// MPA版本才会用到的方法
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <GetEmployeeForEditOutput> GetEmployeeForEdit(NullableIdDto <Guid> input)
        {
            var             output = new GetEmployeeForEditOutput();
            EmployeeEditDto employeeEditDto;

            if (input.Id.HasValue)
            {
                var entity = await _employeeRepository.GetAsync(input.Id.Value);

                employeeEditDto = entity.MapTo <EmployeeEditDto>();

                //employeeEditDto = ObjectMapper.Map<List <employeeEditDto>>(entity);
            }
            else
            {
                employeeEditDto = new EmployeeEditDto();
            }

            output.Employee = employeeEditDto;
            return(output);
        }
Example #13
0
        public HttpResponseMessage EditEmployee(int id, EmployeeEditDto employee)
        {
            var repo                = new EmployeeRepository();
            var employeeEdit        = new EmployeeModifier();
            var changeEmployee      = repo.ConvertEmployee(employee, id);
            var makeEditsToEmployee = employeeEdit.EditEmployee(changeEmployee);


            switch (makeEditsToEmployee)
            {
            case Models.StatusCode.NotFound:
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "That user does not exist."));

            case Models.StatusCode.Success:
                return(Request.CreateResponse(HttpStatusCode.OK));

            case Models.StatusCode.Unsuccessful:
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Something went wrong updating this employee, please try again later."));

            default:
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Something went wrong updating this employee, please try again later."));
            }
        }
Example #14
0
        public async Task <ActionResult <EmployeeDto> > UpdateEmployeeForCompany(Guid companyId, Guid employeeId,
                                                                                 EmployeeEditDto employee)
        {
            if (!await _companyRepository.CompanyExistsAsync(companyId))
            {
                return(NotFound());
            }

            var employeeEntity = await _companyRepository.GetEmployeeAsync(companyId, employeeId);

            if (employeeEntity == null)
            {
                var employeeToAddEntity = _mapper.Map <Employee>(employee);
                employeeToAddEntity.Id        = employeeId;
                employeeToAddEntity.CompanyId = companyId;

                _companyRepository.AddEmployee(companyId, employeeToAddEntity);
                await _companyRepository.SaveAsync();

                var returnDto = _mapper.Map <EmployeeDto>(employeeToAddEntity);

                return(CreatedAtRoute(nameof(GetEmployeeForCompany), new
                {
                    companyId = companyId,
                    employeeId = returnDto.Id
                }, returnDto));
            }


            _mapper.Map(employee, employeeEntity);

            _companyRepository.UpdateEmployee(employeeEntity);
            await _companyRepository.SaveAsync();

            return(NoContent());
        }