public async Task <GetFamiliesResponse> GetFamilies(int page = 1, int resultsPerPage = 20) { // Authorize user // Validate input if (resultsPerPage <= 0) { resultsPerPage = 20; } if (page <= 1) { page = 1; } // Execute business behaviour GetFamiliesResponse getFamiliesResponse = new GetFamiliesResponse(); FamilyModel[] families; families = await familyRepository.GetFamilies(page, resultsPerPage); getFamiliesResponse.Families = families; int familyCount = await familyRepository.GetFamiliesCount(); getFamiliesResponse.Pager.CurrentPage = page; getFamiliesResponse.Pager.ResultsPerPage = resultsPerPage; getFamiliesResponse.Pager.TotalResults = familyCount; getFamiliesResponse.Pager.TotalPages = familyCount / resultsPerPage + (familyCount % resultsPerPage > 0 ? 1 : 0); // Validate results // Validate data access rights // Return results return(getFamiliesResponse); }
public IList <Family> GetFamilies() { return(_familyRepository.GetFamilies()); }