private void MessageTimeline_OnReply(TextBox textBox, MessageManager mm) { //Prevent refresh from re-submitting form data if (Session["CheckRefresh"].ToString() == ViewState["CheckRefresh"].ToString()) { Session["CheckRefresh"] = Server.UrlDecode(System.DateTime.Now.ToString()); } else { //Catch refresh and wipe the value again Session["CheckRefresh"] = Server.UrlDecode(System.DateTime.Now.ToString()); textBox.Text = String.Empty; return; } MessageTimeline.NoteTabActive = false; if (!String.IsNullOrWhiteSpace(textBox.Text.Trim())) { SQLDatabase sql = new SQLDatabase(); sql.CommandTimeout = 120; int rows = sql.NonQuery(@" INSERT INTO [tblFeedbackEvents] ( [FeedbackID], [FeedbackEventTypeID], [IsFromPlayer], [DateCreated], [Message], [NewStatusValue], [StaffMemberID] ) VALUES ( ( SELECT FeedbackID FROM [tblFeedbackRequests] WHERE [UID] = @UID ), 2, 0, GETDATE(), @Message, NULL, @UserID);" , new SQLParamList() .Add("@Message", textBox.Text.Trim()) .Add("@UID", GUID) .Add("@UserID", User.UserID)); if (!sql.HasError && rows == 1) { SurveyTools.SendFeedbackNotifications(Server, GUID, true); mm.SuccessMessage = "Reply sent!"; textBox.Text = String.Empty; int feedbackStatus = sql.QueryScalarValue <int>("SELECT [FeedbackStatusID] FROM [tblFeedbackRequests] WHERE [UID] = @UID", new SQLParamList().Add("@UID", GUID)); if (feedbackStatus == (int)FeedbackStatus.Open) { sql.ExecStoredProcedureDataTable("spFeedback_ChangeStatus", new SQLParamList() .Add("@UID", GUID) .Add("@FeedbackStatusID", (int)FeedbackStatus.AwaitingGuestResponse) .Add("@IsFromPlayer", false) .Add("@UserID", User.UserID)); } } else { mm.ErrorMessage = "Oops! It looks like something went wrong. Please check the timeline and verify that the message was added."; } } else { mm.ErrorMessage = "Please enter something into the message box."; } }