public void InitializeMessages(int zchatsession, string connectionString, string searchString = "") { SQLiteConnection connection = new SQLiteConnection(connectionString); string queryString = "select z_pk from zwamessage where zchatsession = " + zchatsession.ToString() + " order by zmessagedate asc"; if (searchString != "") { //search performed! // hopefully nobody tries anything funny here queryString = "select z_pk from zwamessage where ztext like \"" + searchString+ "\" order by zmessagedate asc"; } SQLiteCommand command = new SQLiteCommand(queryString, connection); lvMessageView.Items.Clear(); try { connection.Open(); SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) { WAMessage currentMessage = new WAMessage(Convert.ToInt32(reader[0]), connectionString); WAGroupMember messageOwner = new WAGroupMember(currentMessage.ZGROUPMEMBER, connectionString); ListViewItem currentListViewItem; if (currentMessage.ZISFROMME == 1) { currentListViewItem = new ListViewItem("WhatsApp Owner"); } else { string messageOwnerName = ""; // appending again somehow fixes the blank string problem messageOwnerName += messageOwner.ZCONTACTNAME; //if (messageOwnerName.Length == 0 && IsGroupMessage == false) //{ // //messageOwnerName = "Hello"; //} //hackish but works bool isNotOwner = true; if (messageOwnerName.Length == 0) { messageOwnerName = this.Text; isNotOwner = true; } currentListViewItem = new ListViewItem(messageOwnerName); //really wtf? if (isNotOwner) { currentListViewItem.BackColor = Color.Wheat; } } currentListViewItem.SubItems.Add(currentMessage.ZTEXT); currentListViewItem.SubItems.Add(MiscHelper.HandleWeirdEpochAddTimezoneInformation(currentMessage.ZMESSAGEDATE)); string eventType = ""; if (currentMessage.Z_GROUPEVENTTYPE == 0) { eventType = "Message"; } else if (currentMessage.Z_GROUPEVENTTYPE == 1) { eventType = "Group Creation"; } else if (currentMessage.Z_GROUPEVENTTYPE == 2) { eventType = "Joined Group"; } else if (currentMessage.Z_GROUPEVENTTYPE == 3) { eventType = "Left Group"; } else { eventType = "Unknown (" + currentMessage.Z_GROUPEVENTTYPE.ToString() + ")"; } currentListViewItem.SubItems.Add(eventType); lvMessageView.Items.Add(currentListViewItem); } reader.Close(); } catch (Exception ex) { // oh no } }
private void lbConversationList_SelectedIndexChanged(object sender, EventArgs e) { if (lbConversationList.Items.Count == 0) { return; } SQLiteConnection connection = new SQLiteConnection(connectionString); SQLiteCommand command = new SQLiteCommand("select * from zwachatsession order by zlastmessagedate desc limit 1 offset " + lbConversationList.SelectedIndex.ToString(), connection); try { connection.Open(); SQLiteDataReader reader = command.ExecuteReader(); string result = ""; while (reader.Read()) { WAMessage getLastMessage = new WAMessage(Convert.ToInt32(reader[8]), connectionString); if (reader[7].ToString().Length != 0) { CreateOrRemakeGroupMembersView(); groupMembersView.ClearListOfUsersInGroup(); groupMembersView.Text = "Group members for " + reader[13].ToString(); groupMembersView.DrawListOfUsersInGroup(Convert.ToInt32(reader[0]), connectionString); selectedConversationIsGroup = true; } else { CreateOrRemakeGroupMembersView(); groupMembersView.ClearListOfUsersInGroup(); groupMembersView.Text = reader[13].ToString() + " - not a group."; selectedConversationIsGroup = false; } selectedConversationPk = Convert.ToInt32(reader[0]); result = reader[13].ToString() + "\r\n" // Partner Name + reader[0].ToString() + "\r\n" // ? + reader[1].ToString() + "\r\n" // ? + reader[2].ToString() + "\r\n" // ? + reader[3].ToString() + "\r\n" // Contact ID (0 for group) + reader[7].ToString() + "\r\n" // Group Info - empty if contact + reader[4].ToString() + "\r\n" // Deleted + reader[5].ToString() + "\r\n" // Number of messages + reader[6].ToString() + "\r\n" // Number of unread messages + reader[9].ToString() + "\r\n" // Properties + "\r\n" //+ reader[10].ToString() + "\r\n" // Last Message Date + reader[11].ToString() + "\r\n" // Contact Jabber ID + reader[12].ToString() + "\r\n" // Last Message Text + reader[14].ToString() + "\r\n\r\n" // Saved input + getLastMessage.ZPUSHNAME + "\r\n" // Last Message + getLastMessage.ZISFROMME + "\r\n" // Last Message + getLastMessage.ZTEXT; // Last Message } reader.Close(); txtDetailDescription.Text = result; } catch (Exception ex) { MessageBox.Show("Error while opening database: " + ex.Message); } }
public void InitializeMessages(int zchatsession, string connectionString, string searchString = "") { SQLiteConnection connection = new SQLiteConnection(connectionString); string queryString = "select z_pk from zwamessage where zchatsession = " + zchatsession.ToString() + " order by zmessagedate asc"; if (searchString != "") { //search performed! // hopefully nobody tries anything funny here queryString = "select z_pk from zwamessage where ztext like \"" + searchString + "\" order by zmessagedate asc"; } SQLiteCommand command = new SQLiteCommand(queryString, connection); lvMessageView.Items.Clear(); try { connection.Open(); SQLiteDataReader reader = command.ExecuteReader(); while (reader.Read()) { WAMessage currentMessage = new WAMessage(Convert.ToInt32(reader[0]), connectionString); WAGroupMember messageOwner = new WAGroupMember(currentMessage.ZGROUPMEMBER, connectionString); ListViewItem currentListViewItem; if (currentMessage.ZISFROMME == 1) { currentListViewItem = new ListViewItem("WhatsApp Owner"); } else { string messageOwnerName = ""; // appending again somehow fixes the blank string problem messageOwnerName += messageOwner.ZCONTACTNAME; //if (messageOwnerName.Length == 0 && IsGroupMessage == false) //{ // //messageOwnerName = "Hello"; //} //hackish but works bool isNotOwner = true; if (messageOwnerName.Length == 0) { messageOwnerName = this.Text; isNotOwner = true; } currentListViewItem = new ListViewItem(messageOwnerName); //really wtf? if (isNotOwner) { currentListViewItem.BackColor = Color.Wheat; } } currentListViewItem.SubItems.Add(currentMessage.ZTEXT); currentListViewItem.SubItems.Add(MiscHelper.HandleWeirdEpochAddTimezoneInformation(currentMessage.ZMESSAGEDATE)); string eventType = ""; if (currentMessage.Z_GROUPEVENTTYPE == 0) { eventType = "Message"; } else if (currentMessage.Z_GROUPEVENTTYPE == 1) { eventType = "Group Creation"; } else if (currentMessage.Z_GROUPEVENTTYPE == 2) { eventType = "Joined Group"; } else if (currentMessage.Z_GROUPEVENTTYPE == 3) { eventType = "Left Group"; } else { eventType = "Unknown (" + currentMessage.Z_GROUPEVENTTYPE.ToString() + ")"; } currentListViewItem.SubItems.Add(eventType); lvMessageView.Items.Add(currentListViewItem); } reader.Close(); } catch (Exception ex) { // oh no } }