public void SendAnonymousReportAsync(Exception exception, string toEmail, Guid? applicationId) { _sendRequestState = new SendRequestState { AnonymousData = new AnonymousData { Exception = exception, ToEmail = toEmail, ApplicationID = applicationId } }; _uploader.SendAnonymousReportCompleted += OnSendAnonymousReportCompleted; _uploader.SendAnonymousReportAsync(SendRequestState.GetClientLib(), _sendRequestState.GetApplication(), _sendRequestState.GetExceptionDescription(anonymous: true), _sendRequestState); }
public void SendAnonymousReportAsync(Exception exception, string toEmail, Guid?applicationId) { _sendRequestState = new SendRequestState { AnonymousData = new AnonymousData { Exception = exception, ToEmail = toEmail, ApplicationID = applicationId } }; _uploader.SendAnonymousReportCompleted += OnSendAnonymousReportCompleted; _uploader.SendAnonymousReportAsync(SendRequestState.GetClientLib(), _sendRequestState.GetApplication(), _sendRequestState.GetExceptionDescription(anonymous: true), _sendRequestState); }
private void SendAdditionalDataAsync(Control control, SendRequestState sendRequestState) { SendRequestCompletedEventArgs e; try { var res = sendRequestState.SendAnonymousReportResult; if (res.Error != null || res.Cancelled) { e = new SendRequestCompletedEventArgs(null, res.Error, res.Cancelled); } else { Response response = res.Result; var errorResponse = response as ErrorResponse; if (errorResponse != null) { throw new Exception(errorResponse.Error); } if (response is NeedReportResponse) { _uploader.SendAdditionalDataCompleted += OnSendAdditionalDataCompleted; _uploader.SendAdditionalDataAsync(response.Context, sendRequestState.GetDetailedExceptionDescription(), sendRequestState); return; } e = new SendRequestCompletedEventArgs(response, null, false); } } catch (Exception ex) { e = new SendRequestCompletedEventArgs(null, ex, false); } if (SendRequestCompleted != null) { if (control != null) { control.BeginInvoke(SendRequestCompleted, new object[] { this, e }); } else { SendRequestCompleted.Invoke(this, e); } } }
public string SendReportSilently(Exception exception, string toEmail, Guid?applicationId, string developerMessage, string from, string userMessage, byte[] screenshot) { _sendRequestState = new SendRequestState { AnonymousData = new AnonymousData { Exception = exception, ToEmail = toEmail, ApplicationID = applicationId }, PrivateData = new PrivateData { UserEmail = from, UserMessage = userMessage, DeveloperMessage = developerMessage, Screenshot = screenshot } }; var response = _uploader.SendAnonymousReport(SendRequestState.GetClientLib(), _sendRequestState.GetApplication(), _sendRequestState.GetExceptionDescription(true)); if (response is ErrorResponse errorResponse) { throw new Exception(errorResponse.Error); } if (response is NeedReportResponse) { var additionalDataResponse = _uploader.SendAdditionalData(response.Context, _sendRequestState.GetDetailedExceptionDescription()); if (additionalDataResponse is ErrorResponse errorAdditionalDataResponse) { throw new Exception(errorAdditionalDataResponse.Error); } return(additionalDataResponse.UrlToProblem); } return(response.UrlToProblem); }
private void SendAdditionalDataAsync(Control control, SendRequestState sendRequestState) { SendRequestCompletedEventArgs e; try { var res = sendRequestState.SendAnonymousReportResult; if (res.Error != null || res.Cancelled) { e = new SendRequestCompletedEventArgs(null, res.Error, res.Cancelled); } else { Response response = res.Result; var errorResponse = response as ErrorResponse; if (errorResponse != null) throw new Exception(errorResponse.Error); if (response is NeedReportResponse) { _uploader.SendAdditionalDataCompleted += OnSendAdditionalDataCompleted; _uploader.SendAdditionalDataAsync(response.Context, sendRequestState.GetDetailedExceptionDescription(), sendRequestState); return; } e = new SendRequestCompletedEventArgs(response, null, false); } } catch (Exception ex) { e = new SendRequestCompletedEventArgs(null, ex, false); } if (control != null) control.BeginInvoke(SendRequestCompleted, new object[] { this, e }); else SendRequestCompleted(this, e); }