diff --git a/DE/DE.cs b/DE/DE.cs new file mode 100644 index 0000000..d3a9a53 --- /dev/null +++ b/DE/DE.cs @@ -0,0 +1,35 @@ +using SanShared; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Language +{ + public class DE : ILanguage + { + Dictionary fehlermeldungen = new Dictionary(); + Dictionary labels = new Dictionary(); + + public Dictionary Fehlermeldungen { get => fehlermeldungen; } + + public Dictionary Labels { get => labels; } + + public DE() + { + fehlermeldungen.Add("duplicate_projektnumber_in_street", "Es sind mehrere Projektnummern in eine gleiche Straße vorhanden"); + fehlermeldungen.Add("difference_ortnames_in_street", "Es sind verschiedene Ortnamen angegeben"); + fehlermeldungen.Add("wrong_project_number", "Projektnummer wurde nicht korrekt vergeben!"); + + + + labels.Add("ort", "Ortname"); + labels.Add("projekt", "Projektnummer"); + labels.Add("street", "Strassenname"); + labels.Add("add_objekt", "Neues Objekt hinzufügen"); + labels.Add("btn_close", "Schließen"); + + } + } +} diff --git a/DE/DE.csproj b/DE/DE.csproj new file mode 100644 index 0000000..a7f868f --- /dev/null +++ b/DE/DE.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {FF6C3E9C-0AB0-4C67-A150-318C22734FBD} + Library + Properties + DE + DE + v4.6.1 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + {c949087e-20e1-4a17-b021-faead363c1d8} + SanShared + + + + \ No newline at end of file diff --git a/DE/Properties/AssemblyInfo.cs b/DE/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..ef7b39b --- /dev/null +++ b/DE/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("DE")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("DE")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("ff6c3e9c-0ab0-4c67-a150-318c22734fbd")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// indem Sie "*" wie unten gezeigt eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Language/Language.cs b/Language/Language.cs new file mode 100644 index 0000000..cb102d9 --- /dev/null +++ b/Language/Language.cs @@ -0,0 +1,25 @@ +using SanShared; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Language +{ + public enum BUILTINLANGUAGES + { + GERMAN = 0 + } + public static class Language + { + public static ILanguage GetLanguage(BUILTINLANGUAGES lang) + { + switch(lang) + { + case BUILTINLANGUAGES.GERMAN: return new DE(); + default: throw new SanShared.Exceptions.LangNotFoundException(string.Format("Language {0} not found",lang)); + } + } + } +} diff --git a/Language/Language.csproj b/Language/Language.csproj new file mode 100644 index 0000000..6ee6176 --- /dev/null +++ b/Language/Language.csproj @@ -0,0 +1,57 @@ + + + + + Debug + AnyCPU + {BE364E88-92DA-4A6C-97E7-DDD7D887B3D4} + Library + Properties + Language + Language + v4.6.1 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + {ff6c3e9c-0ab0-4c67-a150-318c22734fbd} + DE + + + {C949087E-20E1-4A17-B021-FAEAD363C1D8} + SanShared + + + + \ No newline at end of file diff --git a/Language/Properties/AssemblyInfo.cs b/Language/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7e575af --- /dev/null +++ b/Language/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("Language")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Language")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("be364e88-92da-4a6c-97e7-ddd7d887b3d4")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// indem Sie "*" wie unten gezeigt eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SanShared/Exceptions/LangNotFoundException.cs b/SanShared/Exceptions/LangNotFoundException.cs new file mode 100644 index 0000000..9580f8c --- /dev/null +++ b/SanShared/Exceptions/LangNotFoundException.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace SanShared.Exceptions +{ + public class LangNotFoundException : Exception + { + public LangNotFoundException() + { + } + + public LangNotFoundException(string message) : base(message) + { + } + + public LangNotFoundException(string message, Exception innerException) : base(message, innerException) + { + } + + protected LangNotFoundException(SerializationInfo info, StreamingContext context) : base(info, context) + { + } + } +} diff --git a/SanShared/ILanguage.cs b/SanShared/ILanguage.cs new file mode 100644 index 0000000..19265a4 --- /dev/null +++ b/SanShared/ILanguage.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SanShared +{ + public interface ILanguage + { + Dictionary Fehlermeldungen { get; } + Dictionary Labels { get; } + } +} diff --git a/TempCAN/ITemperature.cs b/SanShared/ITemperature.cs similarity index 90% rename from TempCAN/ITemperature.cs rename to SanShared/ITemperature.cs index 4c63414..b9dae5b 100644 --- a/TempCAN/ITemperature.cs +++ b/SanShared/ITemperature.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace TempCAN +namespace SanShared { public interface ITemperature { diff --git a/SanShared/Properties/AssemblyInfo.cs b/SanShared/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..497e993 --- /dev/null +++ b/SanShared/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("SanShared")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SanShared")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("c949087e-20e1-4a17-b021-faead363c1d8")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// indem Sie "*" wie unten gezeigt eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/SanShared/SanShared.csproj b/SanShared/SanShared.csproj new file mode 100644 index 0000000..414c886 --- /dev/null +++ b/SanShared/SanShared.csproj @@ -0,0 +1,49 @@ + + + + + Debug + AnyCPU + {C949087E-20E1-4A17-B021-FAEAD363C1D8} + Library + Properties + SanShared + SanShared + v4.6.1 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SanSystem/Global.cs b/SanSystem/Global.cs new file mode 100644 index 0000000..4f68c38 --- /dev/null +++ b/SanSystem/Global.cs @@ -0,0 +1,29 @@ +using SanShared; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SanSystem +{ + class Global + { + public static readonly Global instance = new Global(); + + public ILanguage language = null; + + public static Global Instance + { + get + { + return instance; + } + } + + public void LoadLanguage() + { + language = Language.Language.GetLanguage(Language.BUILTINLANGUAGES.GERMAN); + } + } +} diff --git a/SanSystem/Program.cs b/SanSystem/Program.cs index 66402b2..5285483 100644 --- a/SanSystem/Program.cs +++ b/SanSystem/Program.cs @@ -14,6 +14,7 @@ namespace SanSystem [STAThread] static void Main() { + Global.Instance.LoadLanguage(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new frmMain()); diff --git a/SanSystem/SanSystem.csproj b/SanSystem/SanSystem.csproj index 948e8fd..a19298b 100644 --- a/SanSystem/SanSystem.csproj +++ b/SanSystem/SanSystem.csproj @@ -69,6 +69,7 @@ frmMain.cs + @@ -115,6 +116,14 @@ {c82bd650-466b-403f-bed9-2b1660771f54} KlassenBIB + + {be364e88-92da-4a6c-97e7-ddd7d887b3d4} + Language + + + {c949087e-20e1-4a17-b021-faead363c1d8} + SanShared + {e4979419-5eae-4b6d-a6a0-9632c1de87a0} TempCAN diff --git a/SanSystem/frmObjektEdit.Designer.cs b/SanSystem/frmObjektEdit.Designer.cs index 6fd2a2b..94995dd 100644 --- a/SanSystem/frmObjektEdit.Designer.cs +++ b/SanSystem/frmObjektEdit.Designer.cs @@ -87,6 +87,7 @@ this.label11 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); + this.btn_close = new System.Windows.Forms.Button(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); this.groupBox2.SuspendLayout(); @@ -188,6 +189,10 @@ // this.cbb_wetter.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbb_wetter.FormattingEnabled = true; + this.cbb_wetter.Items.AddRange(new object[] { + "Trocken", + "Niederschlag", + "Schnee - Eisschmelze"}); this.cbb_wetter.Location = new System.Drawing.Point(758, 154); this.cbb_wetter.Name = "cbb_wetter"; this.cbb_wetter.Size = new System.Drawing.Size(282, 28); @@ -267,12 +272,14 @@ // // dt_haltunggemessen_datum // + this.dt_haltunggemessen_datum.CustomFormat = "dddd, dd. MMMM yyyy hh:mm"; this.dt_haltunggemessen_datum.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.dt_haltunggemessen_datum.Format = System.Windows.Forms.DateTimePickerFormat.Custom; this.dt_haltunggemessen_datum.Location = new System.Drawing.Point(236, 276); this.dt_haltunggemessen_datum.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.dt_haltunggemessen_datum.Name = "dt_haltunggemessen_datum"; this.dt_haltunggemessen_datum.RightToLeft = System.Windows.Forms.RightToLeft.No; - this.dt_haltunggemessen_datum.Size = new System.Drawing.Size(288, 26); + this.dt_haltunggemessen_datum.Size = new System.Drawing.Size(354, 26); this.dt_haltunggemessen_datum.TabIndex = 17; // // label20 @@ -785,13 +792,26 @@ this.label9.TabIndex = 0; this.label9.Text = "Harz"; // + // btn_close + // + this.btn_close.Location = new System.Drawing.Point(37, 641); + this.btn_close.Name = "btn_close"; + this.btn_close.Size = new System.Drawing.Size(181, 50); + this.btn_close.TabIndex = 1; + this.btn_close.Text = "Close"; + this.btn_close.UseVisualStyleBackColor = true; + this.btn_close.Click += new System.EventHandler(this.btn_close_Click); + // // frmObjektEdit // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1131, 643); + this.ClientSize = new System.Drawing.Size(1131, 702); + this.ControlBox = false; + this.Controls.Add(this.btn_close); this.Controls.Add(this.tabControl1); this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.Name = "frmObjektEdit"; this.Text = "FrmObjektEdit"; @@ -874,5 +894,6 @@ private System.Windows.Forms.ComboBox cbb_wetter; private System.Windows.Forms.Label label24; private System.Windows.Forms.ComboBox cb_material; + private System.Windows.Forms.Button btn_close; } } \ No newline at end of file diff --git a/SanSystem/frmObjektEdit.cs b/SanSystem/frmObjektEdit.cs index b057a0a..24e64fe 100644 --- a/SanSystem/frmObjektEdit.cs +++ b/SanSystem/frmObjektEdit.cs @@ -8,6 +8,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using SanShared; namespace SanSystem { @@ -24,6 +25,7 @@ namespace SanSystem public frmObjektEdit(Inspektionsobjekt inspektion) { InitializeComponent(); + btn_close.Text = Global.Instance.language.Labels["btn_close"]; this.inspektionsobjekt = inspektion; if (inspektion.Sanierung == null) inspektion.Sanierung = new InlinerSanierung(); this.inliner = (InlinerSanierung)inspektion.Sanierung; @@ -31,6 +33,7 @@ namespace SanSystem private void frmObjektEdit_Load(object sender, EventArgs e) { + txt_punkt_von.DataBindings.Add(new Binding("Text", inspektionsobjekt, "VonPunkt")); txt_punkt_bis.DataBindings.Add(new Binding("Text", inspektionsobjekt, "BisPunkt")); txt_strasse.DataBindings.Add(new Binding("Text", inspektionsobjekt, "StrasseName")); @@ -39,7 +42,8 @@ namespace SanSystem txt_haltungslaenge.DataBindings.Add(new Binding("Text", inspektionsobjekt, "Haltungslaenge")); txt_dn.DataBindings.Add(new Binding("Text", inspektionsobjekt, "Kanalrohrweite")); txt_pro_nr.DataBindings.Add(new Binding("Text", inspektionsobjekt, "ProjektNummer")); - dt_haltunggemessen_datum.DataBindings.Add(new Binding("Value", inspektionsobjekt, "HaltungGemessen")); + dt_haltunggemessen_datum.DataBindings.Add(new Binding("Value", inspektionsobjekt, "HaltungGemessen")); + cbb_wetter.DataBindings.Add(new Binding("Text", inspektionsobjekt.Sanierung, "Wetter")); } private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) @@ -81,7 +85,7 @@ namespace SanSystem private void btn_get_temp_Click(object sender, EventArgs e) { - TempCAN.ITemperature temperature = TempCAN.TemperaturBuilder.Temperatur(TempCAN.TemperaturSchnittstellen.TINKERFORGE); + ITemperature temperature = TempCAN.TemperaturBuilder.Temperatur(TempCAN.TemperaturSchnittstellen.TINKERFORGE); double temperatur = temperature.GetTemperatur(); inspektionsobjekt.Sanierung.TempAusen = temperatur; @@ -89,5 +93,10 @@ namespace SanSystem txt_temp_aussen.Update(); } + + private void btn_close_Click(object sender, EventArgs e) + { + this.Close(); + } } } diff --git a/SanSystem/frmObjekteList.Designer.cs b/SanSystem/frmObjekteList.Designer.cs index 9816700..06faf88 100644 --- a/SanSystem/frmObjekteList.Designer.cs +++ b/SanSystem/frmObjekteList.Designer.cs @@ -31,16 +31,16 @@ this.components = new System.ComponentModel.Container(); this.dGObjekte = new System.Windows.Forms.DataGridView(); this.strasseBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.button1 = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); + this.btn_add = new System.Windows.Forms.Button(); + this.lbl_street = new System.Windows.Forms.Label(); + this.lbl_projekt = new System.Windows.Forms.Label(); this.txt_strasse = new System.Windows.Forms.TextBox(); this.txt_pro_nr_1 = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.txt_pro_nr_2 = new System.Windows.Forms.TextBox(); this.txt_pro_nr_3 = new System.Windows.Forms.TextBox(); - this.label5 = new System.Windows.Forms.Label(); + this.lbl_ort = new System.Windows.Forms.Label(); this.txt_ort = new System.Windows.Forms.TextBox(); ((System.ComponentModel.ISupportInitialize)(this.dGObjekte)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.strasseBindingSource)).BeginInit(); @@ -57,38 +57,39 @@ this.dGObjekte.RowTemplate.Height = 24; this.dGObjekte.Size = new System.Drawing.Size(957, 238); this.dGObjekte.TabIndex = 0; + this.dGObjekte.DataBindingComplete += new System.Windows.Forms.DataGridViewBindingCompleteEventHandler(this.dGObjekte_DataBindingComplete); this.dGObjekte.RowHeaderMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dGObjekte_RowHeaderMouseDoubleClick); // - // button1 + // btn_add // - this.button1.Location = new System.Drawing.Point(763, 387); - this.button1.Margin = new System.Windows.Forms.Padding(2); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(102, 101); - this.button1.TabIndex = 1; - this.button1.Text = "button1"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); + this.btn_add.Location = new System.Drawing.Point(763, 387); + this.btn_add.Margin = new System.Windows.Forms.Padding(2); + this.btn_add.Name = "btn_add"; + this.btn_add.Size = new System.Drawing.Size(102, 101); + this.btn_add.TabIndex = 1; + this.btn_add.Text = "button1"; + this.btn_add.UseVisualStyleBackColor = true; + this.btn_add.Click += new System.EventHandler(this.btn_add_Click); // - // label1 + // lbl_street // - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(6, 9); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(104, 20); - this.label1.TabIndex = 2; - this.label1.Text = "Strassename"; + this.lbl_street.AutoSize = true; + this.lbl_street.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_street.Location = new System.Drawing.Point(6, 9); + this.lbl_street.Name = "lbl_street"; + this.lbl_street.Size = new System.Drawing.Size(104, 20); + this.lbl_street.TabIndex = 2; + this.lbl_street.Text = "Strassename"; // - // label2 + // lbl_projekt // - this.label2.AutoSize = true; - this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.Location = new System.Drawing.Point(6, 49); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(116, 20); - this.label2.TabIndex = 3; - this.label2.Text = "Projektnummer"; + this.lbl_projekt.AutoSize = true; + this.lbl_projekt.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_projekt.Location = new System.Drawing.Point(6, 49); + this.lbl_projekt.Name = "lbl_projekt"; + this.lbl_projekt.Size = new System.Drawing.Size(116, 20); + this.lbl_projekt.TabIndex = 3; + this.lbl_projekt.Text = "Projektnummer"; // // txt_strasse // @@ -142,15 +143,15 @@ this.txt_pro_nr_3.Size = new System.Drawing.Size(100, 26); this.txt_pro_nr_3.TabIndex = 9; // - // label5 + // lbl_ort // - this.label5.AutoSize = true; - this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label5.Location = new System.Drawing.Point(549, 9); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(31, 20); - this.label5.TabIndex = 10; - this.label5.Text = "Ort"; + this.lbl_ort.AutoSize = true; + this.lbl_ort.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_ort.Location = new System.Drawing.Point(549, 9); + this.lbl_ort.Name = "lbl_ort"; + this.lbl_ort.Size = new System.Drawing.Size(31, 20); + this.lbl_ort.TabIndex = 10; + this.lbl_ort.Text = "Ort"; // // txt_ort // @@ -166,16 +167,16 @@ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(971, 499); this.Controls.Add(this.txt_ort); - this.Controls.Add(this.label5); + this.Controls.Add(this.lbl_ort); this.Controls.Add(this.txt_pro_nr_3); this.Controls.Add(this.txt_pro_nr_2); this.Controls.Add(this.label4); this.Controls.Add(this.label3); this.Controls.Add(this.txt_pro_nr_1); this.Controls.Add(this.txt_strasse); - this.Controls.Add(this.label2); - this.Controls.Add(this.label1); - this.Controls.Add(this.button1); + this.Controls.Add(this.lbl_projekt); + this.Controls.Add(this.lbl_street); + this.Controls.Add(this.btn_add); this.Controls.Add(this.dGObjekte); this.Margin = new System.Windows.Forms.Padding(2); this.Name = "frmObjekteList"; @@ -191,7 +192,7 @@ #endregion private System.Windows.Forms.DataGridView dGObjekte; - private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button btn_add; private System.Windows.Forms.DataGridViewTextBoxColumn objektbezeichnungDataGridViewTextBoxColumn; private System.Windows.Forms.DataGridViewTextBoxColumn vonPunktDataGridViewTextBoxColumn; private System.Windows.Forms.DataGridViewTextBoxColumn bisPunktDataGridViewTextBoxColumn; @@ -200,15 +201,15 @@ private System.Windows.Forms.DataGridViewTextBoxColumn haltungslaengeDataGridViewTextBoxColumn; private System.Windows.Forms.DataGridViewTextBoxColumn sanierungDataGridViewTextBoxColumn; private System.Windows.Forms.BindingSource strasseBindingSource; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label lbl_street; + private System.Windows.Forms.Label lbl_projekt; private System.Windows.Forms.TextBox txt_strasse; private System.Windows.Forms.TextBox txt_pro_nr_1; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private System.Windows.Forms.TextBox txt_pro_nr_2; private System.Windows.Forms.TextBox txt_pro_nr_3; - private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label lbl_ort; private System.Windows.Forms.TextBox txt_ort; } } \ No newline at end of file diff --git a/SanSystem/frmObjekteList.cs b/SanSystem/frmObjekteList.cs index bd68235..5ce2437 100644 --- a/SanSystem/frmObjekteList.cs +++ b/SanSystem/frmObjekteList.cs @@ -17,57 +17,74 @@ namespace SanSystem { private List inspektionsobjekte; + + private void loadObjekte(string streetname) + { + dGObjekte.DataSource = null; + inspektionsobjekte = Datenbank.Instance.loadedProjekt.Objekte.FindAll(x => x.StrasseName.Equals(streetname)); + + dGObjekte.DataSource = inspektionsobjekte; + } + + private bool CheckEntries() + { + for(int i = 0; i < dGObjekte.Rows.Count; i++) + { + DataGridViewRow dgvw = dGObjekte.Rows[i]; + Inspektionsobjekt tmp = (Inspektionsobjekt)dgvw.DataBoundItem; + if (tmp == null) continue; + if(tmp.Projektnummer == null) dGObjekte.Rows[i].DefaultCellStyle.BackColor = Color.Red; + + } + return true; + } public frmObjekteList(string streetname) { InitializeComponent(); + lbl_ort.Text = Global.Instance.language.Labels["ort"]; + lbl_projekt.Text = Global.Instance.language.Labels["projekt"]; + lbl_street.Text = Global.Instance.language.Labels["street"]; + btn_add.Text = Global.Instance.language.Labels["add_objekt"]; - inspektionsobjekte = Datenbank.Instance.loadedProjekt.Objekte.FindAll(x => x.StrasseName.Equals(streetname)); - //dGObjekte.BindingContext = strasse.Objekte; - dGObjekte.DataSource = inspektionsobjekte; - dGObjekte.AutoGenerateColumns = false; + + loadObjekte(streetname); txt_strasse.Text = streetname; - Inspektionsobjekt temp = inspektionsobjekte.Last(); - txt_ort.Text = temp.OrtName; - string[] vs = temp.Projektnummer.Split('-'); + string fehlermeldung = string.Empty; + // Prüfen nach Projektnummern + List projektnummern = inspektionsobjekte.Select(x => x.Projektnummer).Distinct().ToList(); + if (projektnummern.Count > 1) fehlermeldung = string.Format("{0}",Global.Instance.language.Fehlermeldungen["duplicate_projektnumber_in_street"]); + + // Prüfen nach Ortnamen + List ortnamen = inspektionsobjekte.Select(x => x.OrtName).Distinct().ToList(); + if (ortnamen.Count > 1) fehlermeldung = string.Format("{0}\n\n{1}",fehlermeldung,Global.Instance.language.Fehlermeldungen["difference_ortnames_in_street"]); + + if (!fehlermeldung.Equals(string.Empty)) MessageBox.Show(fehlermeldung, "Inhalt Fehler", MessageBoxButtons.OK, MessageBoxIcon.Warning); + + + txt_ort.Text = ortnamen.First(); + + if (projektnummern.First() == null) + { + MessageBox.Show(Global.Instance.language.Fehlermeldungen["wrong_project_number"], "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + string[] vs = projektnummern.First().Split('-'); if (vs.Length > 0) txt_pro_nr_1.Text = vs[0]; if (vs.Length > 1) txt_pro_nr_2.Text = vs[1]; if (vs.Length > 2) txt_pro_nr_3.Text = vs[2]; - - /* - txt_strasse.DataBindings.Add(new Binding("Text", strasse, "Strassename")); - txt_ort.DataBindings.Add(new Binding("Text", strasse, "Ort")); - txt_pro_nr_3.DataBindings.Add(new Binding("Text", strasse, "Nummer")); - */ - } - - private void button1_Click(object sender, EventArgs e) - { - /*street.Add(new Strasse() - { - Strassename = "XSSD" - }); - */ - /* - strasse.Objekte.Add(new Inspektionsobjekt() - { - Objektbezeichnung = "134" - }); - dGObjekte.DataSource = null; - dGObjekte.DataSource = strasse.Objekte; - */ } private void frmObjekteList_Load(object sender, EventArgs e) { - //dGObjekte.DataSource = strasse.Objekte; + } private void dGObjekte_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) @@ -90,5 +107,28 @@ namespace SanSystem frmObjektEdit.Show(); } + + private void btn_add_Click(object sender, EventArgs e) + { + Inspektionsobjekt inspektionsobjekt = new Inspektionsobjekt(); + Datenbank.Instance.loadedProjekt.Objekte.Add(inspektionsobjekt); + + frmObjektEdit frmObjektEdit = new frmObjektEdit(inspektionsobjekt); + frmObjektEdit.FormClosed += FrmObjektEdit_FormClosed; + frmObjektEdit.ShowDialog(); + } + + private void FrmObjektEdit_FormClosed(object sender, FormClosedEventArgs e) + { + loadObjekte(txt_strasse.Text); + + } + + private void dGObjekte_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) + { + //dGObjekte.Rows[0].DefaultCellStyle.BackColor = Color.Red; + CheckEntries(); + + } } } diff --git a/SanSystem/frmStrassenList.cs b/SanSystem/frmStrassenList.cs index b59e5fe..42077fb 100644 --- a/SanSystem/frmStrassenList.cs +++ b/SanSystem/frmStrassenList.cs @@ -33,6 +33,7 @@ namespace SanSystem { this.Height = this.MdiParent.Height - 120; buildStreetList(); + btn_add.Text = Global.Instance.language.Labels["add_objekt"]; } diff --git a/SanVerwaltung.sln b/SanVerwaltung.sln index 72c4bf5..79b80c8 100644 --- a/SanVerwaltung.sln +++ b/SanVerwaltung.sln @@ -15,6 +15,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SchnittstelleImporter", "Sc EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TempCAN", "TempCAN\TempCAN.csproj", "{E4979419-5EAE-4B6D-A6A0-9632C1DE87A0}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language", "Language", "{8DB2B84C-B8C5-4C32-82C0-47AD5FADD649}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DE", "DE\DE.csproj", "{FF6C3E9C-0AB0-4C67-A150-318C22734FBD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SanShared", "SanShared\SanShared.csproj", "{C949087E-20E1-4A17-B021-FAEAD363C1D8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Language", "Language\Language.csproj", "{BE364E88-92DA-4A6C-97E7-DDD7D887B3D4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -45,10 +53,26 @@ Global {E4979419-5EAE-4B6D-A6A0-9632C1DE87A0}.Debug|Any CPU.Build.0 = Debug|Any CPU {E4979419-5EAE-4B6D-A6A0-9632C1DE87A0}.Release|Any CPU.ActiveCfg = Release|Any CPU {E4979419-5EAE-4B6D-A6A0-9632C1DE87A0}.Release|Any CPU.Build.0 = Release|Any CPU + {FF6C3E9C-0AB0-4C67-A150-318C22734FBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FF6C3E9C-0AB0-4C67-A150-318C22734FBD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FF6C3E9C-0AB0-4C67-A150-318C22734FBD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FF6C3E9C-0AB0-4C67-A150-318C22734FBD}.Release|Any CPU.Build.0 = Release|Any CPU + {C949087E-20E1-4A17-B021-FAEAD363C1D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C949087E-20E1-4A17-B021-FAEAD363C1D8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C949087E-20E1-4A17-B021-FAEAD363C1D8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C949087E-20E1-4A17-B021-FAEAD363C1D8}.Release|Any CPU.Build.0 = Release|Any CPU + {BE364E88-92DA-4A6C-97E7-DDD7D887B3D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BE364E88-92DA-4A6C-97E7-DDD7D887B3D4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BE364E88-92DA-4A6C-97E7-DDD7D887B3D4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BE364E88-92DA-4A6C-97E7-DDD7D887B3D4}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {FF6C3E9C-0AB0-4C67-A150-318C22734FBD} = {8DB2B84C-B8C5-4C32-82C0-47AD5FADD649} + {BE364E88-92DA-4A6C-97E7-DDD7D887B3D4} = {8DB2B84C-B8C5-4C32-82C0-47AD5FADD649} + EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {78FE215A-2904-4B88-8553-88BF8165DAC4} EndGlobalSection diff --git a/TempCAN/TempCAN.csproj b/TempCAN/TempCAN.csproj index 3891fcb..cd599ac 100644 --- a/TempCAN/TempCAN.csproj +++ b/TempCAN/TempCAN.csproj @@ -43,10 +43,15 @@ - + + + {c949087e-20e1-4a17-b021-faead363c1d8} + SanShared + + \ No newline at end of file diff --git a/TempCAN/TemperaturBuilder.cs b/TempCAN/TemperaturBuilder.cs index 0bb9887..b3cfdc7 100644 --- a/TempCAN/TemperaturBuilder.cs +++ b/TempCAN/TemperaturBuilder.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using SanShared; namespace TempCAN { diff --git a/TempCAN/TinkerForgeTemperatur.cs b/TempCAN/TinkerForgeTemperatur.cs index 51e2632..8d6072e 100644 --- a/TempCAN/TinkerForgeTemperatur.cs +++ b/TempCAN/TinkerForgeTemperatur.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using SanShared; namespace TempCAN {