using Database; using FluentFTP; using KlassenBIB; using SanShared; using SanShared.Exceptions; using SchnittstelleImporter; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WupiEngine; namespace SanSystem { /// /// /// public partial class frmMain : Form { /// /// /// public frmMain() { InitializeComponent(); //Global.Instance. if (!Directory.Exists(Global.Instance.Projektpfad)) Directory.CreateDirectory(Global.Instance.Projektpfad); try { Datenbank.Instance.LoadProjekt(Global.Instance.ProjektNummer, Global.Instance.Projektpfad);// Path.Combine(Global.Instance.Projektpfad,"18-850.xaml")); } catch(DataBaseVersionMismatchException ex) { frmExceptionWindow frmException = new frmExceptionWindow(ex.Message); frmException.FormClosed += FrmException_FormClosed; frmException.ShowDialog(); } //Datenbank.Instance.CreateProjekt(""); this.Width = Screen.PrimaryScreen.WorkingArea.Width; this.Height = Screen.PrimaryScreen.WorkingArea.Height; this.WindowState = FormWindowState.Maximized; this.StartPosition = FormStartPosition.Manual; this.Location = new Point(0, 0); projektToolStripMenuItem.Text = Global.Instance.language.Labels["mainmenu_projekt"]; neuToolStripMenuItem.Text = Global.Instance.language.Labels["mainmenu_projekt_new"]; öffnenToolStripMenuItem.Text = Global.Instance.language.Labels["mainmenu_projekt_open"]; toolStripStatus_projekt_Label.Text = Datenbank.Instance.projekt; this.Text += " " + Global.Instance.PROGRAMMVERSION; #if (DEBUG || LAPTOP) this.Text += " INTERNE DEBUG VERSION"; #endif if (Wupi.QueryInfo(0, QueryInfoOption.FirmCode) == 0) this.Text += " nicht geschützter Version nur für TESTZWECKE!"; } private void FrmException_FormClosed(object sender, FormClosedEventArgs e) { Environment.Exit(0); } private void frm_main_Load(object sender, EventArgs e) { frmStrassenList strassenList = new frmStrassenList(); strassenList.MdiParent = this; strassenList.Show(); //frmObjektEdit frmObjektEdit = new frmObjektEdit(); //frmObjektEdit.Show(); } private void frm_main_FormClosing(object sender, FormClosingEventArgs e) { Datenbank.Instance.SaveProjekt(); } private void neuToolStripMenuItem_Click(object sender, EventArgs e) { frmNewProjekt frmNewProjekt = new frmNewProjekt(); frmNewProjekt.FormClosed += FrmProjektList_FormClosed; frmNewProjekt.ShowDialog(); } private void öffnenToolStripMenuItem_Click(object sender, EventArgs e) { // frmProjektList frmProjektList = new frmProjektList(); frmProjektList.FormClosed += FrmProjektList_FormClosed; frmProjektList.ShowDialog(); } private void FrmProjektList_FormClosed(object sender, FormClosedEventArgs e) { toolStripStatus_projekt_Label.Text = Global.Instance.ProjektNummer; Form[] openedWindows = this.MdiChildren; foreach(Form form in openedWindows) { form.Close(); form.Dispose(); } frmStrassenList strassenList = new frmStrassenList(); strassenList.MdiParent = this; strassenList.Top = 0; strassenList.Left = 0; strassenList.Location = new Point(0, 0); strassenList.StartPosition = FormStartPosition.Manual; strassenList.Show(); } private void speichernToolStripMenuItem_Click(object sender, EventArgs e) { Datenbank.Instance.SaveProjekt(); } private void massenstatistikToolStripMenuItem_Click(object sender, EventArgs e) { frmSelectMassenDate frmSelectMassenDate = new frmSelectMassenDate(); frmSelectMassenDate.ShowDialog(); } private void stammdatenImportierenToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "XML Daten | *.xml"; if (openFileDialog.ShowDialog() == DialogResult.OK) { string path = openFileDialog.FileName; IImportedObjekte importedObjekte = SchnittstelleImporter.ImportBuilder.Import(ImportSchnittstellen.XML2006); importedObjekte.XMLFile = path;//@"C:\Users\Damian\Desktop\XML\3_Zustandsdaten\ISYBAU_XML-2006-Zustandsdaten_DIN_EN_13508-2.xml"; importedObjekte.Projektnummer = Global.Instance.ProjektNummer; Datenbank.Instance.loadedProjekt.Objekte.AddRange(importedObjekte.GetInspektionsobjekte()); Form[] openedWindows = this.MdiChildren; foreach (Form form in openedWindows) { form.Close(); form.Dispose(); } frmStrassenList strassenList = new frmStrassenList(); strassenList.MdiParent = this; strassenList.Top = 0; strassenList.Left = 0; strassenList.Location = new Point(0, 0); strassenList.StartPosition = FormStartPosition.Manual; strassenList.Show(); } } private void auftraggeberToolStripMenuItem_Click(object sender, EventArgs e) { frmAuftraggeberEdit frmAuftraggeberEdit = new frmAuftraggeberEdit(Datenbank.Instance.loadedProjekt.Auftraggeber); frmAuftraggeberEdit.ShowDialog(); } private void ProjektordnerÖffnenToolStripMenuItem_Click(object sender, EventArgs e) { Process prozess = new Process(); prozess.StartInfo.FileName = "explorer"; try { prozess.StartInfo.Arguments = Path.Combine(Environment.CurrentDirectory, Global.Instance.Projektpfad); prozess.Start(); } catch(Exception ex) { MessageBox.Show("Es ist ein fehler aufgetreten beim öffnen vom Baustellenordner " + ex.Message); } } private void ImprägnierberichteToolStripMenuItem_Click(object sender, EventArgs e) { frmImprägnierBerichtList frmImprägnierBerichtList = new frmImprägnierBerichtList(); frmImprägnierBerichtList.ShowDialog(); } private void MassenberichteToolStripMenuItem_Click(object sender, EventArgs e) { List ausdruck = new List(); foreach(Inspektionsobjekt objekte in Database.Datenbank.Instance.loadedProjekt.Objekte) { foreach(AbstractSanieren san in objekte.Sanierung) { if(san is InlinerSanierung) { ausdruck.Add((InlinerSanierung)san); } } } foreach(InlinerSanierung san in ausdruck) { string destinationPath = san.CheckVerzeichnisse(Global.Instance.Projektpfad); Hashtable hashtable = san.MakeProtokoll(destinationPath, Database.Datenbank.Instance.loadedProjekt); DirectoryInfo directory = Directory.GetParent(destinationPath); string speicherpfad = Path.Combine(directory.FullName,"Einbauprotokolle"); BerichtGen.FrmOptions options = new BerichtGen.FrmOptions("JUME", "liner_einbauBlueLight.docx", speicherpfad, san.Inspektionsobjekt.Objektbezeichnung, hashtable, new List(),null,true); } //options.ShowDialog(); MessageBox.Show("Fertig"); } } }