public List <Interview> ReadSurveydata(Guid id, int?start, int?numberOfRecords) { if (start == null && numberOfRecords != null || start != null && numberOfRecords == null) { throw new ArgumentException("Invalid paging arguments"); } List <Interview> allInterviews; // ReSharper disable once ConvertSwitchStatementToSwitchExpression switch (id.ToString()) { case SP5201Id: allInterviews = Sp5201.LoadAllInterviews(); break; //case PR9012Id: // allInterviews = PR9012_HOUSEHOLD.LoadAllInterviews(); //break; default: throw new ArgumentException($"Unrecognised survey id {id}"); } if (start > allInterviews.Count) { throw new ArgumentException($"Invalid paging arguments"); } return(allInterviews .Skip((start ?? 1) - 1) //-1 to convert 1-based start argument into zero based skip argument .Take(numberOfRecords ?? allInterviews.Count) .ToList()); }
public SurveyMetadata ReadSurveyMetadata(Guid id) { switch (id.ToString()) { case SP5201Id: return(Sp5201.ReadMetadata()); //case PR9012Id: // return PR9012_HOUSEHOLD.ReadMetadata(); default: throw new ArgumentException($"Unrecognised survey id {id}"); } }