Exemplo n.º 1
0
 private void ValidateEmployee(EmployeeAPIModel employeeAPI)
 {
     if (_employeeRepository.SelectOne(x => x.EmployeeId == employeeAPI.EmployeeId) != null)
     {
         throw new DemoAPIException("employeeId", "The employee Id already exists");
     }
 }
Exemplo n.º 2
0
        private EmployeeAPIModel MapEmployeesAPI(Employee employee)
        {
            var employeeAPI = new EmployeeAPIModel();

            if (employee != null)
            {
                employeeAPI.Id            = employee.Id;
                employeeAPI.FirstName     = employee.FirstName;
                employeeAPI.LastName      = employee.LastName;
                employeeAPI.EmployeeId    = employee.EmployeeId;
                employeeAPI.DateOfJoining = employee.DateOfJoining;
                employeeAPI.Address       = employee.Address;
                employeeAPI.DOB           = employee.DOB;
                employeeAPI.Email         = employee.Email;
                employeeAPI.Skills        = new List <SkillAPIModel> ();
                if (employee.Skills != null)
                {
                    foreach (var skill in employee.Skills)
                    {
                        employeeAPI.Skills.Add(new SkillAPIModel {
                            Id         = skill.Id,
                            Technology = skill.Technology,
                            StartDate  = skill.StartDate,
                            EndDate    = skill.EndDate
                        });
                    }
                }
            }
            return(employeeAPI);
        }
Exemplo n.º 3
0
        public async Task <ActionResult <EmployeeAPIModel> > UpdateCustomer(int id, EmployeeAPIModel employee)
        {
            var validator        = new EmployeeValidator(0);
            var validationResult = await validator.ValidateAsync(employee);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors));
            }

            var employeeToUpdate = await _employeeService.GetEmployeeById(id);

            if (employeeToUpdate == null)
            {
                return(NotFound());
            }

            var employeeModel = _mapper.Map <EmployeeAPIModel, Employees>(employee);

            await _employeeService.UpdateEmployees(employeeToUpdate, employeeModel);

            employeeModel = await _employeeService.GetEmployeeById(id);

            var employeeAPIModel = _mapper.Map <Employees, EmployeeAPIModel>(employeeModel);

            return(Ok(employeeAPIModel));
        }
Exemplo n.º 4
0
        public void AddEmployee(EmployeeAPIModel employeeAPI)
        {
            var employee = MapEmployees(employeeAPI);

            ValidateEmployee(employeeAPI);
            _employeeRepository.Add(employee);
            SaveChanges(_unitOfWork);
        }
Exemplo n.º 5
0
        public IActionResult Put([FromBody] EmployeeAPIModel employee)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            _employeeService.UpdateEmployee(employee);

            // if (!result.Success)
            //     return BadRequest(result.Message);

            return(Ok(employee));
        }
Exemplo n.º 6
0
        public async Task <ActionResult <EmployeeAPIModel> > CreateEmployee(EmployeeAPIModel employee)
        {
            var validator        = new EmployeeValidator(1);
            var validationResult = await validator.ValidateAsync(employee);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors));
            }

            var employeeModel = _mapper.Map <EmployeeAPIModel, Employees>(employee);
            await _employeeService.CreateEmployees(employeeModel);

            return(Ok(employee));
        }
Exemplo n.º 7
0
        public IActionResult Post([FromBody] EmployeeAPIModel employee)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            try
            {
                _employeeService.AddEmployee(employee);
            }
            catch (DemoAPIException ex)
            {
                APIHelper.AddModelErrorState(ModelState, ex.ValidationResult);
                return(BadRequest(ModelState));
            }

            return(Ok(employee));
        }
Exemplo n.º 8
0
        public void UpdateEmployee(EmployeeAPIModel employeeAPI)
        {
            var employee = _employeeRepository.SelectOne(x => x.Id == employeeAPI.Id);

            employee.FirstName     = employeeAPI.FirstName;
            employee.LastName      = employeeAPI.LastName;
            employee.EmployeeId    = employeeAPI.EmployeeId;
            employee.DateOfJoining = employeeAPI.DateOfJoining;
            employee.Address       = employeeAPI.Address;
            employee.DOB           = employeeAPI.DOB;
            employee.Email         = employeeAPI.Email;
            var skills = employee.Skills.ToList();

            foreach (var skill in employee.Skills)
            {
                if (!employeeAPI.Skills.Exists(x => x.Id == skill.Id))
                {
                    _skillRepository.Delete(skill);
                }
            }
            foreach (var skill in employeeAPI.Skills)
            {
                if (!skills.Exists(x => x.Id == skill.Id))
                {
                    employee.Skills.Add(new Skill {
                        Technology  = skill.Technology,
                        StartDate   = skill.StartDate,
                        EndDate     = skill.EndDate,
                        CreatedBy   = UserStateManagement.UserId,
                        CreatedDate = DateTime.Now
                    });
                }
            }
            _employeeRepository.Update(employee);
            SaveChanges(_unitOfWork);
        }
Exemplo n.º 9
0
        private Employee MapEmployees(EmployeeAPIModel employeeAPI)
        {
            var employee = new Employee();

            employee.FirstName     = employeeAPI.FirstName;
            employee.LastName      = employeeAPI.LastName;
            employee.EmployeeId    = employeeAPI.EmployeeId;
            employee.DateOfJoining = employeeAPI.DateOfJoining;
            employee.Address       = employeeAPI.Address;
            employee.DOB           = employeeAPI.DOB;
            employee.Email         = employeeAPI.Email;
            employee.Skills        = new List <Skill> ();
            foreach (var skill in employeeAPI.Skills)
            {
                employee.Skills.Add(new Skill {
                    Technology  = skill.Technology,
                    StartDate   = skill.StartDate,
                    EndDate     = skill.EndDate,
                    CreatedBy   = UserStateManagement.UserId,
                    CreatedDate = DateTime.Now
                });
            }
            return(employee);
        }