public WindowUsers(QueryMode mode, MainWindow parent, string primary_key_value = "") { InitializeComponent(); this.mode = mode; this.parent = parent; this.primary_key_value = primary_key_value; ComboBox_role.ItemsSource = Shortcuts.get_full_column_from("roles", "role", connection); ComboBox_gender.ItemsSource = Shortcuts.get_full_column_from("genders", "gender", connection); if (mode == QueryMode.add) { Button_reset.Visibility = Visibility.Collapsed; Button_accept.Content = "Добавить"; } else { Button_accept.Content = "Изменить"; byte[] image_bytes = Shortcuts.get_image("users", "mail", primary_key_value, connection); new_image = image_bytes; Shortcuts.set_image(Image, image_bytes); try { connection.Open(); MySqlCommand comm = new MySqlCommand($"SELECT * FROM `users` WHERE `mail` = '{primary_key_value}'", connection); MySqlDataReader data = comm.ExecuteReader(); data.Read(); TextBox_mail.Text = primary_key_value; TextBox_password.Text = data[1].ToString(); TextBox_surname.Text = data[2].ToString(); TextBox_first_name.Text = data[3].ToString(); TextBox_second_name.Text = data[4].ToString(); TextBox_phone.Text = data[5].ToString(); ComboBox_role.Text = data[6].ToString(); ComboBox_gender.Text = data[7].ToString(); old_values = new object[9] { primary_key_value, data[1].ToString(), data[2].ToString(), data[3].ToString(), data[4].ToString(), data[5].ToString(), data[6].ToString(), data[7].ToString(), image_bytes }; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } } }
public WindowStorage(QueryMode mode, Window parent, string primary_key_value = "") { InitializeComponent(); this.mode = mode; this.parent = parent; this.primary_key_value = primary_key_value; ComboBox_product_name.ItemsSource = Shortcuts.get_full_column_from("products", "name", connection); ComboBox_supplier.ItemsSource = Shortcuts.get_full_column_from("suppliers", "name", connection); if (mode == QueryMode.add) { Button_reset.Visibility = Visibility.Collapsed; Button_accept.Content = "Добавить"; } else { Button_accept.Content = "Изменить"; try { connection.Open(); MySqlCommand comm = new MySqlCommand($"SELECT * FROM `storage` " + $"WHERE `id` = '{primary_key_value}';", connection); MySqlDataReader data = comm.ExecuteReader(); data.Read(); ComboBox_product_name.Text = data[1].ToString(); TextBox_product_amount.Text = float.Parse(data[2].ToString()).ToString(); TextBox_product_amount.Text = TextBox_product_amount.Text.Replace(",", "."); ComboBox_supplier.Text = data[4].ToString(); TextBox_average_purchase_price.Text = float.Parse(data[5].ToString()).ToString(); TextBox_average_purchase_price.Text = TextBox_average_purchase_price.Text.Replace(",", "."); old_values = new string[4] { data[1].ToString(), data[2].ToString(), data[4].ToString(), data[5].ToString() }; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } } }
public WindowCars(QueryMode mode, Window parent, string primary_key_value = "") { InitializeComponent(); this.mode = mode; this.parent = parent; this.primary_key_value = primary_key_value; List <string> mails = Shortcuts.get_full_column_from("clients", "mail", connection); ComboBox_owner_mail.ItemsSource = mails; if (mode == QueryMode.add) { Button_reset.Visibility = Visibility.Collapsed; Button_accept.Content = "Добавить"; } else { Button_accept.Content = "Изменить"; try { connection.Open(); MySqlCommand comm = new MySqlCommand($"SELECT * FROM `cars` " + $"WHERE `vin` = '{primary_key_value}';", connection); MySqlDataReader data = comm.ExecuteReader(); data.Read(); TextBox_vin.Text = primary_key_value; TextBox_number.Text = data[1].ToString(); ComboBox_owner_mail.Text = data[2].ToString(); TextBox_color.Text = data[3].ToString(); TextBox_model.Text = data[4].ToString(); old_values = new string[5] { data[0].ToString(), data[1].ToString(), data[2].ToString(), data[3].ToString(), data[4].ToString() }; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } } }
public WindowClients(QueryMode mode, Window parent, string primary_key_value = "") { InitializeComponent(); this.mode = mode; this.parent = parent; this.primary_key_value = primary_key_value; ComboBox_gender.ItemsSource = Shortcuts.get_full_column_from("genders", "gender", connection); if (mode == QueryMode.add) { Button_reset.Visibility = Visibility.Collapsed; Button_accept.Content = "Добавить"; } else { Button_accept.Content = "Изменить"; try { connection.Open(); MySqlCommand comm = new MySqlCommand($"SELECT * FROM `clients` " + $"WHERE `mail` = '{primary_key_value}';", connection); MySqlDataReader data = comm.ExecuteReader(); data.Read(); TextBox_mail.Text = primary_key_value; TextBox_phone.Text = data[1].ToString(); TextBox_surname.Text = data[2].ToString(); TextBox_first_name.Text = data[3].ToString(); TextBox_second_name.Text = data[4].ToString(); ComboBox_gender.Text = data[5].ToString(); old_values = new string[6] { data[0].ToString(), data[1].ToString(), data[2].ToString(), data[3].ToString(), data[4].ToString(), data[5].ToString() }; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } } }
private void button_write_check_Click(object sender, RoutedEventArgs e) { if (DataGrid.SelectedItem == null) { MessageBox.Show("Выберите мышью запись перед созданием чека!"); return; } else if (((Request)DataGrid.SelectedItem).paint_date == "") { MessageBox.Show("Нельзя выписать чек необработанной заявки!"); return; } SaveFileDialog SFDialog = new SaveFileDialog(); SFDialog.Filter = "Microsoft Word Document (*.docx)|*.docx"; if (SFDialog.ShowDialog() == true) { Request req = (Request)DataGrid.SelectedItem; string cashier_name = current_user.surname + " " + current_user.first_name[0] + ". " + current_user.second_name[0] + "."; string parts_to_paint = ""; decimal price = 0; //Определение цены услуги и списка покрашенных деталей if (req.parts_to_paint == 8191) { parts_to_paint = "Полностью"; //количество краски на всю машину decimal paint_amount = decimal.Parse(Shortcuts.get_one_string_data_from("SELECT SUM(surface_size) FROM `car_parts`;", connection)) / 1000; if (req.product_name == "") { //стоимость за аэрографию price = decimal.Parse(Shortcuts.get_one_string_data_from("SELECT `price` " + $"FROM `pictures` WHERE `name` = '{req.picture_name}';", connection)); } else { try { //стоимость покраски всей машины без учёта краски price = decimal.Parse(Shortcuts.get_one_string_data_from("SELECT SUM(cost) FROM `car_parts`;", connection)); //стоимость использованной краски decimal paint_price = decimal.Parse(Shortcuts.get_one_string_data_from("SELECT `average_purchase_price` " + $"FROM `storage` WHERE `supplier` = '{req.supplier}' AND `product_name` = '{req.product_name}';", connection)); //надбавка цены на краску price = price + paint_price * paint_amount; } catch { MessageBox.Show("Невозможно оформить чек. Отсутствуют данные о цене краски."); return; } } } else //детальная покраска { //перечисление частей на покраску List <string> parts = Shortcuts.get_full_column_from("car_parts", "name", $"`id` & {req.parts_to_paint}", connection); for (int i = 0; i < parts.Count; i++) { parts_to_paint += parts[i]; if (i != parts.Count - 1) { parts_to_paint += "; "; } else { parts_to_paint += "."; } } try { //стоимость за покраску частей без учёта краски price = decimal.Parse(Shortcuts.get_one_string_data_from($"SELECT SUM(cost) FROM `car_parts` WHERE `id` & {req.parts_to_paint};", connection)); decimal paint_price = decimal.Parse(Shortcuts.get_one_string_data_from("SELECT `average_purchase_price` " + $"FROM `storage` WHERE `supplier` = '{req.supplier}' AND `product_name` = '{req.product_name}';", connection)); //общая цена за услугу decimal paint_amount = decimal.Parse(Shortcuts.get_one_string_data_from($"SELECT SUM(surface_size) FROM `car_parts` WHERE `id` & {req.parts_to_paint};", connection)) / 1000; //надбавка цены на краску price = price + paint_price * paint_amount; } catch { MessageBox.Show("Невозможно оформить чек. Отсутствуют данные о цене краски."); return; } } try { Word.Application WordApp = new Word.Application(); WordApp.Visible = false; string price_in_doc = price.ToString().Replace(',', '.'); int dot_pos = price_in_doc.IndexOf('.'); if (dot_pos > 0) { price_in_doc = price_in_doc.Substring(0, dot_pos + 3); } Document word_doc = WordApp.Documents.Open(Directory.GetCurrentDirectory() + $@"\check.docx"); Shortcuts.replace_word("{vin}", req.vin, word_doc); Shortcuts.replace_word("{service_type}", req.service_type, word_doc); Shortcuts.replace_word("{color}", req.product_name, word_doc); Shortcuts.replace_word("{parts_to_paint}", parts_to_paint, word_doc); Shortcuts.replace_word("{picture}", req.picture_name, word_doc); Shortcuts.replace_word("{price}", price_in_doc, word_doc); Shortcuts.replace_word("{cashier_name}", cashier_name, word_doc); Shortcuts.replace_word("{current_date}", req.paint_date, word_doc); word_doc.SaveAs2(FileName: SFDialog.FileName); word_doc.Close(); MessageBox.Show("Файл успешно сохранён!"); } catch { MessageBox.Show("При сохранении чека возникла ошибка. Документ не сохранён.", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } } }
public WindowRequests(QueryMode mode, Window parent, string primary_key_value = "") { InitializeComponent(); checks = new CheckBox[] { check_lpk, check_lzk, check_ppk, check_pzk, check_lpd, check_lzd, check_ppd, check_pzd, check_roof, check_hood, check_kb, check_pb, check_zb }; ids = new List <int>(); for (int i = 1; i <= 4096; i *= 2) { ids.Add(i); } this.mode = mode; this.parent = parent; this.primary_key_value = primary_key_value; ComboBox_vin.ItemsSource = Shortcuts.get_full_column_from("cars", "vin", connection); ComboBox_service_type.ItemsSource = Shortcuts.get_full_column_from("service_types", "service_type", connection); ComboBox_picture.ItemsSource = Shortcuts.get_full_column_from("pictures", "name", connection); ComboBox_supplier.ItemsSource = Shortcuts.get_full_column_from("suppliers", "name", connection); if (mode == QueryMode.add) { Button_reset.Visibility = Visibility.Collapsed; initialized = true; Button_accept.Content = "Добавить"; change_checkbox_ability(false); } else { Button_accept.Content = "Изменить"; try { connection.Open(); MySqlCommand comm = new MySqlCommand($"SELECT * FROM `requests` " + $"WHERE `id` = '{primary_key_value}';", connection); MySqlDataReader data = comm.ExecuteReader(); data.Read(); ComboBox_vin.Text = data[1].ToString(); request_date = (DateTime)data[3]; ComboBox_service_type.Text = data[4].ToString(); ComboBox_supplier.Text = data[8].ToString(); old_values = new object[8] { /*0*/ data[1].ToString(), //VIN /*1*/ data[2].ToString(), //Product_name /*2*/ data[3], //DateTime /*3*/ data[4].ToString(), //service_type /*4*/ data[5], //int parts_to_paint /*5*/ data[6].ToString(), //pic_name /*6*/ data[7].ToString(), //request_status /*7*/ data[8].ToString() }; } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } finally { connection.Close(); initialized = true; ComboBox_service_type.Text = ComboBox_service_type.Text; if (ComboBox_service_type.Text == "Оклейка плёнкой") { fill_product_with("рулон"); } else { fill_product_with("литр"); } if (ComboBox_service_type.Text != "Аэрография") { ComboBox_product_name.IsEnabled = true; ComboBox_supplier.IsEnabled = true; for (int i = 0; i < ComboBox_product_name.Items.Count; i++) { if ((string)(ComboBox_product_name.Items[i] as ComboBoxItem).Tag == (string)old_values[1]) { ComboBox_product_name.SelectedIndex = i; old_color_index = i; break; } } } else { ComboBox_picture.IsEnabled = true; ComboBox_picture.Text = (string)old_values[5]; } change_checkbox_ability(ComboBox_service_type.Text == "Детальная"); if (ComboBox_service_type.Text == "Детальная") { set_checkbox_value((int)old_values[4]); } else { change_checkbox_value(false); change_checkbox_ability(false); } } } }
public WindowProducts(QueryMode mode, MainWindow parent, string primary_key_value = "") { InitializeComponent(); this.mode = mode; this.parent = parent; this.primary_key_value = primary_key_value; try { connection.Open(); MySqlCommand comm = new MySqlCommand("SELECT `color_code` FROM `colors`;", connection); MySqlDataReader data = comm.ExecuteReader(); while (data.Read()) { ComboBox_color_code.Items.Add(Shortcuts.create_color_box(data[0].ToString(), data[0].ToString())); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } ComboBox_paint_type.ItemsSource = Shortcuts.get_full_column_from("paint_types", "paint_type", connection); if (mode == QueryMode.add) { Button_reset.Visibility = Visibility.Collapsed; Button_accept.Content = "Добавить"; } else { Button_accept.Content = "Изменить"; try { connection.Open(); MySqlCommand comm = new MySqlCommand($"SELECT * FROM `products` " + $"WHERE `name` = '{primary_key_value}';", connection); MySqlDataReader data = comm.ExecuteReader(); data.Read(); TextBox_name.Text = primary_key_value; for (int i = 0; i < ComboBox_color_code.Items.Count; i++) { if ((string)(ComboBox_color_code.Items[i] as ComboBoxItem).Tag == data[2].ToString()) { ComboBox_color_code.SelectedIndex = i; old_color_index = i; break; } } ComboBox_paint_type.Text = data[1].ToString(); old_values = new string[3] { data[0].ToString(), data[1].ToString(), data[2].ToString() }; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } } }
public WindowSupplies(QueryMode mode, Window parent, string primary_key_value = "") { InitializeComponent(); this.mode = mode; this.parent = parent; this.primary_key_value = primary_key_value; DatePicker_order.DisplayDateStart = DateTime.Today; DatePicker_order.DisplayDateEnd = DateTime.Today.AddDays(90); ComboBox_supplier.ItemsSource = Shortcuts.get_full_column_from("suppliers", "name", connection); if (mode == QueryMode.add) { Button_reset.Visibility = Visibility.Collapsed; Button_accept.Content = "Добавить"; } else { Button_accept.Content = "Изменить"; try { connection.Open(); MySqlCommand comm = new MySqlCommand($"SELECT * FROM `supplies` " + $"WHERE `id` = '{primary_key_value}';", connection); MySqlDataReader data = comm.ExecuteReader(); data.Read(); ComboBox_supplier.Text = data[2].ToString(); TextBox_product_amount.Text = float.Parse(data[4].ToString()).ToString(); TextBox_product_amount.Text = TextBox_product_amount.Text.Replace(",", "."); TextBox_price.Text = float.Parse(data[6].ToString()).ToString(); TextBox_price.Text = TextBox_price.Text.Replace(",", "."); DatePicker_order.SelectedDate = (DateTime)data[7]; //data[5] - невидимая пользователю единица измерения old_values = new object[6] { /*0*/ data[2].ToString(), /*1*/ data[3].ToString(), /*2*/ data[4].ToString(), /*3*/ data[5].ToString(), //measurement /*4*/ data[6].ToString(), /*5*/ data[7] }; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } ComboBox_paint_type.SelectedIndex = (old_values[3].ToString() == "литр") ? 0 : 1; for (int i = 0; i < ComboBox_product_name.Items.Count; i++) { if ((string)(ComboBox_product_name.Items[i] as ComboBoxItem).Tag == old_values[1].ToString()) { ComboBox_product_name.SelectedIndex = i; old_color_index = i; break; } } } }