/// <summary>
/// Retrieve list item from server.
/// </summary>
/// <param name="request">The retrieve condition.</param>
/// <returns>The response from server.</returns>
public object RetrieveListItem(Request request)
{
HttpWebResponse response = this.service.SendMessage(HttpMethod.GET, request);
if (request.Parameter.Contains("$count"))
{
string count = AdapterHelper.GetResponseContent(response.GetResponseStream());
this.CaptureTransportRelatedRequirements();
return(count);
}
else if (request.Parameter.Contains("$metadata"))
{
XmlDocument doc = AdapterHelper.GetXmlData(response);
SchemaValidation.ValidateXml(this.Site, doc.OuterXml);
this.ValidateRetrieveCSDLDocument(doc);
return(doc);
}
else
{
XmlDocument doc = AdapterHelper.GetXmlData(response);
SchemaValidation.ValidateXml(this.Site, doc.OuterXml);
this.CaptureTransportRelatedRequirements();
this.ValidateAndCaptureSchemaValidation();
return(AdapterHelper.AnalyseResponse(doc));
}
}