public async Task <IActionResult> GetAllDepartmentsAsync(int page = 1) { int pageSize = 3; try { var departments = await _departmentProvider.GetAllDepartmentsAsync(); var count = departments.Count; var items = departments.Skip((page - 1) * pageSize).Take(pageSize).ToList(); PageViewModel pageViewModel = new PageViewModel(count, page, pageSize); DepartmentsPageViewModel departmentViewModel = new DepartmentsPageViewModel { PageViewModel = pageViewModel, Departments = items }; return(Ok(departmentViewModel)); } catch (Exception) { return(StatusCode(500)); } }