Files
MIP/Mip/frmVybratTypVyhodnotenia.cs
Culak-HP\Culak 369a27bf33 vyhodnocovanie
2021-01-05 17:07:25 +01:00

307 lines
12 KiB
C#

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;
Int32 idNacenovanie;
Int32 idVyrobok;
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<String>("Zákazkové číslo").ToLower().Contains(textBox1.Text.ToLower())
&& row.Field<String>("Zákazník").ToLower().Contains(textBox4.Text.ToLower())
&& row.Field<String>("Názov výrobku").ToLower().Contains(textBox2.Text.ToLower())
).CopyToDataTable();
}
catch
{
dataTable = null;
}
}
else
{
try
{
dataTable = dopyty.AsEnumerable()
.Where(row =>
row.Field<String>("Zákazkové číslo").ToLower().Contains(textBox1.Text.ToLower())
&& row.Field<String>("Zákazník").ToLower().Contains(textBox4.Text.ToLower())
&& row.Field<String>("Názov výrobku").ToLower().Contains(textBox2.Text.ToLower())
&& row.Field<String>("Zákazkové číslo") != "0"
).CopyToDataTable();
}
catch
{
dataTable = null;
}
}
}
else
{
if (checkBox2.Checked)
{
try
{
dataTable = dopyty.AsEnumerable()
.Where(row =>
row.Field<String>("Zákazkové číslo").ToLower().Contains(textBox1.Text.ToLower())
&& row.Field<String>("Zákazník").ToLower().Contains(textBox4.Text.ToLower())
&& row.Field<String>("Názov výrobku").ToLower().Contains(textBox2.Text.ToLower())
&& row.Field<String>("ID naceňovanie") != "0"
).CopyToDataTable();
}
catch
{
dataTable = null;
}
}
else
{
try
{
dataTable = dopyty.AsEnumerable()
.Where(row =>
row.Field<String>("Zákazkové číslo").ToLower().Contains(textBox1.Text.ToLower())
&& row.Field<String>("Zákazník").ToLower().Contains(textBox4.Text.ToLower())
&& row.Field<String>("Názov výrobku").ToLower().Contains(textBox2.Text.ToLower())
&& row.Field<String>("Zákazkové číslo") == "0"
&& row.Field<String>("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<String>("Zákazník"))
.Select(x => x.First())
.CopyToDataTable()
.AsEnumerable()
.Select<DataRow, String>(x => x.Field<String>("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<String>("Názov výrobku"))
.Select(x => x.First())
.Where(y => y.Field<String>("Zákazník").ToLower().Contains(textBox5.Text.ToLower()))
.CopyToDataTable()
.AsEnumerable()
.Select<DataRow, String>(x => x.Field<String>("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());
idNacenovanie = Int32.Parse(dataGridView2.SelectedRows[0].Cells["ID naceňovanie"].Value.ToString());
idVyrobok = Int32.Parse(dataGridView2.SelectedRows[0].Cells["ID výrobok"].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();
}
private void button2_Click(object sender, EventArgs e)
{
Form frmNacenovanie2 = new frmNacenovanie(idNacenovanie, idVyrobok, true, true, false, false, false, false);
frmNacenovanie2.Text = "Vyhodnocovanie";
frmNacenovanie2.ShowDialog();
}
}
}