Exemple #1
0
        private static IssueData PrepareIssueData(string message, MessageIssueLevel issueLevel, bool?visibleToUser, string userHandle, string userInput, IDictionary <string, string> data)
        {
            var issueType = new IssueType(message, issueLevel.ToIssueLevel());
            var issueData = new IssueData(Guid.NewGuid(), DateTime.UtcNow, Session.GetSessionData(), visibleToUser, data, issueType, Guid.NewGuid(), userHandle, userInput);

            return(issueData);
        }
Exemple #2
0
 public void RegisterStart(string message, MessageIssueLevel issueLevel, string userHandle = null, IDictionary<string, string> data = null)
 {
     Task.Run(async () =>
         {
             var sessionKey = await _sessionHandler.GetSessionKeyAsync();
             var issueData = PrepareIssueData(sessionKey, message, issueLevel, userHandle, data);
             await RegisterEx(false, issueData);
         });
 }
Exemple #3
0
        public static void BeginRegister(string message, MessageIssueLevel issueLevel, bool?visibleToUser = null, string userHandle = null, string userInput = null, IDictionary <string, string> data = null, Action <RegisterCompleteEventArgs> completeAction = null)
        {
            if (!Configuration.Enabled)
            {
                return;
            }
            Func <IssueData> issueData = () => PrepareIssueData(message, issueLevel, visibleToUser, userHandle, userInput, data);

            BeginRegisterEx(issueData, completeAction);
        }
Exemple #4
0
 public IssueResult Register(string message, MessageIssueLevel issueLevel, string userHandle = null, IDictionary<string, string> data = null)
 {
     try
     {
         var sessionKey = _sessionHandler.GetSessionKeyAsync().Result;
         var issueData = PrepareIssueData(sessionKey, message, issueLevel, userHandle, data);
         var response = RegisterEx(true, issueData).Result;
         return response;
     }
     catch (AggregateException exception)
     {
         throw exception.InnerException;
     }
 }
Exemple #5
0
        public static IssueResponse Register(string message, MessageIssueLevel issueLevel, bool?visibleToUser = null, string userHandle = null, string userInput = null, IDictionary <string, string> data = null)
        {
            if (!Configuration.Enabled)
            {
                return(null);
            }
            var issueData = PrepareIssueData(message, issueLevel, visibleToUser, userHandle, userInput, data);
            var response  = RegisterEx(issueData, null);

            if (!response.Success)
            {
                throw new InvalidOperationException("Unable to register exception. Look at inner exception for details.", response.Exception);
            }

            return(response.IssueResponse);
        }
Exemple #6
0
 public async Task<IssueResult> RegisterAsync(string message, MessageIssueLevel issueLevel, string userHandle = null, IDictionary<string, string> data = null)
 {
     var sessionKey = await _sessionHandler.GetSessionKeyAsync();
     var issueData = PrepareIssueData(sessionKey, message, issueLevel, userHandle, data);
     return await RegisterEx(true, issueData);
 }
Exemple #7
0
        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;
        }
 public async static Task <IssueResponse> RegisterASync(string message, MessageIssueLevel issueLevel, bool?visibleToUser = null, string userHandle = null, string userInput = null, IDictionary <string, string> data = null)
 {
     return(await Task <IssueResponse> .Factory.StartNew(() => Register(message, issueLevel, visibleToUser, userHandle, userInput, data)));
 }