// 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)));
        }
Beispiel #2
0
        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)));
        }