private void button1_Click(object sender, EventArgs e) { if (LogicMy.AddChannel(textBox3, maskedTextBox2, maskedTextBox3, dateTimePicker1, dateTimePicker2, dateTimePicker3, checkBox1, textBox1, textBox2, textBox5)) { this.DialogResult = DialogResult.OK; } }
private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { dataGridView1.Columns[0].HeaderCell.SortGlyphDirection = SortOrder.None; if (e.ColumnIndex == 0) { LogicMy.SortChannelsIdColumn(dataGridView1, direction); direction = !direction; } //Иф нужный столбец. }
private void логинToolStripMenuItem_Click(object sender, EventArgs e) { using (DataMy dm = DataMy.GetInstanse()) { using (DataTable dtt = dm.GetTable("Cannels")) { DataRow dr = dtt.Select("id_cannels=" + dataGridView1.CurrentRow.Cells[0].Value.ToString()).FirstOrDefault(); LogicMy.ChekWALoginMy(dr, dm); UpdateGrid(); } } }
/// <summary> /// Метод для добавления каналов из специально созданной для этого формы. /// </summary> /// <param name="maskedTextBox1">TextBox C номером телефона</param> /// <param name="maskedTextBox2">Сегодня отправленно</param> /// <param name="maskedTextBox3">Всего отправленно</param> /// <param name="dateTimePicker1">Дата регистрации</param> /// <param name="dateTimePicker2">Последний раз авторизовался</param> /// <param name="dateTimePicker3">Дата блокировки канала</param> /// <param name="checkBox1">Активный ли канал</param> /// <param name="textBox1">Пароль</param> /// <param name="textBox2">Ник пользователя</param> /// <param name="textBox5">Ощибка пре авторизации</param> /// <returns>Возврашает true при успешном выполнени операции. Иначе ничего</returns> public static bool AddChannel(TextBox maskedTextBox1, MaskedTextBox maskedTextBox2, MaskedTextBox maskedTextBox3, DateTimePicker dateTimePicker1, DateTimePicker dateTimePicker2, DateTimePicker dateTimePicker3, CheckBox checkBox1, TextBox textBox1, TextBox textBox2, TextBox textBox5) { int dr = LogicMy.dtToUnix(dateTimePicker1.Value); int ll = LogicMy.dtToUnix(dateTimePicker2.Value); int?bd = LogicMy.dtToUnix(dateTimePicker3.Value); if (dateTimePicker3.Value.Date == DateTime.Now.Date) { bd = null; } Int32 i; Int32 j; if (!Int32.TryParse(maskedTextBox2.Text.Trim().Replace(" ", ""), out i)) { i = 0; } if (!Int32.TryParse(maskedTextBox3.Text.Trim().Replace(" ", ""), out j)) { j = 0; } Int32 k = 0; if (checkBox1.Checked) { k = 1; } using (DataMy dt = DataMy.GetInstanse()) { dt.InsertChannels( maskedTextBox1.Text.Trim(), textBox1.Text, textBox2.Text, i, j, dr, ll, bd, textBox5.Text, k); } return(true); }// Конец AddChannel
} // Конец UpdateDateBlock /// <summary> /// Обновление даты последнего обновления /// </summary> /// <param name="idChannels">Ади строки которую надо обновить</param> /// <param name="date">Юникс дата которую надо установить</param> public void UpdateDateLastLogin(int idChannels, int date) { string sql = "UPDATE Cannels SET Last_login=@Last_login WHERE Id_cannels = @Id_cannels"; try { SQLiteCommand mycommand = new SQLiteCommand(sql, connection); mycommand.Parameters.Add("@Last_login", DbType.Int32).Value = date; mycommand.Parameters.Add("@Id_cannels", DbType.Int32).Value = idChannels; ExecuteCommandMy(mycommand); } //try catch (Exception e) { connection.Close(); LogicMy.LogErorrMy(e, "DataMy.UpdateDateBlock(int idChannels, int date)"); } } // Конец UpdateDateBlock
} // Конец UpdateDateBlock /// <summary> /// Метод для обновления столбца Is_Activ /// </summary> /// <param name="idChannels">Айди строки которую нужно обновить</param> /// <param name="isActive">Значение которое нужно поставить в столбец Is_Active</param> public void UpdateIsActive(int idChannels, int isActive) { string sql = "UPDATE Cannels SET Is_active=@Is_active WHERE Id_cannels = @Id_cannels"; try { SQLiteCommand mycommand = new SQLiteCommand(sql, connection); mycommand.Parameters.Add("@Is_active", DbType.Int32).Value = isActive; mycommand.Parameters.Add("@Id_cannels", DbType.Int32).Value = idChannels; ExecuteCommandMy(mycommand); } //try catch (Exception e) { connection.Close(); LogicMy.LogErorrMy(e, "DataMy.UpdateIsActive(int idChannels, int isActive)"); } } // UpdateIsActive
} // UpdateChannels /// <summary> /// Обновить ошибку при соединении каналла в базе. /// </summary> /// <param name="idChannels">Айди каналла который надо обновить</param> /// <param name="ex">Ошибка которую надо записать в Login_error</param> public void UpdateEror(int idChannels, string ex) { string sql = "UPDATE Cannels SET Login_error=@Login_error WHERE Id_cannels = @Id_cannels"; try { SQLiteCommand mycommand = new SQLiteCommand(sql, connection); mycommand.Parameters.Add("@Login_error", DbType.String).Value = ex; mycommand.Parameters.Add("@Id_cannels", DbType.Int32).Value = idChannels; ExecuteCommandMy(mycommand); } //try catch (Exception e) { connection.Close(); LogicMy.LogErorrMy(e, "DataMy.UpdateEror(int idChannels, int isActive)"); } } // Конец UpdateEror
private void button9_Click(object sender, EventArgs e) { AddContakt.MyStruct m = new AddContakt.MyStruct(); if (dataGridView2.CurrentRow != null) { DataTable dtm = null; using (DataMy dt = DataMy.GetInstanse()) { dtm = dt.GetTable("group_contacts"); } int idContact = Convert.ToInt32(dataGridView2.CurrentRow.Cells[0].Value); var s = dtm.AsEnumerable(); var mm = from ss in s where ss["name_group"].ToString() == dataGridView2.CurrentRow.Cells[1].Value.ToString() select ss["id_group"]; var k = mm.FirstOrDefault(); if (k == null) { k = "0"; } m.id_group = Convert.ToInt32(k.ToString()); m.Date_reg = LogicMy.dtToUnix(Convert.ToDateTime(dataGridView2.CurrentRow.Cells[2].Value.ToString())); m.Name = dataGridView2.CurrentRow.Cells[4].Value.ToString(); m.Familiya = dataGridView2.CurrentRow.Cells[3].Value.ToString(); m.Date_of_birth = LogicMy.dtToUnix(Convert.ToDateTime(dataGridView2.CurrentRow.Cells[5].Value.ToString())); m.Phone = dataGridView2.CurrentRow.Cells[6].Value.ToString(); m.Email = dataGridView2.CurrentRow.Cells[7].Value.ToString(); m.Sex = dataGridView2.CurrentRow.Cells[8].Value.ToString(); m.Is_whats_app = dataGridView2.CurrentRow.Cells[9].Value.ToString().Trim() == "1" ? AddContakt.MyEnum.Yes : AddContakt.MyEnum.No; m.Subscrible = dataGridView2.CurrentRow.Cells[10].Value.ToString().Trim() == "1" ? AddContakt.MyEnum.Yes : AddContakt.MyEnum.No; m.coment = dataGridView2.CurrentRow.Cells[11].Value.ToString().Trim(); using (UpdateContacts uc = new UpdateContacts(idContact, m)) { if (uc.ShowDialog() == DialogResult.OK) { this.UpdateContactsGrid(); } } } else { MessageBox.Show("Выберите строку для редактирования!"); } }
private void button1_Click(object sender, EventArgs e) { MyStruct m = new MyStruct(); m.id_group = Convert.ToInt32(comboBox1.SelectedValue); m.Date_reg = LogicMy.dtToUnix(dateTimePicker1.Value); m.Name = textBox1.Text; m.Familiya = textBox2.Text; m.Date_of_birth = LogicMy.dtToUnix(dateTimePicker2.Value); m.Phone = textBox3.Text; m.Email = textBox4.Text; m.Sex = comboBox2.Text; m.Is_whats_app = comboBox3.Text == "Yes" ? MyEnum.Yes : MyEnum.No; m.Subscrible = comboBox4.Text == "Yes" ? MyEnum.Yes : MyEnum.No; m.coment = textBox5.Text; using (DataMy dt = DataMy.GetInstanse()) { dt.InsertContacts(m.id_group, m.Date_reg, m.Familiya, m.Name, m.Date_of_birth, m.Phone, m.Email, m.Sex, (int)m.Is_whats_app, (int)m.Subscrible, m.coment); } this.DialogResult = DialogResult.OK; }
} //SaveChannelsToFile /// <summary> ///Загрузка данных из файла в таблицу каналы БД /// </summary> public void LoadChannelsFromFile() { if (openFileDialog1.ShowDialog() == DialogResult.Cancel) { return; } if (openFileDialog1.FileName.ToString().ToLower().EndsWith(".wpsm")) { using (DataSet ds = new DataSet()) { ds.ReadXml(openFileDialog1.FileName); foreach (DataTable dbt in ds.Tables) { DataMy.LoadChannelsToDT(dbt); } } } // if (openFileDialog1.FileName.ToString().IndexOf(".wpsm")>0) if (openFileDialog1.FileName.ToString().ToLower().EndsWith(".csv")) { String[] f = File.ReadAllLines(openFileDialog1.FileName); using (DataTable dt = new DataTable()) { dt.Columns.Add("Number"); dt.Columns.Add("Password"); dt.Columns.Add("Today_send"); dt.Columns.Add("Total_send"); dt.Columns.Add("Date_register"); dt.Columns.Add("Is_active"); for (int i = 0; i < f.Length; ++i) { string[] sf = f[i].Split(','); dt.Rows.Add(sf[0], sf[1], 0, 0, LogicMy.dtToUnix(DateTime.Now), 0); } DataMy.LoadChannelsToDT(dt); } } //if (openFileDialog1.FileName.ToString().IndexOf(".csv") > 0) } //LoadChannelsFromFile
private void button13_Click(object sender, EventArgs e) { LogicMy.CheckChannels(progressBar1, dataGridView1); UpdateGrid(); progressBar1.Visible = false; }
private void button8_Click(object sender, EventArgs e) { LogicMy.DelFromGridInDb(dataGridView2, "Contacts"); UpdateContactsGrid(); }
} //Конец конструктора /// <summary> /// Метод для отображения таблицы каналлы на форме. /// </summary> /// <param name="lAll">Текстовая меткая для отображения общего количества каналлнов</param> /// <param name="lActive">Метка для отображения количества активных каналов</param> /// <param name="lLocked">Метка для отображения количества заблокированных каналов</param> /// <param name="cb">Чекбокс для потверждения отображения только заблокированных каналов</param> public void ChannelsGridFiller(Label lAll, Label lActive, Label lLocked, CheckBox cb) { //var m = this.dt.Select().Where(x => x["is_active"].ToString().Trim() == "0"); int activ = 0, loked = 0; lAll.Text = String.Format("Всего: {0}", this.dg.RowCount); dg.Columns[0].Name = "Айди"; dg.Columns[0].SortMode = DataGridViewColumnSortMode.Programmatic; dg.Columns[1].Name = "Активный"; dg.Columns[2].Name = "Номер"; dg.Columns[3].Name = "Пароль"; dg.Columns[4].Name = "Ник"; dg.Columns[5].Name = "Сегодня отправленно сообщений"; dg.Columns[6].Name = "Всего отправленно сообщений"; dg.Columns[7].Name = "Дата регистрации"; dg.Columns[8].Name = "Последний раз заходил"; dg.Columns[9].Name = "Дата блокировки"; dg.Columns[10].Name = "Ошибка при аутентификации"; dg.Columns.Remove("Активный"); DataGridViewCheckBoxColumn dgC = new DataGridViewCheckBoxColumn(); dgC.Name = "Активный"; dg.Columns.Insert(1, dgC); for (int i = 1; i < 11; ++i) { dg.Columns[i].SortMode = DataGridViewColumnSortMode.Automatic; } for (int i = 0; i < this.dg.Rows.Count; ++i) { if (this.dt.Rows[i]["Is_active"].ToString() == "1") { this.dg.Rows[i].Cells["Активный"].Value = CheckState.Checked; ++activ; this.dg.Rows[i].DefaultCellStyle = new DataGridViewCellStyle() { BackColor = Color.FromArgb(255, 255, 255) }; this.dg.Rows[i].Visible = !cb.Checked; } if (this.dt.Rows[i]["Is_active"].ToString() == "0" || this.dt.Rows[i]["Is_active"].ToString() == "") { this.dg.Rows[i].Cells["Активный"].Value = CheckState.Unchecked; ++loked; this.dg.Rows[i].DefaultCellStyle = new DataGridViewCellStyle() { BackColor = Color.FromArgb(255, 150, 150) }; this.dg.Rows[i].Visible = true; } this.dg.Rows[i].Cells["Айди"].Value = this.dt.Rows[i]["Id_cannels"].ToString(); this.dg.Rows[i].Cells["Номер"].Value = this.dt.Rows[i]["Number"].ToString(); this.dg.Rows[i].Cells["Пароль"].Value = this.dt.Rows[i]["Password"].ToString(); this.dg.Rows[i].Cells["Ник"].Value = this.dt.Rows[i]["Nick_name"].ToString(); this.dg.Rows[i].Cells["Сегодня отправленно сообщений"].Value = this.dt.Rows[i]["Today_send"].ToString(); this.dg.Rows[i].Cells["Всего отправленно сообщений"].Value = this.dt.Rows[i]["Total_send"].ToString(); string dr = ""; if (this.dt.Rows[i]["Date_register"] != DBNull.Value) { DateTime dtm = LogicMy.unixToDT(Double.Parse(this.dt.Rows[i]["Date_register"].ToString())); dr = String.Format("{0}", dtm); } this.dg.Rows[i].Cells["Дата регистрации"].Value = dr; string dr1 = ""; if (this.dt.Rows[i]["Last_login"] != DBNull.Value) { DateTime dtm = LogicMy.unixToDT(Double.Parse(this.dt.Rows[i]["Last_login"].ToString())); dr1 = String.Format("{0}", dtm); } this.dg.Rows[i].Cells["Последний раз заходил"].Value = dr1; string dr2 = ""; if (this.dt.Rows[i]["Block_date"] != DBNull.Value) { DateTime dtm = LogicMy.unixToDT(Double.Parse(this.dt.Rows[i]["Block_date"].ToString())); dr2 = String.Format("{0}", dtm); } this.dg.Rows[i].Cells["Дата блокировки"].Value = dr2; this.dg.Rows[i].Cells["Ошибка при аутентификации"].Value = this.dt.Rows[i]["Login_error"].ToString(); for (int j = 0; j < 11; ++j) { this.dg.Rows[i].Cells[j].ReadOnly = true; } } //Конец for (int i = 0; i < this.dg.Rows.Count; ++i) lActive.Text = String.Format("Активных: {0}", activ); lLocked.Text = String.Format("Заблокированных: {0}", loked); dg.Columns[0].HeaderCell.SortGlyphDirection = SortOrder.None; } // Конец ChannelsGridFiller()
/// <summary> /// Обработчик кнопки удалить. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button8_Click_1(object sender, EventArgs e) { LogicMy.DelFromGridInDb(dataGridView2, "group_contacts"); UpdateGridGr(); }
public static void ChekWALoginMy(DataRow dr, DataMy dt) { Int32 ok = 1; Int32 no = 0; decimal iiii; Int32 i = Convert.ToInt32(dr[0].ToString()); dr[1] = dr[1].ToString().Replace("+", ""); dr[1] = dr[1].ToString().Replace("-", ""); dr[1] = dr[1].ToString().Replace("(", ""); dr[1] = dr[1].ToString().Replace(")", ""); dr[1] = dr[1].ToString().TrimStart(new char[] { '0' }); // MessageBox.Show(dr[1].ToString()+"Первый"); decimal.TryParse(dr[1].ToString().Trim(), out iiii); if (iiii <= 0) { return; } if (i >= 0 && i < 2147483647) { // MessageBox.Show(dr[1].ToString()+"Второй"+iiii.ToString()); string namber = dr[1].ToString() ?? " "; //WhatsAppApi.Parser.PhoneNumber pn =new WhatsAppApi.Parser.PhoneNumber(namber); string passWord = dr[2].ToString() ?? " "; string nik = dr[3].ToString() ?? " "; WhatsAppApi.WhatsApp wa = new WhatsAppApi.WhatsApp(namber, passWord, nik); wa.OnConnectSuccess += () => { // MessageBox.Show("Присоеденились"); wa.OnLoginSuccess += (phoneNumber, data) => { MessageBox.Show("Залогинились"); dt.UpdateIsActive(i, ok); dt.UpdateEror(i, " "); dt.UpdateDateLastLogin(i, LogicMy.dtToUnix(DateTime.Now)); }; wa.OnLoginFailed += (data) => { MessageBox.Show("Не удалось залогиниться: " + data); dt.UpdateIsActive(i, no); dt.UpdateEror(i, data.ToString()); dt.UpdateDateBlock(i, LogicMy.dtToUnix(DateTime.Now)); }; wa.OnError += (id, from, code, text) => { dt.UpdateIsActive(i, no); dt.UpdateEror(i, id + " : " + @from + " : " + code + " : " + text); MessageBox.Show(id + " : " + from + " : " + code + " : " + text); }; wa.Login(); }; wa.OnConnectFailed += (ex) => { MessageBox.Show("Не удалось присоедениться"); dt.UpdateEror(i, ex.Message); }; wa.Connect(); wa.Disconnect(); } }
private void button4_Click(object sender, EventArgs e) { using (DataMy dt = DataMy.GetInstanse()) { dt.InsertChannels(txtPhoneNumber.Text.Trim(), textBox1.Text, "", 0, 0, LogicMy.dtToUnix(DateTime.Now), 0, 0, "", 1); } this.DialogResult = DialogResult.OK; }
private void button3_Click(object sender, EventArgs e) { using (DataMy dt = DataMy.GetInstanse()) { dt.InsertChannels(txtPhoneNumber.Text.Trim(), textBox1.Text, "", 0, 0, LogicMy.dtToUnix(DateTime.Now), 0, 0, "", 1); } grpResult.Enabled = true; grpStep1.Enabled = true; grpStep2.Enabled = true; txtOutput.Text = String.Empty; txtCode.Text = String.Empty; txtPhoneNumber.Text = String.Empty; textBox1.Text = String.Empty; button3.Enabled = true; button4.Enabled = true; }
private void button1_Click(object sender, EventArgs e) { LogicMy.DelFromGridInDb(dataGridView1, "Cannels"); UpdateGrid(); }
/// <summary> /// Заполняет таблицу контакты /// </summary> /// <param name="checkBox2">Галочка для проверки фильтровать ли по группам</param> /// <param name="comboBox1">Название группы по которой надо фильтровать.</param> public void ContactsGridFiller(CheckBox checkBox2, ComboBox comboBox1) { dg.Columns[0].Name = "Айди"; dg.Columns[1].Name = "Название группы"; dg.Columns[2].Name = "Дата регистрации"; dg.Columns[3].Name = "Фамилия"; dg.Columns[4].Name = "Имя"; dg.Columns[5].Name = "Дата рождения"; dg.Columns[6].Name = "Телефон"; dg.Columns[7].Name = "Email"; dg.Columns[8].Name = "Пол"; dg.Columns[9].Name = "Is WhatsApp?"; dg.Columns[10].Name = "Subscrible?"; dg.Columns[11].Name = "Коментарий"; for (int i = 0; i < 12; ++i) { dg.Columns[i].SortMode = DataGridViewColumnSortMode.Automatic; } if (dg == null) { return; } DataTable dtm = null; using (DataMy dt = DataMy.GetInstanse()) { dtm = dt.GetTable("group_contacts"); } for (int i = 0; i < this.dg.Rows.Count; ++i) { this.dg.Rows[i].Cells["Айди"].Value = this.dt.Rows[i]["Id_contact"].ToString(); var s = dtm.AsEnumerable(); var m = from ss in s where ss["id_group"].ToString() == this.dt.Rows[i]["Id_group"].ToString() select ss["name_group"]; var k = m.FirstOrDefault(); string nameGrop = String.Empty; if (k != null) { nameGrop = k.ToString(); } this.dg.Rows[i].Cells["Название группы"].Value = nameGrop; string dataString = this.dt.Rows[i]["Date_reg"].ToString(); DateTime dt = LogicMy.unixToDT(Convert.ToInt32(dataString)); this.dg.Rows[i].Cells["Дата регистрации"].Value = dt; this.dg.Rows[i].Cells["Фамилия"].Value = this.dt.Rows[i]["Familiya"].ToString(); this.dg.Rows[i].Cells["Имя"].Value = this.dt.Rows[i]["Name"].ToString(); this.dg.Rows[i].Cells["Дата рождения"].Value = LogicMy.unixToDT(Convert.ToInt32(this.dt.Rows[i]["Date_of_birth"].ToString())); this.dg.Rows[i].Cells["Телефон"].Value = this.dt.Rows[i]["Phone"].ToString(); this.dg.Rows[i].Cells["Email"].Value = this.dt.Rows[i]["Email"].ToString(); this.dg.Rows[i].Cells["Пол"].Value = this.dt.Rows[i]["Sex"].ToString(); this.dg.Rows[i].Cells["Is WhatsApp?"].Value = this.dt.Rows[i]["Is_whats_app"].ToString().Trim() == "1"?"Yes":"No"; this.dg.Rows[i].Cells["Subscrible?"].Value = this.dt.Rows[i]["Subscrible"].ToString().Trim() == "1" ? "Yes" : "No"; this.dg.Rows[i].Cells["Коментарий"].Value = this.dt.Rows[i]["coment"].ToString(); if (checkBox2 != null && checkBox2.Checked) { // MessageBox.Show(comboBox1.Text); if ((string)dg.Rows[i].Cells["Название группы"].Value != comboBox1.Text) { dg.Rows[i].Visible = false; } else { dg.Rows[i].Visible = true; } } else { dg.Rows[i].Visible = true; } } }