private void ValidateEmployee(EmployeeAPIModel employeeAPI) { if (_employeeRepository.SelectOne(x => x.EmployeeId == employeeAPI.EmployeeId) != null) { throw new DemoAPIException("employeeId", "The employee Id already exists"); } }
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); }
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)); }
public void AddEmployee(EmployeeAPIModel employeeAPI) { var employee = MapEmployees(employeeAPI); ValidateEmployee(employeeAPI); _employeeRepository.Add(employee); SaveChanges(_unitOfWork); }
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)); }
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)); }
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)); }
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); }
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); }