public ICollection <VersionInfo> GetPagedVersionList(Department department, VersionStatus status, out long totalCount, int pageNumber = 1, int pageSize = 20) { ICollection <Department> departments = new List <Department>(); if (department != Department.All) { departments.Add(department); } else { departments = new List <Department>() { Department.BPO, Department.ESB, Department.FanYou, Department.FYU, Department.HaoTian }; } ICollection <VersionStatus> statusList = new List <VersionStatus>(); if (status != VersionStatus.Undefined) { statusList.Add(status); } else { statusList = new List <VersionStatus>() { VersionStatus.unaudited, VersionStatus.audited }; } totalCount = repo.GetVersionsCount(departments, statusList); return(repo.GetPagedVersions(departments, statusList, pageNumber, pageSize)); }