From d01e8474ac517ff99b64a149bd9863701b21ff88 Mon Sep 17 00:00:00 2001 From: Husky Date: Sun, 1 Jul 2018 22:39:05 +0200 Subject: [PATCH] WIP --- BerichtGen/Bericht.cs | 115 +++++++++++++++++ BerichtGen/BerichtGen.csproj | 47 +++++++ BerichtGen/Options.Designer.cs | 60 +++++++++ BerichtGen/Options.cs | 53 ++++++++ BerichtGen/Options.resx | 120 ++++++++++++++++++ SanShared/BilderObject.cs | 15 +++ SanShared/SanShared.csproj | 1 + SanSystem/SanSystem.csproj | 6 +- SanSystem/UCInliner.Designer.cs | 47 ++++--- SanSystem/UCInliner.cs | 18 +++ .../{klp_vorlage.docx => liner_einbau.docx} | Bin 42042 -> 40219 bytes 11 files changed, 464 insertions(+), 18 deletions(-) create mode 100644 BerichtGen/Bericht.cs create mode 100644 BerichtGen/Options.Designer.cs create mode 100644 BerichtGen/Options.cs create mode 100644 BerichtGen/Options.resx create mode 100644 SanShared/BilderObject.cs rename SanSystem/documents/JUME/{klp_vorlage.docx => liner_einbau.docx} (51%) diff --git a/BerichtGen/Bericht.cs b/BerichtGen/Bericht.cs new file mode 100644 index 0000000..7e9465e --- /dev/null +++ b/BerichtGen/Bericht.cs @@ -0,0 +1,115 @@ +using SanShared; +using Syncfusion.DocIO.DLS; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BerichtGen +{ + public class Bericht + { + private List _listImages; + /// + /// Erstellt + /// + /// Die zuverwendete Vorlagenname + /// Die name zum Speichern der Datei + /// Pfad zum Speichern + /// Inhalt vom Dokument + /// Ein doc datei soll erzeugt werden + /// Ein Pdf datei soll erzeugt werden + public void Erzeuge(string firma, string vorlage, string savepath, Hashtable daten,List bilderObjects, bool erzeugeDOC = false , bool erzeugePDF = true) + { + _listImages = new List(); + foreach(BilderObject current in bilderObjects) + { + Image image = Image.FromFile(current.Path); + _listImages.Add(ResizeImage(image, CalculateImageSizeForDocument(image.Height, image.Width))); + image.Dispose(); + } + + WordDocument wordDocument = new WordDocument("./documents/JUME/liner_einbau.docx"); + + string[] fieldnames = null; + string[] fieldvalues = null; + + if(fieldnames == null || fieldvalues == null) + { + fieldnames = new string[daten.Count]; + fieldvalues = new string[daten.Count]; + } + + uint counter = 0; + foreach(DictionaryEntry hashtable in daten) + { + fieldnames[counter] = hashtable.Key.ToString(); + if (hashtable.Value == null) + { + fieldvalues[counter] = ""; + } + else + { + fieldvalues[counter] = hashtable.Value.ToString(); + } + counter++; + } + wordDocument.MailMerge.Execute(fieldnames, fieldvalues); + wordDocument.MailMerge.MergeImageField += new MergeImageFieldEventHandler(this.MailMerge_MergeImageField); + + } + private readonly double _cmPixel = 0.393700787; + private readonly int _dpi = 120; + private readonly double _imgWidthCmMax = 8.0; + + private Size CalculateImageSizeForDocument(int height, int width) + { + double num = (double)height / (double)width; + double num2 = this._imgWidthCmMax * num; + int h = (int)(num2 * _cmPixel * (double)_dpi); + int w = (int)(_imgWidthCmMax * _cmPixel * (double)_dpi); + return new Size(w, h); + } + + private Image ResizeImage(Image image, Size size) + { + int width = image.Width; + int height = image.Height; + float num = (float)size.Width / (float)width; + float num2 = (float)size.Height / (float)height; + float num3 = (num2 < num) ? num2 : num; + int width2 = (int)((float)width * num3); + int height2 = (int)((float)height * num3); + Bitmap bitmap = new Bitmap(width2, height2); + try + { + bitmap.SetResolution(120f, 120f); + Graphics graphics = Graphics.FromImage(bitmap); + graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; + graphics.DrawImage(image, 0, 0, width2, height2); + graphics.Dispose(); + + } + catch(Exception ex) + { + + } + finally + { + System.GC.Collect(); + } + return bitmap; + } + + private void MailMerge_MergeImageField(object sender, MergeImageFieldEventArgs args) + { + + } + + + + } +} diff --git a/BerichtGen/BerichtGen.csproj b/BerichtGen/BerichtGen.csproj index 4ee8843..0a50aaa 100644 --- a/BerichtGen/BerichtGen.csproj +++ b/BerichtGen/BerichtGen.csproj @@ -30,8 +30,37 @@ 4 + + False + ..\3rdPackage\Syncfusion.Compression.Base.dll + + + ..\3rdPackage\Syncfusion.Core.dll + + + False + ..\3rdPackage\Syncfusion.DocIO.Base.dll + + + False + ..\3rdPackage\Syncfusion.DocToPDFConverter.Base.dll + + + False + ..\3rdPackage\Syncfusion.OfficeChart.Base.dll + + + False + ..\3rdPackage\Syncfusion.Pdf.Base.dll + + + False + ..\3rdPackage\Syncfusion.PdfViewer.Windows.dll + + + @@ -40,7 +69,25 @@ + + + Form + + + Options.cs + + + + Options.cs + + + + + {C949087E-20E1-4A17-B021-FAEAD363C1D8} + SanShared + + \ No newline at end of file diff --git a/BerichtGen/Options.Designer.cs b/BerichtGen/Options.Designer.cs new file mode 100644 index 0000000..b5ff1d9 --- /dev/null +++ b/BerichtGen/Options.Designer.cs @@ -0,0 +1,60 @@ +namespace BerichtGen +{ + partial class Options + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.btn_start = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // btn_start + // + this.btn_start.Location = new System.Drawing.Point(176, 249); + this.btn_start.Name = "btn_start"; + this.btn_start.Size = new System.Drawing.Size(75, 67); + this.btn_start.TabIndex = 0; + this.btn_start.Text = "button1"; + this.btn_start.UseVisualStyleBackColor = true; + this.btn_start.Click += new System.EventHandler(this.btn_start_Click); + // + // Options + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.btn_start); + this.Name = "Options"; + this.Text = "Options"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button btn_start; + } +} \ No newline at end of file diff --git a/BerichtGen/Options.cs b/BerichtGen/Options.cs new file mode 100644 index 0000000..b55c2c9 --- /dev/null +++ b/BerichtGen/Options.cs @@ -0,0 +1,53 @@ +using SanShared; +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace BerichtGen +{ + public partial class Options : Form + { + Thread generateProtokollThread; + Hashtable grundDaten; + string firma; + string vorlage; + string speicherpfad; + List bilderObjects; + + + public Options(string firma, string vorlage, string speicherpfad, Hashtable grunddaten, List bilderObjects) + { + InitializeComponent(); + this.firma = firma; + this.vorlage = vorlage; + this.speicherpfad = speicherpfad; + this.grundDaten = grunddaten; + this.bilderObjects = bilderObjects; + } + + void Gen() + { + Bericht bericht = new Bericht(); + bericht.Erzeuge("", "", "", grundDaten,bilderObjects); + } + + private void btn_start_Click(object sender, EventArgs e) + { + generateProtokollThread = new Thread(Gen); + generateProtokollThread.IsBackground = true; + generateProtokollThread.Start(); + + while (generateProtokollThread.IsAlive) ; + + this.Close(); + } + } +} diff --git a/BerichtGen/Options.resx b/BerichtGen/Options.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/BerichtGen/Options.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SanShared/BilderObject.cs b/SanShared/BilderObject.cs new file mode 100644 index 0000000..c37a13b --- /dev/null +++ b/SanShared/BilderObject.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SanShared +{ + public class BilderObject + { + public string Kommentar { get; set; } + public string Path { get; set; } + public int ImgID { get; set; } + } +} diff --git a/SanShared/SanShared.csproj b/SanShared/SanShared.csproj index 414c886..b21b308 100644 --- a/SanShared/SanShared.csproj +++ b/SanShared/SanShared.csproj @@ -40,6 +40,7 @@ + diff --git a/SanSystem/SanSystem.csproj b/SanSystem/SanSystem.csproj index 0f84536..c59cb54 100644 --- a/SanSystem/SanSystem.csproj +++ b/SanSystem/SanSystem.csproj @@ -127,7 +127,7 @@ UCSchachtanbindung.cs - + PreserveNewest @@ -146,6 +146,10 @@ + + {3022da07-fd06-4aea-9fc8-00d318e95a82} + BerichtGen + {b0227727-6cf9-4e2e-9afe-5dd76deaa9db} Database diff --git a/SanSystem/UCInliner.Designer.cs b/SanSystem/UCInliner.Designer.cs index cc75f5a..3be2f1d 100644 --- a/SanSystem/UCInliner.Designer.cs +++ b/SanSystem/UCInliner.Designer.cs @@ -30,6 +30,8 @@ { this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.ftpProgress = new System.Windows.Forms.ProgressBar(); + this.btn_transfer_ftp = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.dt_eingebaut = new System.Windows.Forms.DateTimePicker(); this.cb_fertig = new System.Windows.Forms.CheckBox(); @@ -67,8 +69,7 @@ this.label11 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); - this.btn_transfer_ftp = new System.Windows.Forms.Button(); - this.ftpProgress = new System.Windows.Forms.ProgressBar(); + this.button1 = new System.Windows.Forms.Button(); this.tabControl1.SuspendLayout(); this.tabPage2.SuspendLayout(); this.groupBox3.SuspendLayout(); @@ -90,6 +91,7 @@ // // tabPage2 // + this.tabPage2.Controls.Add(this.button1); this.tabPage2.Controls.Add(this.ftpProgress); this.tabPage2.Controls.Add(this.btn_transfer_ftp); this.tabPage2.Controls.Add(this.label1); @@ -113,6 +115,23 @@ this.tabPage2.Text = "Vorraussetzungen"; this.tabPage2.UseVisualStyleBackColor = true; // + // ftpProgress + // + this.ftpProgress.Location = new System.Drawing.Point(782, 487); + this.ftpProgress.Name = "ftpProgress"; + this.ftpProgress.Size = new System.Drawing.Size(280, 37); + this.ftpProgress.TabIndex = 29; + // + // btn_transfer_ftp + // + this.btn_transfer_ftp.Location = new System.Drawing.Point(820, 317); + this.btn_transfer_ftp.Name = "btn_transfer_ftp"; + this.btn_transfer_ftp.Size = new System.Drawing.Size(224, 126); + this.btn_transfer_ftp.TabIndex = 28; + this.btn_transfer_ftp.Text = "button1"; + this.btn_transfer_ftp.UseVisualStyleBackColor = true; + this.btn_transfer_ftp.Click += new System.EventHandler(this.btn_transfer_ftp_Click); + // // label1 // this.label1.AutoSize = true; @@ -515,22 +534,15 @@ this.label9.TabIndex = 0; this.label9.Text = "Harz"; // - // btn_transfer_ftp + // button1 // - this.btn_transfer_ftp.Location = new System.Drawing.Point(820, 317); - this.btn_transfer_ftp.Name = "btn_transfer_ftp"; - this.btn_transfer_ftp.Size = new System.Drawing.Size(224, 126); - this.btn_transfer_ftp.TabIndex = 28; - this.btn_transfer_ftp.Text = "button1"; - this.btn_transfer_ftp.UseVisualStyleBackColor = true; - this.btn_transfer_ftp.Click += new System.EventHandler(this.btn_transfer_ftp_Click); - // - // ftpProgress - // - this.ftpProgress.Location = new System.Drawing.Point(782, 487); - this.ftpProgress.Name = "ftpProgress"; - this.ftpProgress.Size = new System.Drawing.Size(280, 37); - this.ftpProgress.TabIndex = 29; + this.button1.Location = new System.Drawing.Point(829, 197); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(199, 66); + this.button1.TabIndex = 30; + this.button1.Text = "button1"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); // // UCInliner // @@ -598,5 +610,6 @@ private System.Windows.Forms.DateTimePicker dt_eingebaut; private System.Windows.Forms.Button btn_transfer_ftp; private System.Windows.Forms.ProgressBar ftpProgress; + private System.Windows.Forms.Button button1; } } diff --git a/SanSystem/UCInliner.cs b/SanSystem/UCInliner.cs index 233c8ae..d9061f7 100644 --- a/SanSystem/UCInliner.cs +++ b/SanSystem/UCInliner.cs @@ -12,6 +12,7 @@ using System.Diagnostics; using System.IO; using SanShared; using FluentFTP; +using System.Collections; namespace SanSystem { @@ -181,5 +182,22 @@ namespace SanSystem } } } + + private void button1_Click(object sender, EventArgs e) + { + Hashtable grunddaten = new Hashtable() + { + {"KL_Wetter","Trocken" } + }; + List bilderO = new List(); + bilderO.Add(new BilderObject() + { + ImgID = 1, + Kommentar = "TestBild", + Path = @"C:\Users\Damian\Desktop\SanVerwaltung\SanSystem\bin\Debug\projekte\18-850\SW01-SW02\Schachtanbindung\4d0a1627-bd51-48d6-a27e-a4c6691b02d2.jpg" + }); + BerichtGen.Options options = new BerichtGen.Options("", "", "", grunddaten,bilderO); + options.ShowDialog(); + } } } diff --git a/SanSystem/documents/JUME/klp_vorlage.docx b/SanSystem/documents/JUME/liner_einbau.docx similarity index 51% rename from SanSystem/documents/JUME/klp_vorlage.docx rename to SanSystem/documents/JUME/liner_einbau.docx index 72a8b10634a2d9fc889e6a7f759a990f9c6ba36d..762a821c85ce8bb2c227459a93358379dd572358 100644 GIT binary patch delta 17275 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 delta 19070 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 ku)HZjCj2anS