public static List <string> get_history_message_to_view(string date_in, string date_out) { connection_db_open(); NpgsqlCommand com = new NpgsqlCommand("select nick,message,to_char(date_out, 'dd.mm.yyyy') as myDate, to_char(date_out, 'hh24:mi:ss') as myTime" + " from public.history_messages mes" + ", public.user_info us where us.id=mes.id " + "and date_out::date>=to_date(@i,'dd.mm.yyy') and date_out::date<=to_date(@o,'dd.mm.yyyy') order by date_out", NpgConnection); com.Parameters.AddWithValue("i", date_in); com.Parameters.AddWithValue("o", date_out); NpgsqlDataReader reader; reader = com.ExecuteReader(); List <string> result = new List <string>(); while (reader.Read()) { try { result.Add(reader.GetString(3) + " " + reader.GetString(0) + ":" + reader.GetString(1)); } catch (Npgsql.NpgsqlException ex) { Logs.LogClass logClass = new Logs.LogClass("DB", "Считывание истории сообщений " + ex.Message); } } connection_db_close(); return(result); }
async void bdConnectPostgr_async() { await Task.Run(() => { try { DataBasePostgres.create_information_about_user_async(Nick, textBox1.Text, textBox2.Text, Convert.ToInt32(textBox3.Text)); MessageBox.Show("Информация добавлена!"); } catch (FormatException) { MessageBox.Show("Введены некорректные данные!"); } catch (Npgsql.PostgresException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Изменение данных пользователя о себе. Ошибка postgres: " + ex.MessageText); } catch (Npgsql.NpgsqlException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Изменение данных пользователя о себе. Ошибка связи: " + ex.Message); } catch (Exception ex) { MessageBox.Show("Неизвестная ошибка"); Logs.LogClass logClass = new Logs.LogClass("System", "Имя объекта вызвавшего ошибку: " + ex.Source + " Ошибка " + ex.Message); } } ); }
public static List <string> read_all_nicks_participants() { connection_db_open(); NpgsqlCommand com = new NpgsqlCommand("select nick from public.user_info", NpgConnection); NpgsqlDataReader reader; reader = com.ExecuteReader(); List <string> result = new List <string>(); while (reader.Read()) { try { result.Add(reader.GetString(0));//Получаем значение из первого столбца! Первый это (0)! } catch (Npgsql.NpgsqlException ex) { Logs.LogClass log = new Logs.LogClass("DB", "Считывание ников ВСЕХ пользователей " + ex.Message); } } connection_db_close(); return(result); }
private bool check_valid_textboxes_tabSingUP() { if (textBox3.Text != "" && textBox3.Text.Length >= 3 && textBox4.Text != "" && textBox4.Text.Length > 5 && textBox5.Text != "" && textBox5.Text.Length > 2 && textBox6.Text != "" && textBox6.Text.Length > 3 && textBox7.Text != "") { return(true); } else { Logs.LogClass log = new Logs.LogClass("System", "Ввод данных регистрации. Неверный ввод полей"); if (textBox3.Text == "" || textBox3.Text.Length < 3) { label14.Visible = true; } else { label14.Visible = false; } if (textBox4.Text == "" && textBox4.Text.Length < 6) { label15.Visible = true; } else { label15.Visible = false; } if (textBox5.Text == "" && textBox5.Text.Length <= 2) { label16.Visible = true; } else { label16.Visible = false; } if (textBox6.Text == "" && textBox6.Text.Length <= 3) { label17.Visible = true; } else { label17.Visible = false; } if (textBox7.Text == "") { label18.Visible = true; } else { label18.Visible = false; } // MessageBox.Show("Неверный ввод полей.\nЛогин - от 3-х символов\nПароль от 6-ти симолов\nИмя от 2-х символов\nФамилия от 3-х символов\nВозраст только числом!"); return(false); } }
void get_info_BD() { List <string> list = null; Task task = new Task(() => { try { list = DataBasePostgres.get_information_user(nick); } catch (Npgsql.PostgresException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Получение данных пользователя о себе(из списка пользователей). Ошибка postgres: " + ex.MessageText); } catch (Npgsql.NpgsqlException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Получение данных пользователя о себе(из списка пользователей). Ошибка связи: " + ex.Message); } catch (Exception ex) { MessageBox.Show("Неизвестная ошибка"); Logs.LogClass logClass = new Logs.LogClass("System", "Имя объекта вызвавшего ошибку: " + ex.Source + " Ошибка " + ex.Message); } if (list.Count > 0 && list != null) { Action actVis1True = () => label1.Visible = true; Action actVis2True = () => label2.Visible = true; Action actVis3True = () => label3.Visible = true; Action actVis4True = () => label4.Visible = true; Action actVisFalse = () => label5.Visible = false; Action actLab1Pr = () => label1.Text = "Nickname: " + list[0]; Action actLab2Pr = () => label2.Text = "First name: " + list[1]; Action actLab3Pr = () => label3.Text = "Second name: " + list[2]; Action actLab4Pr = () => label4.Text = "Age: " + list[3]; label5.Invoke(actVisFalse); label1.Invoke(actLab1Pr); label2.Invoke(actLab2Pr); label3.Invoke(actLab3Pr); label4.Invoke(actLab4Pr); label1.Invoke(actVis1True); label2.Invoke(actVis2True); label3.Invoke(actVis3True); label4.Invoke(actVis4True); } else { Action act = () => label5.Text = "Данных о пользователе не обнаружено!"; label5.Invoke(act); } }); task.Start(); }
private void Button3_Click(object sender, EventArgs e) { // MessageBox.Show(System.Diagnostics.Process.GetCurrentProcess().Threads.Count.ToString()); if (check_valid_textboxes_tabSingUP()) { Security.SecurityClass securityClass = new Security.SecurityClass(); string[] hash = securityClass.password_MD5Hash(textBox4.Text); string salt = hash[0]; string hashPass = hash[1]; try { if (!DataBasePostgres.registration_user(textBox3.Text, hashPass, salt, textBox5.Text, textBox6.Text, int.Parse(textBox7.Text))) { label10.Text = "Такой пользователь уже существует!"; label10.Visible = true; } else { label10.Visible = true; label10.Text = "Вы успешно зарегистрированы!"; label10.ForeColor = Color.Green; button3.Enabled = false; } } catch (Npgsql.PostgresException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Отправка данных регистрации пользвателя. Ошибка postgres: " + ex.Message); } catch (Npgsql.NpgsqlException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Отправка данных регистрации пользвателя. Ошибка связи: " + ex.Message); } catch (FormatException) { MessageBox.Show("Возраст должен быть числом!"); } catch (Exception ex) { MessageBox.Show("Неизвестная ошибка"); Logs.LogClass logClass = new Logs.LogClass("System", "Имя объекта вызвавшего ошибку: " + ex.Source + " Ошибка " + ex.Message); } } }
private void Button1_Click(object sender, EventArgs e) { textBox1.Text = "\tЗагружаем данные с сервера..."; List <string> historyMes = null; Task task = new Task(() => { try { historyMes = DataBasePostgres.get_history_message_to_view(dateTimePicker1.Text, dateTimePicker2.Text); } catch (Npgsql.PostgresException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Получение истории сообщений. Ошибка postgres: " + ex.MessageText); } catch (Npgsql.NpgsqlException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Получение истории сообщений. Ошибка связи: " + ex.Message); } catch (Exception ex) { MessageBox.Show("Неизвестная ошибка"); Logs.LogClass logClass = new Logs.LogClass("System", "Имя объекта вызвавшего ошибку: " + ex.Source + " Ошибка " + ex.Message); } if (historyMes.Count > 0) { Action messNullAction = () => textBox1.Text = ""; textBox1.Invoke(messNullAction); for (int i = 0; i < historyMes.Count; i++) { Action messAddRowAction = () => textBox1.Text += historyMes[i] + "\r\n"; textBox1.Invoke(messAddRowAction); } } else { Action messNullAction = () => textBox1.Text = "\tДанных о переписках на данный период нет!"; textBox1.Invoke(messNullAction); } }); task.Start(); }
void get_info_user() { try { aboutUserList = DataBasePostgres.get_information_user(Nick); } catch (Npgsql.PostgresException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Получение данных пользователя о себе(из списка пользователей). Ошибка postgres: " + ex.MessageText); } catch (Npgsql.NpgsqlException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Получение данных пользователя о себе(из списка пользователей). Ошибка связи: " + ex.Message); } catch (Exception ex) { MessageBox.Show("Неизвестная ошибка"); Logs.LogClass logClass = new Logs.LogClass("System", "Имя объекта вызвавшего ошибку: " + ex.Source + " Ошибка " + ex.Message); } }
private void Button1_Click(object sender, EventArgs e) { label11.Visible = false; label13.Visible = true; button1.Enabled = false; string returnedString = ""; label13.Update(); Thread.Sleep(20); try { returnedString = DataBasePostgres.login_user(textBox1.Text, textBox2.Text); } catch (Npgsql.PostgresException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Отправка данных авторизации пользвателя. Ошибка postgres: " + ex.Message); } catch (Npgsql.NpgsqlException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Отправка данных авторизации пользвателя. Ошибка связи: " + ex.Message); } if (returnedString != "0" && returnedString != "") { parentForm = new Form1(this, returnedString); parentForm.Show(); this.Hide(); } else { label13.Visible = false; button1.Enabled = true; label11.Visible = true; } }
async private void Listener() { try { while (true) { Byte[] data; data = udpClient.Receive(ref localIp); formatted_data = FromAes256(data);//Encoding.UTF8.GetString(data); //принятие имени в список участников if (formatted_data != "" && formatted_data[0] == '%' && formatted_data[1] == '&' && formatted_data[2] == 'n' && formatted_data[3] == 'm') { for (int i = 4; i < formatted_data.Length; i++) { tmpName += formatted_data[i]; } int indName = -1; indName = listUsers.FindString(tmpName); if (indName == -1) { Action act = () => listUsers.Items.Add(tmpName); listUsers.Invoke(act); } tmpName = ""; } //запрос на передачу своего имени else if (formatted_data != "" && formatted_data[0] == 'r' && formatted_data[1] == '@' && formatted_data[2] == 'q' && formatted_data[3] == '#' && formatted_data[4] == 's' && formatted_data[5] == '+' && formatted_data[6] == '+') { sendName(); } //удаление из списка участников else if (formatted_data != "" && formatted_data[0] == 'd' && formatted_data[1] == '%' && formatted_data[2] == 'e' && formatted_data[3] == '?' && formatted_data[4] == 'l') { for (int i = 5; i < formatted_data.Length; i++) { tmpName += formatted_data[i]; } int indName = -1; indName = listUsers.FindString(tmpName); if (indName != -1) { Action act = () => listUsers.Items.RemoveAt(indName); listUsers.Invoke(act); } tmpName = ""; } //вывод обычных данных else if (formatted_data != "") { //парсим сообщение bool isParseNick = true; string parseNick = ""; string parseMessage = ""; if (formatted_data[0] != '\t') { for (int i = 0; i < formatted_data.Length; i++) { if (isParseNick && formatted_data[i] != ':') { parseNick += formatted_data[i]; } else if (formatted_data[i] == ':') { isParseNick = false; } else if (!isParseNick && formatted_data[i] != ':') { parseMessage += formatted_data[i]; } } if (tmpstr != "guest") { try //сохраняем сообщение в историю(в таблицу history_messages) { await Task.Run(() => DataBasePostgres.add_message_user_async(parseNick, Convert.ToString(DateTime.Now), parseMessage)); } catch (Npgsql.PostgresException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Сохранение сообщения в базе данных. Ошибка postgres: " + ex.Message); } catch (Npgsql.NpgsqlException ex) { MessageBox.Show("Ошибка соединения с базой данных"); Logs.LogClass logClass = new Logs.LogClass("DB", "Сохранение сообщения в базе данных. Ошибка связи: " + ex.Message); } catch (Exception ex) { MessageBox.Show("Неизвестная ошибка"); Logs.LogClass logClass = new Logs.LogClass("System", "Имя объекта вызвавшего ошибку: " + ex.Source + " Ошибка " + ex.Message); } } } if (textBox1.Text != "") { Action act = () => { textBox1.AppendText("\r\n"); textBox1.AppendText(formatted_data); }; textBox1.Invoke(act); Action act1 = () => textBox3.Focus(); textBox3.Invoke(act1); } else { Action act = () => textBox1.AppendText(formatted_data); textBox1.Invoke(act); Action act1 = () => textBox3.Focus(); textBox3.Invoke(act1); } } } } catch (System.Net.Sockets.SocketException e) { if (e.ErrorCode != 10060) { delName(); udpClient.Close(); thread.Abort(); thread.Join(5000); thread = null; } else if (e.ErrorCode == 10060) //если таймаут { if (formclosed == false) { Listener(); //форма не закрыта -> продолжаем приём } else { delName(); udpClient.Close(); thread.Abort(); thread.Join(5000); thread = null; } } } }