public IActionResult PostEmployee( [FromBody] EmployeeModel employee ) { try { Employee lastEmployee = _employeeService.GetEmployees().OrderByDescending(prop => prop.EmployeeNumber).First(); int newEmployeeId = lastEmployee.EmployeeNumber + 1; employee.EmployeeNumber = newEmployeeId; Employee employeeToInsert = new Employee { EmployeeNumber = newEmployeeId, FirstName = employee.FirstName, LastName = employee.LastName, Gender = employee.EmployeeGender, BirthDate = employee.BirthDate, HireDate = employee.HireDate }; _employeeService.InsertEmployee(employeeToInsert); return(Created($"/api/employees/{newEmployeeId}", employee)); } catch (GenericServiceException genericServiceException) { if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.ConflictException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.ApiConflict(genericServiceException.Message))); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.BadConstraintsException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.BadRequest())); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.InternalErrorException)) { return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult PostDepartment( [FromBody] DepartmentModel department ) { try { Department lastDepartment = _departmentService.GetDepartments().OrderByDescending(prop => prop.DepartmentNumber).First(); string departmentNumber = UtilityKit.ConstructDepartmentNumber(lastDepartment.DepartmentNumber.Substring(1)); department.DepartmentNumber = departmentNumber; _departmentService.InsertDepartment(new Department { DepartmentNumber = department.DepartmentNumber, DepartmentName = department.DepartmentName }); return(Created($"/api/departments/{department.DepartmentNumber}", department)); } catch (GenericServiceException genericServiceException) { if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.ConflictException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.ApiConflict(genericServiceException.Message))); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.BadConstraintsException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.BadRequest())); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.InternalErrorException)) { return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult PostTitle( [FromBody] TitleModel titleModel ) { try { Title titleToInsert = new Title { EmployeeNumber = titleModel.EmployeeNumber, Title = titleModel.EmployeeTitle, FromDate = titleModel.FromDate, ToDate = titleModel.ToDate }; _titleService.InsertTitle(titleToInsert); return(Created($" /api/employees/{titleModel.EmployeeNumber}/titles/{titleModel.EmployeeTitle}/startDate/{titleModel.FromDate}", titleModel)); } catch (GenericServiceException genericServiceException) { if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.ConflictException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.ApiConflict(genericServiceException.Message))); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.BadConstraintsException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.BadRequest())); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.InternalErrorException)) { return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult PostSalary( [FromBody] SalaryModel salaryModel ) { try { Salary salaryToInsert = new Salary { EmployeeNumber = salaryModel.EmployeeNumber, EmployeeSalary = salaryModel.EmployeeSalary, FromDate = salaryModel.FromDate, ToDate = salaryModel.ToDate }; _salaryService.InsertSalary(salaryToInsert); return(Created($"/api/employees/{salaryModel.EmployeeNumber}/salaries/startDate/{salaryModel.FromDate}", salaryModel)); } catch (GenericServiceException genericServiceException) { if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.ConflictException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.ApiConflict(genericServiceException.Message))); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.BadConstraintsException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.BadRequest())); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.InternalErrorException)) { return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult PostDepartmentManager( [FromBody] DepartmentManagerModel departmentManager ) { try { _departmentManagerService.InsertDepartmentManager( new DepartmentManager { EmployeeNumber = departmentManager.EmployeeNumber, DepartmentNumber = departmentManager.DepartmentNumber, FromDate = departmentManager.FromDate, ToDate = departmentManager.ToDate }); return(Created($"/api/departments/{departmentManager.DepartmentNumber}/managers/{departmentManager.EmployeeNumber}", departmentManager)); } catch (GenericServiceException genericServiceException) { if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.ConflictException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.ApiConflict(genericServiceException.Message))); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.BadConstraintsException)) { return(StatusCode(genericServiceException.StatusCode, APIResponse.BadRequest())); } else if (genericServiceException.GenericExceptionResponse.Equals(GenericExceptionResponse.InternalErrorException)) { return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } return(StatusCode(500, APIResponse.DefaultErrorMessage(genericServiceException.Message, 500))); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }