public IActionResult PutTitle( int empNo, string title, DateTime fromDate, [FromBody] TitleModel titleModel ) { try { Title titleToUpdate = new Title { EmployeeNumber = empNo, Title = title, FromDate = fromDate, ToDate = titleModel.ToDate }; _titleService.UpdateTitle(titleToUpdate); TitleModel updatedTitle = new TitleModel { EmployeeNumber = titleToUpdate.EmployeeNumber, EmployeeTitle = titleToUpdate.Title, FromDate = titleToUpdate.FromDate, ToDate = titleToUpdate.ToDate }; return(Ok(updatedTitle)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult GetOneSalary(int empNo, DateTime fromDate) { try { Salary s = _salaryService.GetOneSalary(empNo, fromDate); if (s == null) { return(NoContent()); } SalaryModel resultSalary = new SalaryModel { Employee = s.Employee, EmployeeNumber = s.EmployeeNumber, EmployeeSalary = s.EmployeeSalary, FromDate = s.FromDate, ToDate = s.ToDate }; return(Ok(resultSalary)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult GetOneEmployee(int empNo) { try { Employee e = _employeeService.GetOneEmployee(empNo); if (e == null) { return(NoContent()); } EmployeeModel employeeModel = new EmployeeModel { EmployeeNumber = e.EmployeeNumber, FirstName = e.FirstName, LastName = e.LastName, EmployeeGender = e.Gender, BirthDate = e.BirthDate, HireDate = e.HireDate }; return(Ok(employeeModel)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult GetOneTitle(int empNo, string title, DateTime fromDate) { try { Title t = _titleService.GetOneTitle(empNo, title, fromDate); if (t == null) { return(NoContent()); } TitleModel resultTitle = new TitleModel { Employee = t.Employee, EmployeeNumber = t.EmployeeNumber, EmployeeTitle = t.Title, FromDate = t.FromDate, ToDate = t.ToDate }; return(Ok(resultTitle)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult PutSalary( int empNo, DateTime fromDate, [FromBody] SalaryModel salaryModel ) { try { Salary salaryToUpdate = new Salary { EmployeeNumber = empNo, EmployeeSalary = salaryModel.EmployeeSalary, FromDate = fromDate, ToDate = salaryModel.ToDate }; _salaryService.UpdateSalary(salaryToUpdate); SalaryModel updatedSalary = new SalaryModel { EmployeeNumber = salaryToUpdate.EmployeeNumber, EmployeeSalary = salaryToUpdate.EmployeeSalary, FromDate = salaryToUpdate.FromDate, ToDate = salaryToUpdate.ToDate }; return(Ok(updatedSalary)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult GetSalariesByEmployeeNumber( [FromQuery] bool currentSalaries, [FromQuery] int page, [FromQuery] int pageSize, [FromQuery(Name = "sort")] string sort, [FromQuery(Name = "filter")] string filter, int empNo ) { try { page = (page <= 0) ? Constants.PageDefaultOffset : page; pageSize = (pageSize <= 0) ? Constants.PageDefaultLimit : pageSize; sort = sort ?? Constants.PageDefaultSort; filter = filter ?? Constants.SalaryModelDefaultFilter; List <SalaryModel> salaryModels = new List <SalaryModel>(); _salaryService .GetSalariesByFiltersAndEmployeeNumber(empNo, page, pageSize, sort, filter) .ToList() .ForEach(foundSalary => { SalaryModel s = new SalaryModel { Employee = foundSalary.Employee, EmployeeNumber = foundSalary.EmployeeNumber, EmployeeSalary = foundSalary.EmployeeSalary, FromDate = foundSalary.FromDate, ToDate = foundSalary.ToDate }; if (currentSalaries) { if (foundSalary.ToDate.Equals(Constants.DatabaseDefaultDate)) { salaryModels.Add(s); } } else { salaryModels.Add(s); } }); if (salaryModels.Count <= 0) { return(NoContent()); } return(Ok(salaryModels)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult SearchSalaries( [FromQuery(Name = "page")] int page, [FromQuery(Name = "pageSize")] int pageSize, [FromQuery(Name = "sort")] string sort, [FromQuery(Name = "filter")] string filter, [FromQuery(Name = "searchString")] string searchString ) { try { page = (page <= 0) ? Constants.PageDefaultOffset : page; pageSize = (pageSize <= 0) ? Constants.PageDefaultLimit : pageSize; sort = sort ?? Constants.PageDefaultSort; filter = filter ?? Constants.SalaryModelDefaultFilter; List <SalaryModel> salaryList = new List <SalaryModel>(); _salaryService .GetSalaries() .Where(s => s.EmployeeNumber.ToString().Contains(searchString) || s.EmployeeSalary.ToString().Contains(searchString) || s.FromDate.Day.ToString().Contains(searchString) || s.FromDate.Month.ToString().Contains(searchString) || s.FromDate.Year.ToString().Contains(searchString) || s.ToDate.Day.ToString().Contains(searchString) || s.ToDate.Month.ToString().Contains(searchString) || s.ToDate.Year.ToString().Contains(searchString) ) .AsQueryable() .OrderByDynamic(filter, sort) .Skip(page * pageSize) .Take(pageSize) .ToList() .ForEach(s => { SalaryModel salary = new SalaryModel { Employee = s.Employee, EmployeeNumber = s.EmployeeNumber, EmployeeSalary = s.EmployeeSalary, FromDate = s.FromDate, ToDate = s.ToDate }; salaryList.Add(salary); }); return(Ok(salaryList)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
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 GetAllEmployees( [FromQuery(Name = "page")] int page, [FromQuery(Name = "pageSize")] int pageSize, [FromQuery(Name = "sort")] string sort, [FromQuery(Name = "filter")] string filter ) { try { page = (page <= 0) ? Constants.PageDefaultOffset : page; pageSize = (pageSize <= 0) ? Constants.PageDefaultLimit : pageSize; sort = sort ?? Constants.PageDefaultSort; filter = filter ?? Constants.EmployeeModelDefaultFilter; List <EmployeeModel> employeeList = new List <EmployeeModel>(); _employeeService.GetEmployeesByFilters(page, pageSize, sort, filter) .ToList() .ForEach(e => { EmployeeModel employee = new EmployeeModel { EmployeeNumber = e.EmployeeNumber, FirstName = e.FirstName, LastName = e.LastName, EmployeeGender = e.Gender, BirthDate = e.BirthDate, HireDate = e.HireDate }; employeeList.Add(employee); }); if (employeeList.Count <= 0) { return(NoContent()); } return(Ok(employeeList)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult GetAllSalaries( [FromQuery(Name = "page")] int page, [FromQuery(Name = "pageSize")] int pageSize, [FromQuery(Name = "sort")] string sort, [FromQuery(Name = "filter")] string filter ) { try { page = (page <= 0) ? Constants.PageDefaultOffset : page; pageSize = (pageSize <= 0) ? Constants.PageDefaultLimit : pageSize; sort = sort ?? Constants.PageDefaultSort; filter = filter ?? Constants.SalaryModelDefaultFilter; List <SalaryModel> salaryList = new List <SalaryModel>(); _salaryService.GetSalariesByFilters(page, pageSize, sort, filter) .ToList() .ForEach(foundSalary => { SalaryModel s = new SalaryModel { Employee = foundSalary.Employee, EmployeeNumber = foundSalary.EmployeeNumber, EmployeeSalary = foundSalary.EmployeeSalary, FromDate = foundSalary.FromDate, ToDate = foundSalary.ToDate }; salaryList.Add(s); }); if (salaryList.Count <= 0) { return(NoContent()); } return(Ok(salaryList)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult GetAllTitles( [FromQuery(Name = "page")] int page, [FromQuery(Name = "pageSize")] int pageSize, [FromQuery(Name = "sort")] string sort, [FromQuery(Name = "filter")] string filter ) { try { page = (page <= 0) ? Constants.PageDefaultOffset : page; pageSize = (pageSize <= 0) ? Constants.PageDefaultLimit : pageSize; sort = sort ?? Constants.PageDefaultSort; filter = filter ?? Constants.TitleModelDefaultFilter; List <TitleModel> titleList = new List <TitleModel>(); _titleService.GetTitlesByFilters(page, pageSize, sort, filter) .ToList() .ForEach(foundTitle => { TitleModel t = new TitleModel { Employee = foundTitle.Employee, EmployeeNumber = foundTitle.EmployeeNumber, EmployeeTitle = foundTitle.Title, FromDate = foundTitle.FromDate, ToDate = foundTitle.ToDate }; titleList.Add(t); }); if (titleList.Count <= 0) { return(NoContent()); } return(Ok(titleList)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult DeleteEmployeeByEmployeeNumber( int employeeNumber ) { try { int deleteCode = _employeeService.DeleteEmployee(employeeNumber); if (deleteCode <= 0) { return(NotFound(APIResponse.ApiNotFound())); } return(Ok()); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult DeleteSalary( int empNo, DateTime fromDate ) { try { int deleteCode = _salaryService.DeleteSalary(empNo, fromDate); if (deleteCode <= 0) { return(NotFound(APIResponse.ApiNotFound())); } return(Ok()); } 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 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 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))); } }
public IActionResult PutEmployee( int employeeNumber, [FromBody] EmployeeModel employee ) { try { Employee employeeToUpdate = new Employee { EmployeeNumber = employeeNumber, FirstName = employee.FirstName, LastName = employee.LastName, Gender = employee.EmployeeGender, BirthDate = employee.BirthDate, HireDate = employee.HireDate }; _employeeService.UpdateEmployee(employeeToUpdate); EmployeeModel updatedEmployee = new EmployeeModel { EmployeeNumber = employeeToUpdate.EmployeeNumber, FirstName = employeeToUpdate.FirstName, LastName = employeeToUpdate.LastName, EmployeeGender = employeeToUpdate.Gender, BirthDate = employeeToUpdate.BirthDate, HireDate = employeeToUpdate.HireDate }; return(Ok(updatedEmployee)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }
public IActionResult SearchEmployees( [FromQuery(Name = "page")] int page, [FromQuery(Name = "pageSize")] int pageSize, [FromQuery(Name = "filter")] string filter, [FromQuery(Name = "sort")] string sort, [FromQuery(Name = "searchString")] string searchString ) { try { page = (page <= 0) ? Constants.PageDefaultOffset : page; pageSize = (pageSize <= 0) ? Constants.PageDefaultLimit : pageSize; sort = sort ?? Constants.PageDefaultSort; filter = filter ?? Constants.EmployeeModelDefaultFilter; List <EmployeeModel> employeeList = new List <EmployeeModel>(); //IQueryable<Employee> myQuery = // _employeeService // .GetEmployeesQuery(); //if (true) //{ // myQuery = // myQuery // .Where(e => // e.FirstName.ToUpper().Contains(searchString.ToUpper()) // || e.LastName.ToUpper().Contains(searchString.ToUpper()) // || e.Gender.ToUpper().Contains(searchString.ToUpper()) // || (e.BirthDate.Year.ToString() + "-" + e.BirthDate.Month.ToString() + "-" + e.BirthDate.Day.ToString()).Contains(searchString) // || (e.HireDate.Year.ToString() + "-" + e.HireDate.Month.ToString() + "-" + e.HireDate.Day.ToString()).Contains(searchString) // ); //} //else //{ // //to do // myQuery = // myQuery // .Where(e => // e.FirstName.ToUpper().Contains(searchString.ToUpper()) // || e.LastName.ToUpper().Contains(searchString.ToUpper()) // || e.Gender.ToUpper().Contains(searchString.ToUpper()) // || (e.BirthDate.Year.ToString() + "-" + e.BirthDate.Month.ToString() + "-" + e.BirthDate.Day.ToString()).Contains(searchString) // || (e.HireDate.Year.ToString() + "-" + e.HireDate.Month.ToString() + "-" + e.HireDate.Day.ToString()).Contains(searchString) // ); //} //var a = 0; //employeeList = // myQuery // .Select(e => new EmployeeModel // { // EmployeeNumber = e.EmployeeNumber, // FirstName = e.FirstName, // LastName = e.LastName, // EmployeeGender = e.Gender, // BirthDate = e.BirthDate, // HireDate = e.HireDate // }) // .ToList(); //var b = 0; if (int.TryParse(searchString, out _)) { _employeeService .GetEmployees() .Where(e => e.EmployeeNumber.ToString().Contains(searchString) || (e.BirthDate.Year.ToString() + "-" + e.BirthDate.Month.ToString() + "-" + e.BirthDate.Day.ToString()).Contains(searchString) || (e.HireDate.Year.ToString() + "-" + e.HireDate.Month.ToString() + "-" + e.HireDate.Day.ToString()).Contains(searchString) ) .AsQueryable() .OrderByDynamic(filter, sort) .Skip(page * pageSize) .Take(pageSize) .ToList() .ForEach(e => { EmployeeModel employee = new EmployeeModel { EmployeeNumber = e.EmployeeNumber, FirstName = e.FirstName, LastName = e.LastName, EmployeeGender = e.Gender, BirthDate = e.BirthDate, HireDate = e.HireDate }; employeeList.Add(employee); }); } else { _employeeService .GetEmployees() .Where(e => e.FirstName.ToUpper().Contains(searchString.ToUpper()) || e.LastName.ToUpper().Contains(searchString.ToUpper()) || e.Gender.ToUpper().Contains(searchString.ToUpper()) || (e.BirthDate.Year.ToString() + "-" + e.BirthDate.Month.ToString() + "-" + e.BirthDate.Day.ToString()).Contains(searchString) || (e.HireDate.Year.ToString() + "-" + e.HireDate.Month.ToString() + "-" + e.HireDate.Day.ToString()).Contains(searchString) ) .AsQueryable() .OrderByDynamic(filter, sort) .Skip(page * pageSize) .Take(pageSize) .ToList() .ForEach(e => { EmployeeModel employee = new EmployeeModel { EmployeeNumber = e.EmployeeNumber, FirstName = e.FirstName, LastName = e.LastName, EmployeeGender = e.Gender, BirthDate = e.BirthDate, HireDate = e.HireDate }; employeeList.Add(employee); }); } return(Ok(employeeList)); } catch (Exception ex) { return(StatusCode(500, APIResponse.DefaultErrorMessage(ex.Message, 500))); } }