// Builds SOAP request body for getting a list of available files public static XElement GetDownloadFileListRequest(string customerId, DateTime timestamp, string fileType, DateTime?startDate, DateTime?endDate, Status status, Environment environment, string softwareId, int requestId, X509Certificate2 certificate, Dictionary <string, XNamespace> namespaces) { var applicationRequest = GetFileListApplicationRequest(customerId, timestamp, environment, softwareId, fileType, startDate, endDate, status, namespaces); var requestBase64 = SignApplicationRequestAndReturnAsBase64(applicationRequest, certificate); var requestHeader = GetRequestHeader(customerId, requestId, timestamp, softwareId, namespaces); return(new XElement(namespaces["cor"] + "downloadFileListin", requestHeader, new XElement(namespaces["mod"] + "ApplicationRequest", requestBase64))); }
public static string GetDownloadFileListMessage(X509Certificate2 certificate, string customerId, string fileType, DateTime?startDate, DateTime?endDate, Status status, Environment environment, int requestId) { var timestamp = DateTime.Now; var soapBodyContent = Helper.GetDownloadFileListRequest( customerId: customerId, timestamp: timestamp, fileType: fileType, startDate: startDate, endDate: endDate, status: status, environment: environment, softwareId: SoftwareId, requestId: requestId, certificate: certificate, namespaces: Namespaces); var soapRequestDocument = Helper.GetSoapRequestXmlDocument(certificate, soapBodyContent, timestamp, Namespaces); return(soapRequestDocument.OuterXml); }
// Creates application request for getting a list of available files private static XElement GetFileListApplicationRequest(string customerId, DateTime timestamp, Environment environment, string softwareId, string fileType, DateTime?startDate, DateTime?endDate, Status status, Dictionary <string, XNamespace> namespaces) { var properties = new List <XElement> { new XElement(namespaces["dat"] + "CustomerId", customerId), new XElement(namespaces["dat"] + "Timestamp", timestamp), startDate.HasValue ? new XElement(namespaces["dat"] + "StartDate", startDate.Value.ToString("yyyy-MM-dd")) : null, endDate.HasValue ? new XElement(namespaces["dat"] + "EndDate", endDate.Value.ToString("yyyy-MM-dd")) : null, new XElement(namespaces["dat"] + "Status", status.ToString()), new XElement(namespaces["dat"] + "Environment", environment.ToString()), new XElement(namespaces["dat"] + "SoftwareId", softwareId), !string.IsNullOrEmpty(fileType) ? new XElement(namespaces["dat"] + "FileType", fileType) : null }; return(new XElement(namespaces["dat"] + "ApplicationRequest", properties.Where(p => p != null))); }