/// <summary> /// Upload feedback. /// </summary> /// <param name="dto">Feedback provided by the user.</param> public void Upload(FeedbackDTO dto) { if (dto == null) { throw new ArgumentNullException("dto"); } if (_configuration.QueueReports) { _feedbackQueue.Add(dto); } else { UploadFeedbackNow(dto); } }
/// <summary> /// Invoke callbacks /// </summary> /// <param name="dto">Report to be uploaded.</param> /// <returns><c>false</c> if any of the callbacks return <c>false</c>; otherwise <c>true</c></returns> /// <remarks> /// <para> /// All callbacks will be invoked, even if one of them returns <c>false</c>. /// </para> /// </remarks> public void Upload(ErrorReportDTO dto) { if (dto == null) { throw new ArgumentNullException("dto"); } if (_configuration.QueueReports) { _reportQueue.Add(dto); } else { UploadReportNow(dto); } }
/// <summary> /// Send feedback for a previously submitted error report. /// </summary> /// <param name="feedback">Feedback to send</param> /// <remarks> /// <para> /// Will be queued internally (in memory) if the OS reports that there are no Internet connection available. /// </para> /// </remarks> public void UploadFeedback(FeedbackDTO feedback) { if (feedback == null) { throw new ArgumentNullException("feedback"); } if (!NetworkInterface.GetIsNetworkAvailable() || _queueReportsAccessor()) { _feedbackQueue.Add(feedback); } else { TryUploadFeedbackNow(feedback); } }
/// <summary> /// Upload the report to the web service. /// </summary> /// <param name="report">CreateReport to submit</param> public void UploadReport(ErrorReportDTO report) { if (report == null) { throw new ArgumentNullException("report"); } if (!NetworkInterface.GetIsNetworkAvailable() || _queueReportsAccessor()) { _reportQueue.Add(report); } else { TryUploadReportNow(report); } }