Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using ExscelOpenSQL;
- using Excel = Microsoft.Office.Interop.Excel;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Data.SqlClient;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Text.RegularExpressions;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.IO;
- using System.Runtime.InteropServices;
- using System.Drawing.Printing;
- namespace ExcelOpenSQL
- {
- public partial class Form1 : Form
- {
- /// <summary>
- /// переменная счётчик строк в dgv2
- /// </summary>
- private int indexRowDataGrid2 = 0;
- /// <summary>
- /// имя таблицы используется для вывода в итоговую таблицу
- /// </summary>
- private string nameTable;
- private string connectionString;
- /// <summary>
- /// подключаемся через стркоу в файле или используем дефолтное подключение
- /// </summary>
- public void openConnection()
- {
- try
- {
- StreamReader sr = new StreamReader(@"connectionString.txt");
- connectionString = sr.ReadLine();
- }
- catch
- {
- connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=Excel;Integrated Security=True";
- }
- }
- /// <summary>
- /// сохранение в файл нового курса
- /// </summary>
- public void saveRates()
- {
- using (StreamWriter sw = new StreamWriter(@"rates.txt", false))
- {
- sw.WriteLine(rates.Text);
- sw.Close();
- }
- }
- /// <summary>
- /// извлекаем из файла актуальынй курс валют
- /// </summary>
- /// <returns></returns>
- public string openRates()
- {
- try
- {
- StreamReader sr = new StreamReader(@"rates.txt");
- string str = sr.ReadLine();
- sr.Close();
- return str;
- }
- catch
- {
- InputRates ir = new InputRates("");
- return ir.getRates;
- }
- }
- public Form1()
- {
- try
- {
- InitializeComponent();
- DoubleBuffered = true;
- SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
- openConnection();
- rates.Text = openRates();
- ExchangeRates er = new ExchangeRates();
- rates.Text = (double.Parse(er.convert(rates.Text))).ToString();
- DataGridSetting dg = new DataGridSetting();
- dg.dataGrid2Size(dataGridView2, "Название товара", "Цена USD", "Цена BYR", "Кол-во");
- //MessageBox.Show(er.tutByRates("https://www.tut.by/"));
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// добавление строки в другую таблицу
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
- {
- try
- {
- DataGridSetting dg = new DataGridSetting();
- dg.addRows(dataGridView1, dataGridView2, rates, indexRowDataGrid2, e.RowIndex, nameTable);
- indexRowDataGrid2++;
- usd.Text = dg.priceCount(dataGridView2, 1);
- byr.Text = dg.priceCount(dataGridView2, 2);
- }
- catch(Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// удаление строки из другой таблицы
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void dataGridView2_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
- {
- try
- {
- dataGridView2.Rows.RemoveAt(e.RowIndex);
- DataGridSetting dg = new DataGridSetting();
- usd.Text = dg.priceCount(dataGridView2, 1);
- byr.Text = dg.priceCount(dataGridView2, 2);
- indexRowDataGrid2--;
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// очищаем вторую таблицу
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void очиститьТаблицуToolStripMenuItem_Click(object sender, EventArgs e)
- {
- try
- {
- dataGridView2.Rows.Clear();
- usd.Text = "0";
- byr.Text = "0";
- indexRowDataGrid2 = 0;
- }
- catch(Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- private void выйтиToolStripMenuItem_Click(object sender, EventArgs e)
- {
- Application.Exit();
- }
- /// <summary>
- /// событие нажатия энтера когда активен текстбокс, как альтернатива нажатия кнопки
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void textBox1_KeyDown(object sender, KeyEventArgs e)
- {
- try
- {
- if (e.KeyCode == Keys.Enter)
- if (textBox2.Text != "")
- {
- DataGridSetting dg = new DataGridSetting();
- dg.searchId(dataGridView1, textBox2);
- }
- }
- catch(Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- private void печататьToolStripMenuItem_Click(object sender, EventArgs e)
- {
- try
- {
- ParseTextTable ptt = new ParseTextTable();
- ptt.parseTextDataGrid(dataGridView2); // парсим текст таблицы что бы влазил в эксель
- ExcelFile ex = new ExcelFile();
- ex.saveExcel(dataGridView2, usd, byr, ptt.ListDGV2Name, ptt.ListDGV2USD, ptt.ListDGV2BYR, ptt.ListDGV2Count, "File"); // сохраняем в эсель файл
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// вносим изменения в цены после редактирования ячейки количества товара
- /// </summary>
- /// <param name="sender
- /// <param name="e"></param>
- private void dataGridView2_CellEndEdit(object sender, DataGridViewCellEventArgs e)
- {
- try
- {
- DataGridSetting dg = new DataGridSetting();
- dg.editPrice(dataGridView2, usd, byr, e.RowIndex);
- usd.Text = dg.priceCount(dataGridView2, 1);
- byr.Text = dg.priceCount(dataGridView2, 2);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// поиск по индексу с переходом на нужную строку
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void button2_Click(object sender, EventArgs e)
- {
- try
- {
- DataGridSetting dg = new DataGridSetting();
- dg.searchId(dataGridView1, textBox2);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// вывод первого прайса
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void перезагрузитьToolStripMenuItem_Click(object sender, EventArgs e)
- {
- try
- {
- nameTable = "Price";
- DataGridSetting dg = new DataGridSetting();
- dg.dataBaseToDataGrid(dataGridView1, connectionString, nameTable, "id", "Название товара", "Цена USD", "Цена BYR");
- dg.dataBasePriceUSD(dataGridView1, rates.Text);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// вывод прайса розма
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void рОЗМАToolStripMenuItem_Click(object sender, EventArgs e)
- {
- try
- {
- nameTable = "ROZMA";
- DataGridSetting dg = new DataGridSetting();
- dg.dataBaseToDataGrid(dataGridView1, connectionString, nameTable, "id", "Название товара", "Размер", "Цена рублей");
- dg.NDS(dataGridView1, 30);
- }
- catch(Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// изменить курс доллара
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void курсДоллараToolStripMenuItem_Click(object sender, EventArgs e)
- {
- try
- {
- InputRates input = new InputRates(rates.Text);
- input.ShowDialog();
- rates.Text = input.getRates;
- saveRates();
- ExchangeRates er = new ExchangeRates();
- DataGridSetting dg = new DataGridSetting();
- if (nameTable == "Price")
- dg.dataBasePriceUSD(dataGridView1, rates.Text);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// печатать
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void печататьToolStripMenuItem1_Click(object sender, EventArgs e)
- {
- try
- {
- ParseTextTable ptt = new ParseTextTable();
- ptt.parseTextDataGrid(dataGridView2); // парсим текст таблицы что бы влазил в эксель
- ExcelFile ex = new ExcelFile();
- ex.saveExcel(dataGridView2, usd, byr, ptt.ListDGV2Name, ptt.ListDGV2USD, ptt.ListDGV2BYR, ptt.ListDGV2Count, "Print");
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement