697 lines
28 KiB
C#
697 lines
28 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;
|
|
using System.IO;
|
|
using Syncfusion.Pdf.Parsing;
|
|
using System.Drawing.Imaging;
|
|
|
|
|
|
namespace Mip
|
|
{
|
|
public partial class frmPridatVyrobok : Form
|
|
{
|
|
DataTable pomocnaDT = new DataTable();
|
|
Point poinPosition;
|
|
bool deleteRow=false;
|
|
Single z=1;
|
|
int sizeH;
|
|
int sizeW;
|
|
string IDVyrobok;
|
|
DataTable DTVykresy = new DataTable();
|
|
|
|
public frmPridatVyrobok(string strZakaznik, string idVyrobok = null)
|
|
{
|
|
InitializeComponent();
|
|
label2.Text = strZakaznik;
|
|
IDVyrobok = idVyrobok;
|
|
this.MouseWheel += new MouseEventHandler(pictureBox1_MouseWheel);
|
|
|
|
}
|
|
|
|
private void pictureBox1_MouseWheel(object sender, MouseEventArgs e)
|
|
{
|
|
if(pictureBox1.Image != null)
|
|
{
|
|
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
|
|
z += (Convert.ToSingle(0.1) * (e.Delta / Math.Abs(e.Delta)));
|
|
pictureBox1.Height = Convert.ToInt32(sizeH * z);
|
|
pictureBox1.Width = Convert.ToInt32(sizeW * z);
|
|
if (dataGridView1.RowCount != 0)
|
|
{
|
|
DataGridViewRow dtrw;
|
|
dtrw = dataGridView1.CurrentRow;
|
|
groupBox1.Text = "Zobraziť výkres: " + dtrw.Cells["Nazov_suboru"].Value.ToString() + ", " + "Zoom= " + (Convert.ToSingle(pictureBox1.Width) / Convert.ToSingle(pictureBox1.Image.Width)).ToString();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void frmPridatVyrobok_Load(object sender, EventArgs e)
|
|
{
|
|
pomocnaDT.Columns.Add("Nazov_suboru",typeof (string));
|
|
pomocnaDT.Columns.Add("Velkost_suboru",typeof (string));
|
|
pomocnaDT.Columns.Add("Typ_suboru", typeof(string));
|
|
pomocnaDT.Columns.Add("Cesta",typeof (string));
|
|
pomocnaDT.Columns.Add("Data", typeof(string));
|
|
pomocnaDT.Columns.Add("Valid", typeof(int));
|
|
VypisSpojenyRozmer();
|
|
classGlobal.FillCB(comboBox2, "tabpomocnychudajov", "Hodnota", "Kategoria", "Pridať iný názov");
|
|
if (IDVyrobok != null)
|
|
{
|
|
LoadEditData();
|
|
}
|
|
}
|
|
|
|
private void LoadEditData()
|
|
{
|
|
DataTable DTEditVyrobok = new DataTable();
|
|
//dGVZoznamVyrobkov.CurrentRow.Cells["IDVyrobok"].Value.ToString()
|
|
|
|
classSQL.SQL("SELECT * FROM tabvyrobok WHERE `IDVyrobok` = " + IDVyrobok + ";", out DTEditVyrobok);
|
|
label2.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Zakaznik"].Ordinal].ToString();
|
|
textBox6.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["NazovVyrobku"].Ordinal].ToString();
|
|
comboBox2.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["InyNazov"].Ordinal].ToString();
|
|
|
|
if (DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["RozmerTvar"].Ordinal].ToString() == "Ø") numericUpDown1.Value = 0;
|
|
else numericUpDown1.Value = 1;
|
|
textBox2.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Rozmer1"].Ordinal].ToString();
|
|
textBox3.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Rozmer2"].Ordinal].ToString();
|
|
textBox4.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Rozmer3"].Ordinal].ToString();
|
|
|
|
textBox1.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["RozlisZnakKonecnaOp"].Ordinal].ToString();
|
|
textBox5.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["Alias"].Ordinal].ToString();
|
|
textBox7.Text = DTEditVyrobok.Rows[0].ItemArray[DTEditVyrobok.Columns["PocetSegmentov"].Ordinal].ToString();
|
|
VypisSpojenyRozmer();
|
|
|
|
string cmd = @"SELECT `IDVyrobok`,
|
|
`IndexVykresu`,
|
|
`IndexVykresu` AS `OldIndexVykresu`,
|
|
'Z databázy SQL' AS `Názov`,
|
|
'-' AS `Cesta`,
|
|
`IDVykres`,
|
|
IF (`IndexVykresu` < 100, 'Aktuálny','Neaktuálny') AS `StatusVykresu`
|
|
FROM `mip`.`tabvykres` WHERE `IDVyrobok` = " + IDVyrobok + " ORDER BY `IndexVykresu` ;";
|
|
classSQL.SQL(cmd, out DTVykresy);
|
|
dataGridView1.DataSource = DTVykresy;
|
|
}
|
|
|
|
private void btnAddVykres_Click(object sender, EventArgs e)
|
|
{
|
|
openFileDialog1.Multiselect = true;
|
|
openFileDialog1.DefaultExt = "jpg";
|
|
openFileDialog1.Filter = "Obrázky (*.BMP;*.JPG;*.JPEG;*.GIF;*.PNG;*.EXIF;*.TIFF)|*.BMP;*.JPG;*.JPEG;*.GIF;*.PNG;*.EXIF;*.TIFF|" + "Pdf súbory (*.pdf)|*.pdf";
|
|
openFileDialog1.FilterIndex = 1;
|
|
openFileDialog1.FileName = "";
|
|
openFileDialog1.ShowDialog();
|
|
|
|
if (openFileDialog1.FileNames != null && openFileDialog1.FileName != "")
|
|
{
|
|
foreach (string Cesta in openFileDialog1.FileNames)
|
|
{
|
|
bool CestaExist = false;
|
|
foreach (DataRow rowCesta in pomocnaDT.Rows)
|
|
{
|
|
if (rowCesta["Cesta"].ToString() == Cesta.ToString()) CestaExist = true;
|
|
}
|
|
|
|
if (!CestaExist)
|
|
{
|
|
FileStream fileStream;
|
|
fileStream = new FileStream(Cesta, FileMode.Open, FileAccess.Read);
|
|
var fileSize = (int)fileStream.Length;
|
|
var VykresData = new byte[fileSize];
|
|
fileStream.Read(VykresData, 0, fileSize);
|
|
|
|
var FileNameStart = Cesta.LastIndexOf("\\") + 1;
|
|
var FileName = Cesta.Substring(FileNameStart, Cesta.Length - FileNameStart);
|
|
var ExtensionStart = Cesta.LastIndexOf(".") + 1;
|
|
var Extension = Cesta.Substring(ExtensionStart, Cesta.Length - ExtensionStart);
|
|
|
|
pomocnaDT.Rows.Add(FileName, Cesta.Length.ToString(), Extension, Cesta, VykresData.ToString(), Convert.ToInt32(IsFileValid(VykresData, Extension)));
|
|
|
|
dataGridView1.DataSource = pomocnaDT;
|
|
StyleGridView();
|
|
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Selected = true;
|
|
obrazok_Refresh(dataGridView1.Rows.Count - 1);
|
|
if (dataGridView1.Rows.Count > 5) dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.Rows.Count - 5;
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Súbor: " + Cesta + "\n už v zozname figuruje!", "Upozornenie ...", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
}
|
|
|
|
pictureBox1.Visible = true;
|
|
}
|
|
}
|
|
|
|
if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true;
|
|
else button5.Enabled = false; //kontrola naplnenia povinných dát
|
|
}
|
|
|
|
private void StyleGridView()
|
|
{
|
|
dataGridView1.Columns["Data"].Visible = false;
|
|
|
|
dataGridView1.AutoResizeColumns();
|
|
dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
|
|
dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
|
|
dataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
|
|
dataGridView1.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
dataGridView1.Columns[5].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
|
|
dataGridView1.AutoResizeRows();
|
|
}
|
|
|
|
private bool IsFileValid(byte[] vykresData, string extension)
|
|
{
|
|
try
|
|
{
|
|
switch (extension)
|
|
{
|
|
case "pdf":
|
|
PdfLoadedDocument loadedDocument = new PdfLoadedDocument(vykresData);
|
|
Bitmap pdfToJpeg = loadedDocument.ExportAsImage(0);
|
|
loadedDocument.Close(true);
|
|
return true;
|
|
default:
|
|
var memoryStream = new MemoryStream(vykresData);
|
|
Bitmap image = new Bitmap(memoryStream);
|
|
return true;
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
//MessageBox.Show($"Súbor '{Cesta}' nie je obrázok ani pdf");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
private void btnVymazVykres_Click(object sender, EventArgs e)
|
|
{
|
|
deleteRow = true;
|
|
int currentRowIndex = dataGridView1.CurrentRow.Index;
|
|
pomocnaDT.Rows[currentRowIndex].Delete();
|
|
if (pomocnaDT.Rows.Count == 0)
|
|
{
|
|
btnVymazVykres.Enabled = false;
|
|
button5.Enabled = false;
|
|
button1.Enabled = false;
|
|
pictureBox1.Visible = false;
|
|
}
|
|
else //v tabulke ešte sú dáta
|
|
{
|
|
if (currentRowIndex > 0) currentRowIndex--;
|
|
dataGridView1.Rows[currentRowIndex].Selected = true;
|
|
obrazok_Refresh(currentRowIndex);
|
|
pictureBox1.Visible = true;
|
|
}
|
|
if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count !=0) button5.Enabled = true;
|
|
else button5.Enabled = false; //kontrola naplnenia povinných dát
|
|
}
|
|
|
|
private void pictureBox1_LocationChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
//int p1=0;
|
|
private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
//label1.Text = "teraz "+p1++.ToString();
|
|
|
|
btnVymazVykres.Enabled = true;
|
|
button1.Enabled = true;
|
|
if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true;
|
|
else button5.Enabled = false; //kontrola naplnenia povinných dát
|
|
|
|
|
|
|
|
|
|
if (!deleteRow) obrazok_Refresh(e.RowIndex);
|
|
else deleteRow = false;
|
|
|
|
|
|
}
|
|
|
|
private void obrazok_Refresh(int index)
|
|
{
|
|
|
|
FileStream fs;
|
|
int fileSize;
|
|
byte[] fileData;
|
|
DataRow dRow;
|
|
if (pomocnaDT.Rows.Count != 0)
|
|
{
|
|
dRow = pomocnaDT.Rows[index];
|
|
|
|
var isPdf = dRow["Typ_suboru"].ToString() == "pdf";
|
|
var isValid = dRow["Valid"].ToString() == "1";
|
|
|
|
if(isValid)
|
|
{
|
|
if (isPdf)
|
|
{
|
|
FileStream pdfFileStream = new FileStream(dRow["Cesta"].ToString(), FileMode.Open, FileAccess.Read);
|
|
pictureBox1.Visible = false;
|
|
pdfDocumentView1.Visible = true;
|
|
pdfDocumentView1.Load(pdfFileStream);
|
|
pdfDocumentView1.ZoomMode = Syncfusion.Windows.Forms.PdfViewer.ZoomMode.FitWidth;
|
|
pdfDocumentView1.Dock = DockStyle.Fill;
|
|
}
|
|
else
|
|
{
|
|
fs = new FileStream(dRow["Cesta"].ToString(), FileMode.Open, FileAccess.Read);
|
|
fileSize = (int)fs.Length;
|
|
fileData = new byte[fileSize];
|
|
fs.Read(fileData, 0, fileSize);
|
|
fs.Close();
|
|
Bitmap obrazok;
|
|
//using (MemoryStream stream = new MemoryStream(fileData)) obrazok = new Bitmap(stream);
|
|
MemoryStream stream = new MemoryStream(fileData);
|
|
obrazok = new Bitmap(stream);
|
|
pictureBox1.Visible = true;
|
|
pictureBox1.Image = obrazok;
|
|
pictureBox1.Height = obrazok.Height;
|
|
pictureBox1.Width = obrazok.Width;
|
|
sizeH = pictureBox1.Image.Size.Height;
|
|
sizeW = pictureBox1.Image.Size.Width;
|
|
pdfDocumentView1.Visible = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
pictureBox1.Visible = false;
|
|
pdfDocumentView1.Visible = false;
|
|
}
|
|
|
|
z = 1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
private void label9_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void Zavrieť_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void textBox2_TextChanged(object sender, EventArgs e)
|
|
{
|
|
VypisSpojenyRozmer();
|
|
|
|
if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true;
|
|
else button5.Enabled = false; //kontrola naplnenia povinných dát
|
|
}
|
|
|
|
public void VypisSpojenyRozmer()
|
|
{
|
|
string strSpojeny = "";
|
|
string strKonZnak ="";
|
|
|
|
if (textBox2.Text != "")
|
|
{
|
|
if(textBox1.Text =="") strKonZnak = "";
|
|
else strKonZnak = " -" + textBox1.Text ;
|
|
|
|
if (numericUpDown1.Value == 0)
|
|
{
|
|
if (textBox3.Text != "" && textBox3.Text != "0") strSpojeny = label10.Text + textBox2.Text + "/" + textBox3.Text + "x" + textBox4.Text + strKonZnak ;
|
|
else strSpojeny = label10.Text + textBox2.Text + "x" + textBox4.Text + strKonZnak ;
|
|
}
|
|
else strSpojeny = label10.Text + textBox2.Text + "x" + textBox3.Text + "x" + textBox4.Text + strKonZnak ;
|
|
}
|
|
else strSpojeny = "";
|
|
label12.Text = strSpojeny;
|
|
}
|
|
|
|
private void numericUpDown1_ValueChanged(object sender, EventArgs e)
|
|
{
|
|
if (numericUpDown1.Value == 0)
|
|
{
|
|
label10.Text = "Ø";
|
|
label4.Text = "Ømax";
|
|
label5.Text = "Ømin";
|
|
label6.Text = "Dĺžka";
|
|
}
|
|
else
|
|
{
|
|
label10.Text = "□";
|
|
label4.Text = "X";
|
|
label5.Text = "Y";
|
|
label6.Text = "Z";
|
|
}
|
|
VypisSpojenyRozmer();
|
|
}
|
|
|
|
private void textBox3_TextChanged(object sender, EventArgs e)
|
|
{
|
|
VypisSpojenyRozmer();
|
|
|
|
if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true;
|
|
else button5.Enabled = false; //kontrola naplnenia povinných dát
|
|
}
|
|
|
|
private void textBox4_TextChanged(object sender, EventArgs e)
|
|
{
|
|
VypisSpojenyRozmer();
|
|
|
|
if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true;
|
|
else button5.Enabled = false; //kontrola naplnenia povinných dát
|
|
}
|
|
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
float floatResult;
|
|
if (e.KeyChar == '.') e.KeyChar = ',';
|
|
if (!(float.TryParse(textBox2.Text + e.KeyChar, out floatResult)) && (int)e.KeyChar != 8) e.KeyChar = '\0';
|
|
}
|
|
|
|
private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
float floatResult;
|
|
if (e.KeyChar == '.') e.KeyChar = ',';
|
|
if (!(float.TryParse(textBox3.Text + e.KeyChar, out floatResult)) && (int)e.KeyChar != 8) e.KeyChar = '\0';
|
|
}
|
|
|
|
private void textBox4_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
float floatResult;
|
|
if (e.KeyChar == '.') e.KeyChar = ',';
|
|
if (!(float.TryParse(textBox4.Text + e.KeyChar, out floatResult)) && (int)e.KeyChar != 8) e.KeyChar = '\0';
|
|
}
|
|
|
|
private void textBox1_TextChanged(object sender, EventArgs e)
|
|
{
|
|
VypisSpojenyRozmer();
|
|
}
|
|
|
|
private void pictureBox1_Click(object sender, EventArgs e)
|
|
{
|
|
textBox1.Focus();
|
|
}
|
|
|
|
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
|
|
{
|
|
if (e.Button == MouseButtons.Left)
|
|
{
|
|
poinPosition = e.Location;
|
|
}
|
|
}
|
|
|
|
private void groupBox1_Enter(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void dataGridView1_DataMemberChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void button5_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void dataGridView1_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
if (btnVymazVykres.Enabled && ((Keys)e.KeyChar == Keys.Delete || e.KeyChar == '-')) btnVymazVykres_Click(null, null);
|
|
if (e.KeyChar == '+') btnAddVykres_Click(null, null);
|
|
|
|
}
|
|
|
|
private void frmPridatVyrobok_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
// dataGridView1_KeyPress(null, e);
|
|
}
|
|
|
|
private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
|
|
{
|
|
btnVymazVykres_Click(null, null);
|
|
}
|
|
|
|
private void button6_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void panel1_Paint(object sender, PaintEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void btnCopyToClipboard_Click(object sender, EventArgs e)
|
|
{
|
|
Clipboard.SetText(textBox5.Text);
|
|
}
|
|
|
|
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
{
|
|
Point changePoint = new Point (e.Location.X - poinPosition.X, e.Location.Y - poinPosition.Y);
|
|
panel1.AutoScrollPosition = new Point(-panel1.AutoScrollPosition.X - changePoint.X, -panel1.AutoScrollPosition.Y - changePoint.Y);
|
|
}
|
|
|
|
}
|
|
|
|
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void button6_Click_1(object sender, EventArgs e)
|
|
{
|
|
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
|
|
z += Convert.ToSingle(0.1);
|
|
pictureBox1.Height = Convert.ToInt32(sizeH * z);
|
|
pictureBox1.Width = Convert.ToInt32(sizeW * z);
|
|
if (dataGridView1.RowCount != 0)
|
|
{
|
|
DataGridViewRow dtrw;
|
|
dtrw = dataGridView1.CurrentRow;
|
|
groupBox1.Text = "Zobraziť výkres: " + dtrw.Cells["Nazov_suboru"].Value.ToString() + ", " + "Zoom= " + (Convert.ToSingle(pictureBox1.Width) / Convert.ToSingle(pictureBox1.Image.Width)).ToString();
|
|
}
|
|
}
|
|
|
|
private void button7_Click(object sender, EventArgs e)
|
|
{
|
|
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
|
|
z -= Convert.ToSingle(0.1);
|
|
pictureBox1.Height = Convert.ToInt32(sizeH * z);
|
|
pictureBox1.Width = Convert.ToInt32(sizeW * z);
|
|
if (dataGridView1.RowCount != 0)
|
|
{
|
|
DataGridViewRow dtrw;
|
|
dtrw = dataGridView1.CurrentRow;
|
|
groupBox1.Text = "Zobraziť výkres: " + dtrw.Cells["Nazov_suboru"].Value.ToString() + ", " + "Zoom= " + (Convert.ToSingle(pictureBox1.Width) / Convert.ToSingle(pictureBox1.Image.Width)).ToString();
|
|
}
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
string nazov = dataGridView1.CurrentRow.Cells["Nazov_Suboru"].Value.ToString();
|
|
char[] nnazov = new char[nazov.LastIndexOf(".")];
|
|
|
|
nazov.CopyTo(0, nnazov, 0, nnazov.Length);
|
|
textBox6.Text = new string(nnazov);
|
|
|
|
}
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
Form Add = new frmAddPomUdaje();
|
|
Add.Text = "Pridať iný názov";
|
|
DialogResult dr = Add.ShowDialog();
|
|
if (dr == DialogResult.OK)
|
|
{
|
|
classGlobal.FillCB(comboBox2, "tabpomocnychudajov", "Hodnota", "Kategoria", "Pridať iný názov");
|
|
comboBox2.Text = classGlobal.strNovyPomocnyUdaj;
|
|
}
|
|
}
|
|
|
|
private void button5_Click_1(object sender, EventArgs e)
|
|
{
|
|
string cmd;
|
|
DataTable dtbl = new DataTable();
|
|
classSQL.SQL("SELECT `NazovVyrobku` FROM `mip`.`tabvyrobok` WHERE `Zakaznik`= '" + label2.Text
|
|
+ "' AND `NazovVyrobku` = '" + textBox6.Text + "';", out dtbl);
|
|
|
|
if (dtbl.Rows.Count != 0) MessageBox.Show("Výrobok s názvom: \n " + textBox6.Text + "\n v datábáze výrobkov odberateľa " + label2.Text + " už existuje!!!\n Prosím zmeňte názov výrobku", "Pozor ... ",
|
|
MessageBoxButtons.OK,MessageBoxIcon.Warning); //Ak sa výrobok v databaze uz nachádza
|
|
else // ak sa výrobok v dtbaze nenachádza tak ho pridať
|
|
{
|
|
classGlobal.strNovyPomocnyUdaj = textBox6.Text; //pomocný údaj pre naplnenie comboboxu po zavreti okna
|
|
string statusVyrobku = "";
|
|
if (radioButton1.Checked == true) statusVyrobku = "Výroba";
|
|
if (radioButton2.Checked == true) statusVyrobku = "Cenová ponuka";
|
|
|
|
if (textBox7.Text == "") textBox7.Text = "1"; // Ak je pocet segmentov "" tak potom je 1
|
|
cmd = "INSERT INTO `mip`.`tabvyrobok` (`NazovVyrobku`, `RozmerTvar`, `Rozmer1`, `Rozmer2`, `Rozmer3`, `SpojeneRozmery`, `Zakaznik`, `InyNazov`, `RozlisZnakKonecnaOp`, `Alias`,`PocetSegmentov`, `Status výrobku`) VALUES ('"
|
|
+ textBox6.Text.ToString() + "', '" //NazovVyrobku
|
|
+ label10.Text.ToString() + "', " //RozmerTvar
|
|
+ textBox2.Text.ToString().Replace(",",".") + ", " //rozmer1
|
|
+ textBox3.Text.ToString().Replace(",", ".") + "," //rozmer2
|
|
+ textBox4.Text.ToString().Replace(",", ".") + ", '" //rozmer3
|
|
+ label12.Text.ToString() + "', '" //spojene rozmery
|
|
+ label2.Text.ToString() + "', '" //zakaznik
|
|
+ comboBox2.Text.ToString() + "', '" //Iny nazov
|
|
+ textBox1.Text.ToString() + "', '" //rozlis znak alebo konecna operacia
|
|
+ textBox5.Text.ToString() + "', " //alias
|
|
+ textBox7.Text.ToString() + ", '"
|
|
+ statusVyrobku + "');"; //Pocet segmetnov
|
|
|
|
classSQL.SQL(cmd);
|
|
//dtbl=classSQL.commandSQL(cmd,1);
|
|
|
|
// <Pridať výkresovú dokumentáciu do tabvykresy>
|
|
int IDVyrobok;
|
|
//classSQL.commandSQL("SELECT `IDVyrobok` FROM `mip`.`tabvyrobok` WHERE `Zakaznik`= '" + label2.Text + "';");
|
|
// IDVyrobok = (int)classSQL.dTable.Rows[0]["IDVyrobok"];
|
|
|
|
string ccmmdd = "SELECT `NazovVyrobku`,`IDVyrobok` FROM `mip`.`tabvyrobok` WHERE `Zakaznik`= '" + label2.Text
|
|
+ "' AND `NazovVyrobku` = '" + textBox6.Text + "';";
|
|
|
|
classSQL.SQL(ccmmdd, out dtbl);
|
|
DataRow dtrw = dtbl.Rows[0];
|
|
IDVyrobok = Convert.ToInt32(dtrw["IDVyrobok"].ToString());
|
|
|
|
var indexVykresu = 1;
|
|
|
|
for (int p1=0; p1 < pomocnaDT.Rows.Count; p1++)
|
|
{
|
|
FileStream fs;
|
|
int fileSize;
|
|
byte[] VykresData;
|
|
|
|
dtrw=pomocnaDT.Rows[p1];
|
|
var isValid = dtrw["Valid"].ToString() == "1";
|
|
|
|
if(isValid)
|
|
{
|
|
fs = new FileStream(dtrw["Cesta"].ToString(), FileMode.Open, FileAccess.Read);
|
|
fileSize = (int)fs.Length;
|
|
VykresData = new byte[fileSize];
|
|
fs.Read(VykresData, 0, fileSize);
|
|
|
|
var fileToSave = new byte[fileSize];
|
|
|
|
switch (dtrw["Typ_suboru"].ToString())
|
|
{
|
|
case "pdf":
|
|
PdfLoadedDocument loadedDocument = new PdfLoadedDocument(VykresData);
|
|
Bitmap pdfToJpeg = loadedDocument.ExportAsImage(0);
|
|
loadedDocument.Close(true);
|
|
|
|
fileToSave = SaveAsJpeg(pdfToJpeg);
|
|
break;
|
|
|
|
case "jpg":
|
|
fileToSave = VykresData;
|
|
break;
|
|
|
|
default:
|
|
Bitmap imageToJpeg = new Bitmap(fs);
|
|
fileToSave = SaveAsJpeg(imageToJpeg);
|
|
break;
|
|
}
|
|
|
|
fs.Close();
|
|
classSQL.SaveVykresToSQL(IDVyrobok, indexVykresu, fileToSave);
|
|
indexVykresu += 1;
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show($"Výkres '{dtrw["Cesta"]}' nie je validný obrázok alebo pdf! {Environment.NewLine} Preto nebol uložený do databázy.");
|
|
}
|
|
}
|
|
|
|
MessageBox.Show("Výrobok úspešne pridaný!");
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
|
|
// </Pridať výkresovú dokumentáciu do tabvykresy>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private byte[] SaveAsJpeg(Bitmap image)
|
|
{
|
|
byte[] returnImageData;
|
|
using (var stream = new MemoryStream())
|
|
{
|
|
image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
|
|
returnImageData = stream.ToArray();
|
|
}
|
|
|
|
return returnImageData;
|
|
}
|
|
|
|
private void textBox6_TextChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
|
|
if (textBox6.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && dataGridView1.Rows.Count != 0) button5.Enabled = true;
|
|
else button5.Enabled = false; //kontrola naplnenia povinných dát
|
|
|
|
|
|
}
|
|
|
|
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void textBox6_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
/*
|
|
|
|
char[] invalidchars = Path.GetInvalidFileNameChars();
|
|
|
|
foreach (char znak in invalidchars)
|
|
{
|
|
if (e.KeyChar == znak) e.KeyChar = '\0';
|
|
|
|
*/
|
|
|
|
if((int)e.KeyChar!=8) foreach (char znak in Path.GetInvalidFileNameChars()) if (e.KeyChar == znak) e.KeyChar = '\0';
|
|
|
|
}
|
|
|
|
private void toolTip1_Popup(object sender, PopupEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void toolTip1_Draw(object sender, DrawToolTipEventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void textBox7_KeyPress(object sender, KeyPressEventArgs e)
|
|
{
|
|
int intResult;
|
|
//if (e.KeyChar == '.') e.KeyChar = ',';
|
|
if (!(int.TryParse(textBox7.Text + e.KeyChar, out intResult)) && (int)e.KeyChar != 8) e.KeyChar = '\0';
|
|
}
|
|
|
|
}
|
|
|
|
}
|