internal IssueRegistrationStartedEventArgs(IssueRequest request) { Request = request; }
private IssueRequest PrepareIssueData(string sessionKey, string message, MessageIssueLevel issueLevel, string userHandle, IDictionary<string, string> data) { var issueType = new IssueTypeData { Message = message, InnerIssueTypes = null, StackTrace = null, Type = "Message", Data = data }; var issueData = new IssueRequest { UserHandle = userHandle, ClientTime = DateTime.UtcNow, IssueKey = Guid.NewGuid(), IssueThreadKey = null, IssueType = issueType, IssueLevel = issueLevel.ToString(), SessionKey = sessionKey, }; return issueData; }
private async Task<IssueResult> RegisterEx(bool doThrow, IssueRequest request) { if (string.IsNullOrEmpty(request.SessionKey)) throw new ArgumentException("No SessionKey has been assigned."); var result = new IssueResult(); IssueResponse response = null; try { OnIssueRegistrationStartedEvent(new IssueRegistrationStartedEventArgs(request)); response = await _sessionHandler.Client.WebApiClient.CreateAsync<IssueRequest, IssueResponse>("Client/Issue", request); } catch (Exception exception) { result.SetException(exception); _issuesThatFailedToRegister.Enqueue(new Tuple<IssueRequest, Exception>(request, exception)); if (doThrow) throw; } finally { result.SetCompleted(response); OnIssueRegistrationCompletedEvent(new IssueRegistrationCompletedEventArgs(request, result)); } return result; }
private IssueRequest PrepareIssueData(string sessionKey, Exception exception, ExceptionIssueLevel issueLevel, string userHandle) { var level = issueLevel.ToString(); var issueType = CreateIssueTypeData(exception); var issueData = new IssueRequest { IssueLevel = level, UserHandle = userHandle, ClientTime = DateTime.UtcNow, IssueKey = Guid.NewGuid(), IssueThreadKey = HandleIssueThreadKey(exception), IssueType = issueType, SessionKey = sessionKey, }; return issueData; }
internal IssueRegistrationCompletedEventArgs(IssueRequest request, IssueResult result) { Request = request; Result = result; }