//delegate void EndInvokeDelegate(IAsyncResult result); // ************************************** // LogUserEvent: UserActionEvent // ************************************** public static void LogUserEvent(UserActions action) { var user = Account.User(); if (SystemConfig.LogUserActions && user != null) { var actionEvent = new UserActionEvent() { UserActionId = (int)action, UserId = user.UserId, UserActionEventDate = DateTime.Now, SessionId = CurrentSessionId() }; LogActionEventDelegate<UserActionEvent> logActionEventDelegate = new LogActionEventDelegate<UserActionEvent>(LogEvent); logActionEventDelegate.BeginInvoke(actionEvent, null, null); } }
// ************************************** // LogUserEvent: ContentActionEvent // ************************************** public static void LogContentEvent(ContentActions action, int contentId) { if (SystemConfig.LogUserContentActions) { var actionEvent = new ContentActionEvent() { ContentActionId = (int)action, ContentId = contentId, UserId = Account.User().UserId, ContentActionEventDate = DateTime.Now, SessionId = CurrentSessionId() }; LogActionEventDelegate<ContentActionEvent> logActionEventDelegate = new LogActionEventDelegate<ContentActionEvent>(LogEvent); logActionEventDelegate.BeginInvoke(actionEvent, null, null); } }
// ************************************** // LogUserEvent: ContentActionEvent // ************************************** public static void LogSearchEvent(SearchActions action, string searchTerms, int resultsCount) { var actionEvent = new SearchEvent() { SearchActionId = (int)action, UserId = Account.User().UserId, SearchEventDate = DateTime.Now, SessionId = CurrentSessionId(), QueryString = searchTerms, ResultCount = resultsCount }; LogActionEventDelegate<SearchEvent> logActionEventDelegate = new LogActionEventDelegate<SearchEvent>(LogEvent); logActionEventDelegate.BeginInvoke(actionEvent, null, null); }