Пример #1
0
        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)));
            }
        }
Пример #3
0
        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)));
            }
        }
Пример #4
0
        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)));
            }
        }