public async Task<DateTime?> GetTimestampOfPackageFromResponse(string url, string propertyName, string packageId, string version = "1.0.0")
{
WriteLine($"Getting '{propertyName}' timestamp of package '{packageId}' with version '{version}'.");
var packageResponse = await GetPackageDataInResponse(url, packageId, version);
if (string.IsNullOrEmpty(packageResponse))
{
return null;
}
var timestampStartTag = "<d:" + propertyName + " m:type=\"Edm.DateTime\">";
var timestampEndTag = "</d:" + propertyName + ">";
var timestampTagIndex = packageResponse.IndexOf(timestampStartTag);
if (timestampTagIndex < 0)
{
WriteLine($"Package data does not contain '{propertyName}' timestamp!");
return null;
}
var timestampStartIndex = timestampTagIndex + timestampStartTag.Length;
var timestampLength = packageResponse.Substring(timestampStartIndex).IndexOf(timestampEndTag);
var timestamp =
DateTime.Parse(packageResponse.Substring(timestampStartIndex, timestampLength));
WriteLine($"'{propertyName}' timestamp of package '{packageId}' with version '{version}' is '{timestamp}'");
return timestamp;
}