Exemple #1
0
        public async Task <IAuditReportResponse> RetrieveAuditReportResults(AuditReport report, int?offset = null, int?count = null)
        {
            if (report == null)
            {
                throw new ArgumentNullException(nameof(report));
            }

            var uriBuilder  = BuildUri(AuditReportMethod + $"/json/{report.Id}", GetResultQuery(offset, count));
            var httpRequest = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);

            switch (report.Report)
            {
            case AuditReportEnum.Login:
                var serviceHandlerLogin = new ServiceHandler <LoginAuditReportResponse>(httpClient);
                var responseLogin       = await serviceHandlerLogin.SendRequestAsync(httpRequest).ConfigureAwait(false);

                return(responseLogin.Data);

            case AuditReportEnum.File:
                var serviceHandlerFile = new ServiceHandler <FileAuditReportResponse>(httpClient);
                var responseFile       = await serviceHandlerFile.SendRequestAsync(httpRequest).ConfigureAwait(false);

                return(responseFile.Data);

            default:
                break;
            }

            throw new NotSupportedException();
        }
Exemple #2
0
        public async Task <IAuditReportResponse> CheckAuditReportStatus(AuditReport report)
        {
            if (report == null)
            {
                throw new ArgumentNullException(nameof(report));
            }

            var json = await CheckAuditReportStatus(report.Id);

            if (json.StartsWith("{\"status\""))
            {
                return(JsonConvert.DeserializeObject <AuditReportStatusResponse>(json));
            }

            switch (report.Report)
            {
            case AuditReportEnum.Login:
                return(JsonConvert.DeserializeObject <LoginAuditReportResponse>(json));

            case AuditReportEnum.File:
                return(JsonConvert.DeserializeObject <FileAuditReportResponse>(json));

            default:
                break;
            }

            return(null);
        }