public IActionResult PutDepartmentManager( string departmentNumber, int employeeNumber, [FromBody] DepartmentManagerModel department ) { DepartmentManager departmentToUpdate = new DepartmentManager { EmployeeNumber = employeeNumber, DepartmentNumber = departmentNumber, FromDate = department.FromDate, ToDate = department.ToDate }; _departmentManagerService.UpdateDepartmentManager(departmentToUpdate); DepartmentManagerModel updatedDepartment = new DepartmentManagerModel { EmployeeNumber = departmentToUpdate.EmployeeNumber, DepartmentNumber = departmentToUpdate.DepartmentNumber, FromDate = departmentToUpdate.FromDate, ToDate = departmentToUpdate.ToDate }; return(Ok(updatedDepartment)); }
public IActionResult GetAllDepartmentManagersByDepartmentNumber( [FromQuery(Name = "page")] int page, [FromQuery(Name = "pageSize")] int pageSize, [FromQuery(Name = "sort")] string sort, [FromQuery(Name = "filter")] string filter, [FromQuery(Name = "currentManagers")] bool currentManagers, string departmentNumber ) { page = (page <= 0) ? Constants.PageDefaultOffset : page; pageSize = (pageSize <= 0) ? Constants.PageDefaultLimit : pageSize; sort = sort ?? Constants.PageDefaultSort; filter = filter ?? Constants.DepartmentManagerDefaultFilter; List <DepartmentManagerModel> departmentList = new List <DepartmentManagerModel>(); _departmentManagerService.GetDepartmentManagerByDepartmentNumber(departmentNumber) .Where(e => { if (currentManagers) { return(e.ToDate.Equals(Constants.DatabaseDefaultDate)); } else { return(true); } }) .AsQueryable() .OrderByDynamic(filter, sort) .Skip(page * pageSize) .Take(pageSize) .ToList() .ForEach(d => { DepartmentManagerModel department = new DepartmentManagerModel { EmployeeNumber = d.EmployeeNumber, DepartmentNumber = d.DepartmentNumber, FromDate = d.FromDate, ToDate = d.ToDate }; departmentList.Add(department); }); if (departmentList.Count <= 0) { return(NoContent()); } return(Ok(departmentList)); }
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))); } }