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(); }
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); }