using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Mip { public partial class frmVybratTypVyhodnotenia : Form { DataTable dopyty; public frmVybratTypVyhodnotenia() { InitializeComponent(); string cmd = ""; cmd = $@"select `Zakaznik` as 'Zákazník', `IdVyrobok` as 'ID výrobok', `NazovVyrobku` as 'Názov výrobku', `Material` as 'Materiál', `Pocetkusov` as 'Počet', `CenaOBJ` as 'Cena', `ZakCislo` as 'Zákazkové číslo', '0' as 'ID naceňovanie' from `pohladdopyty` where ((`pohladdopyty`.TypDopytu = 'Objednávka' or `pohladdopyty`.TypDopytu = 'Objednávka do kontraktu') and `pohladdopyty`.`StatusDopytu` = 'Odoslaná') union select `tabvyrobok`.Zakaznik as 'Zákazník', `tab-nacenovanie`.IdVyrobokNac as 'ID výrobok', `tabvyrobok`.NazovVyrobku as 'Názov výrobku', `Material1` as 'Materiál', `PocetNacenovanychKusov` as 'Počet', `myNuD71` as 'Cena', '0' as 'Zákazkové číslo', `tab-nacenovanie`.IDNacenovanie as 'ID naceňovanie' from `tab-nacenovanie` left join `tabvyrobok` on `tab-nacenovanie`.IdVyrobokNac = `tabvyrobok`.IdVyrobok left join `tab-nacenovanie-nacenovanie` on `tab-nacenovanie`.IDNacenovanie = `tab-nacenovanie-nacenovanie`.IDNacenovanie where `tab-nacenovanie-nacenovanie`.myNuD71 > 0"; classSQL.SQL(cmd, out dopyty); refreshZoznamTypVyhodnotenia(); } private void refreshZoznamTypVyhodnotenia() { DataTable dataTable = new DataTable(); if (checkBox3.Checked) { dataTable = null; } else if (checkBox1.Checked) { if (checkBox2.Checked) { try { dataTable = dopyty.AsEnumerable() .Where(row => row.Field("Zákazkové číslo").ToLower().Contains(textBox1.Text.ToLower()) && row.Field("Zákazník").ToLower().Contains(textBox4.Text.ToLower()) && row.Field("Názov výrobku").ToLower().Contains(textBox2.Text.ToLower()) ).CopyToDataTable(); } catch { dataTable = null; } } else { try { dataTable = dopyty.AsEnumerable() .Where(row => row.Field("Zákazkové číslo").ToLower().Contains(textBox1.Text.ToLower()) && row.Field("Zákazník").ToLower().Contains(textBox4.Text.ToLower()) && row.Field("Názov výrobku").ToLower().Contains(textBox2.Text.ToLower()) && row.Field("Zákazkové číslo") != "0" ).CopyToDataTable(); } catch { dataTable = null; } } } else { if (checkBox2.Checked) { try { dataTable = dopyty.AsEnumerable() .Where(row => row.Field("Zákazkové číslo").ToLower().Contains(textBox1.Text.ToLower()) && row.Field("Zákazník").ToLower().Contains(textBox4.Text.ToLower()) && row.Field("Názov výrobku").ToLower().Contains(textBox2.Text.ToLower()) && row.Field("ID naceňovanie") != "0" ).CopyToDataTable(); } catch { dataTable = null; } } else { try { dataTable = dopyty.AsEnumerable() .Where(row => row.Field("Zákazkové číslo").ToLower().Contains(textBox1.Text.ToLower()) && row.Field("Zákazník").ToLower().Contains(textBox4.Text.ToLower()) && row.Field("Názov výrobku").ToLower().Contains(textBox2.Text.ToLower()) && row.Field("Zákazkové číslo") == "0" && row.Field("ID naceňovanie") == "0" ).CopyToDataTable(); } catch { dataTable = null; } } } if(dataTable == null) label9.Text = "0"; else label9.Text = dataTable.Rows.Count.ToString(); dataGridView2.DataSource = dataTable; dataGridView2.ClearSelection(); } private void textBox1_TextChanged(object sender, EventArgs e) { refreshZoznamTypVyhodnotenia(); } private void textBox4_TextChanged(object sender, EventArgs e) { refreshZoznamTypVyhodnotenia(); } private void textBox2_TextChanged(object sender, EventArgs e) { refreshZoznamTypVyhodnotenia(); } private void checkBox1_CheckedChanged(object sender, EventArgs e) { refreshZoznamTypVyhodnotenia(); } private void checkBox2_CheckedChanged(object sender, EventArgs e) { refreshZoznamTypVyhodnotenia(); } private void checkBox3_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Enabled == true) { checkBox1.Enabled = false; checkBox2.Enabled = false; label7.Enabled = true; label8.Enabled = true; label10.Enabled = true; label11.Enabled = true; numericUpDown1.Enabled = true; numericUpDown1.Value = 0; numericUpDown2.Enabled = true; numericUpDown2.Value = 1; textBox5.Enabled = true; textBox5.Text = ""; textBox3.Text = ""; loadTextBox5(); } else { checkBox1.Enabled = true; checkBox2.Enabled = true; label7.Enabled = false; label8.Enabled = false; label10.Enabled = false; label11.Enabled = false; numericUpDown1.Enabled = false; numericUpDown1.Value = 0; numericUpDown2.Enabled = false; numericUpDown2.Value = 1; textBox5.Enabled = false; textBox5.Text = ""; textBox3.Text = ""; } refreshZoznamTypVyhodnotenia(); } private void loadTextBox5() { if(textBox5.Enabled == true) { string[] postSourceZakaznik = dopyty .AsEnumerable() .GroupBy(x => x.Field("Zákazník")) .Select(x => x.First()) .CopyToDataTable() .AsEnumerable() .Select(x => x.Field("Zákazník")) .ToArray(); var source2 = new AutoCompleteStringCollection(); source2.AddRange(postSourceZakaznik); textBox5.AutoCompleteCustomSource = source2; textBox5.AutoCompleteMode = AutoCompleteMode.SuggestAppend; textBox5.AutoCompleteSource = AutoCompleteSource.CustomSource; } else { textBox5.AutoCompleteCustomSource = null; textBox5.AutoCompleteMode = AutoCompleteMode.None; textBox5.AutoCompleteSource = AutoCompleteSource.None; } loadTextBox3(); } private void loadTextBox3() { if (textBox3.Enabled == true) { try { string[] postSourceVyrobok = dopyty .AsEnumerable() .GroupBy(x => x.Field("Názov výrobku")) .Select(x => x.First()) .Where(y => y.Field("Zákazník").ToLower().Contains(textBox5.Text.ToLower())) .CopyToDataTable() .AsEnumerable() .Select(x => x.Field("Názov výrobku")) .ToArray(); var source = new AutoCompleteStringCollection(); source.AddRange(postSourceVyrobok); textBox3.AutoCompleteCustomSource = source; textBox3.AutoCompleteMode = AutoCompleteMode.SuggestAppend; textBox3.AutoCompleteSource = AutoCompleteSource.CustomSource; } catch { } } else { textBox3.AutoCompleteCustomSource = null; textBox3.AutoCompleteMode = AutoCompleteMode.None; textBox3.AutoCompleteSource = AutoCompleteSource.None; } } private void textBox5_TextChanged(object sender, EventArgs e) { if(textBox5.Text != "" && textBox5.Enabled == true) { label5.Enabled = true; textBox3.Enabled = true; } else { label5.Enabled = false; textBox3.Enabled = false; } loadTextBox3(); } private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e) { textBox5.Text = dataGridView2.SelectedRows[0].Cells["Zákazník"].Value.ToString(); textBox3.Text = dataGridView2.SelectedRows[0].Cells["Názov výrobku"].Value.ToString(); numericUpDown2.Value = Int32.Parse(dataGridView2.SelectedRows[0].Cells["Počet"].Value.ToString()); numericUpDown1.Value = Decimal.Parse(dataGridView2.SelectedRows[0].Cells["Cena"].Value.ToString()); } private void numericUpDown1_ValueChanged(object sender, EventArgs e) { if (numericUpDown1.Value > 0 && textBox3.Text != "") button2.Enabled = true; else button2.Enabled = false; } private void frmVybratTypVyhodnotenia_Load(object sender, EventArgs e) { dataGridView2.ClearSelection(); } } }