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 } }
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 } }