/// <summary> /// Code to save project after import /// </summary> /// <param name="objEGAEB"></param> /// <returns></returns> public EGAEB SaveeProject(EGAEB objEGAEB) { try { ObjGAEB.ProjectImport(objEGAEB); } catch (Exception ex) { throw; } return(objEGAEB); }
/// <summary> /// Code import a project as new project /// </summary> /// <param name="ObjEGAEB"></param> /// <returns></returns> public int ProjectImport(EGAEB ObjEGAEB) { int iValue = 0; try { if (ObjEGAEB.dsLVData != null && ObjEGAEB.dsLVData.Tables.Count > 0) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = SQLCon.Sqlconn(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "[P_Imp_project]"; cmd.Parameters.AddWithValue("@ProjectNumber", ObjEGAEB.ProjectNumber); cmd.Parameters.AddWithValue("@ProjectDescription", ObjEGAEB.ProjectDescription); cmd.Parameters.AddWithValue("@LVRaster", ObjEGAEB.LvRaster); cmd.Parameters.AddWithValue("@LVSprunge", ObjEGAEB.LVSprunge); cmd.Parameters.AddWithValue("@CustomerName", ObjEGAEB.CustomerName); cmd.Parameters.AddWithValue("@dtImport", ObjEGAEB.dsLVData.Tables[ObjEGAEB.dsLVData.Tables.Count - 1]); cmd.Parameters.AddWithValue("@UserID", ObjEGAEB.UserID); cmd.Parameters.AddWithValue("@IsSave", ObjEGAEB.IsSave); ObjEGAEB.dsProject = new DataSet(); using (SqlDataAdapter da = new SqlDataAdapter(cmd)) { da.Fill(ObjEGAEB.dsProject, "Positions"); } if (ObjEGAEB.dsProject.Tables.Count > 1) { ObjEGAEB.ProjectNumber = Convert.ToString(ObjEGAEB.dsProject.Tables[1].Rows[0]["ProjectNumber"]); ObjEGAEB.ProjectDescription = Convert.ToString(ObjEGAEB.dsProject.Tables[1].Rows[0]["ProjectDescription"]); ObjEGAEB.CustomerName = Convert.ToString(ObjEGAEB.dsProject.Tables[1].Rows[0]["CustomerName"]); } else { if (System.Threading.Thread.CurrentThread.CurrentCulture.Name.ToString() == "de-DE") { throw new Exception("Die ausgewählte Projektnummer existiert bereits"); } else { throw new Exception("Selected Project Number Already Exists"); } } } } } catch (Exception ex) { throw; } return(iValue); }
/// <summary> /// Code to import GAEB file on supplier proposal /// </summary> /// <param name="ObjEGAEB"></param> /// <returns></returns> public EGAEB SupplierProposalImport(EGAEB ObjEGAEB) { try { if (ObjGAEB == null) { ObjGAEB = new DGAEB(); } ObjEGAEB = ObjGAEB.SupplierProposalImport(ObjEGAEB); } catch (Exception ex) { throw; } return(ObjEGAEB); }
/// <summary> /// Code to extract images from RTF text while Exporting /// </summary> /// <param name="dt"></param> /// <param name="strRtf"></param> /// <param name="PositionID"></param> /// <param name="ObjEGAEB"></param> /// <returns></returns> private DataTable ExtractImages(DataTable dt, string strRtf, int PositionID, EGAEB ObjEGAEB) { try { int IVlaue = 0; int pictTagIdx = strRtf.IndexOf("{\\pict\\"); while (pictTagIdx > 0) { IVlaue++; int startIndex = strRtf.IndexOf(" ", pictTagIdx) + 1; int endIndex = strRtf.IndexOf("}", startIndex); string imageDataHex = strRtf.Substring(startIndex, endIndex - startIndex); string strTemp = string.Empty; if (imageDataHex.Contains("http")) { strTemp = strRtf.Replace(imageDataHex + "}", ""); strRtf = strTemp; startIndex = strTemp.IndexOf(" ", pictTagIdx) + 1; endIndex = strTemp.IndexOf("}", startIndex); imageDataHex = strTemp.Substring(startIndex, endIndex - startIndex); } if (imageDataHex.Contains("data")) { strTemp = strRtf.Replace(imageDataHex + "}", ""); strRtf = strTemp; startIndex = strTemp.IndexOf(" ", pictTagIdx) + 1; endIndex = strTemp.IndexOf("}", startIndex); imageDataHex = strTemp.Substring(startIndex, endIndex - startIndex); } byte[] imageBuffer = ToBinary(imageDataHex); string strFileName = ObjEGAEB.DirPath + ObjEGAEB.ProjectNumber + "_" + PositionID.ToString() + "_" + IVlaue.ToString() + ".jpg"; File.WriteAllBytes(strFileName, imageBuffer); DataRow drTemp = dt.NewRow(); drTemp["PositionID"] = IVlaue; drTemp["Parent_OZ"] = PositionID; drTemp["ExtDatName"] = strFileName; drTemp["ExtDatBeschr"] = "GAEB-XML"; dt.Rows.Add(drTemp); pictTagIdx = strRtf.IndexOf("{\\pict\\", endIndex); } } catch (Exception ex) { throw; } return(dt); }
private void btnProjectImport_ItemClick(object sender, ItemClickEventArgs e) { try { string strFilePath = string.Empty; XtraOpenFileDialog dlg = new XtraOpenFileDialog(); dlg.Title = "Dateiauswahl für GAEB Import"; dlg.CheckFileExists = true; dlg.CheckPathExists = true; dlg.Filter = "GAEB Files(*.D81;*.D83;*.D86;*.P81;*.P83;*.P86;*.X81;*.X83;*.X86) | *.D81;*.D83;*.D86;*.P81;*.P83;*.P86;*.X81;*.X83;*.X86"; dlg.RestoreDirectory = true; if (dlg.ShowDialog() == DialogResult.OK) { strFilePath = dlg.FileName; } if (!string.IsNullOrEmpty(strFilePath)) { SplashScreenManager.ShowForm(this, typeof(WaitForm1), true, true, false); SplashScreenManager.Default.SetWaitFormDescription("Importieren..."); string strOutputFilepath = string.Empty; string strOTTOFilePath = Application.UserAppDataPath + "\\"; if (!Directory.Exists(strOTTOFilePath)) { Directory.CreateDirectory(strOTTOFilePath); } string strFileName = Path.GetFileNameWithoutExtension(strFilePath); strOutputFilepath = strOTTOFilePath + strFileName + ".tml"; Utility.ProcesssFile(strFilePath, strOutputFilepath); BGAEB ObjBGAEB = new BGAEB(); EGAEB ObjEGAEB = new EGAEB(); ObjEGAEB.UserID = Utility.UserID; string strRaster = Utility.GetRaster(strOutputFilepath); ObjEGAEB.dsLVData = Utility.CreateDatasetSchema(strOutputFilepath, string.Empty, strRaster, ObjEGAEB); ObjEGAEB.LvRaster = strRaster; ObjEGAEB = ObjBGAEB.ProjectImport(ObjEGAEB); SplashScreenManager.CloseForm(false); frmViewProject Obj = new frmViewProject(ObjEGAEB); Obj.ShowDialog(); UpdateStatus("Projektdatenimport mit Erfolg abgeschlossen"); } } catch (Exception ex) { SplashScreenManager.CloseForm(false); Utility.ShowError(ex); } }
/// <summary> /// Code to import GAEB file on supplier proposal /// </summary> /// <param name="ObjEGAEB"></param> /// <returns></returns> public EGAEB SupplierProposalImport(EGAEB ObjEGAEB) { int iValue = 0; try { if (ObjEGAEB.dsLVData != null && ObjEGAEB.dsLVData.Tables.Count > 0) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = SQLCon.Sqlconn(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "[P_Ins_SupplierProposalImport]"; cmd.Parameters.AddWithValue("@ProjectID", ObjEGAEB.ProjectID); cmd.Parameters.AddWithValue("@SupplierProposalID", ObjEGAEB.SupplierProposalID); cmd.Parameters.AddWithValue("@SupplierName", ObjEGAEB.SupplierName); cmd.Parameters.AddWithValue("@dtImport", ObjEGAEB.dsLVData.Tables[0]); cmd.Parameters.AddWithValue("@LVRaster", ObjEGAEB.LvRaster); object ObjReturn = cmd.ExecuteScalar(); if (int.TryParse(Convert.ToString(ObjReturn), out iValue)) { ObjEGAEB.SupplierProposalID = iValue; } else { if (Convert.ToString(ObjReturn).Contains("Raster")) { throw new Exception("Das ausgewählte Datei-Raster ist mit dem ausgewählten Projekt-Raster nicht kompatibel."); } else { string strTemp = Convert.ToString(ObjReturn).Replace(",", "\n"); throw new Exception(strTemp); } } } } } catch (Exception ex) { throw; } return(ObjEGAEB); }
private void btnOk_Click(object sender, EventArgs e) { try { SplashScreenManager.ShowForm(this, typeof(WaitForm1), true, true, false); SplashScreenManager.Default.SetWaitFormDescription("Importieren..."); if (txtImportFilePath.Text != string.Empty) { string strOutputFilepath = string.Empty; string strOTTOFilePath = Application.UserAppDataPath + "\\"; if (!Directory.Exists(strOTTOFilePath)) { Directory.CreateDirectory(strOTTOFilePath); } string strFileName = Path.GetFileNameWithoutExtension(txtImportFilePath.Text); strOutputFilepath = strOTTOFilePath + strFileName + ".tml"; Utility.ProcesssFile(txtImportFilePath.Text, strOutputFilepath); EGAEB ObjEGAEB = new EGAEB(); string strRaster = Utility.GetRaster(strOutputFilepath); DataSet dsTmlData = Utility.CreateDatasetSchema(strOutputFilepath, cmbLVSection.Text, strRaster, ObjEGAEB); ProjectID = ObjBGAEB.Import(ProjectID, dsTmlData, strRaster); isbuild = true; this.Close(); } else { if (Utility._IsGermany == true) { throw new Exception("Bitte wählen Sie die zu importierende Datei aus"); } else { throw new Exception("Please select the file to import"); } } } catch (Exception ex) { SplashScreenManager.CloseForm(false); Utility.ShowError(ex); } }
private void btnExport_Click(object sender, EventArgs e) { try { this.Close(); SplashScreenManager.ShowForm(this, typeof(WaitForm1), true, true, false); SplashScreenManager.Default.SetWaitFormDescription("Exportieren..."); XmlDocument XMLDoc = null; if (cmbFormatType.Text != string.Empty) { if (ObjBGAEB == null) { ObjBGAEB = new BGAEB(); } if (ObjEGAEB == null) { ObjEGAEB = new EGAEB(); } ObjEGAEB.ProjectNumber = txtProjectName.Text; string strOTTOFilePath = ObjEGAEB.DirPath = Application.UserAppDataPath + "\\"; XMLDoc = ObjBGAEB.Export(_ProjectID, cmbLVSection.EditValue, cmbFormatType.Text, _NewRaster, ObjEGAEB); if (!Directory.Exists(strOTTOFilePath)) { Directory.CreateDirectory(strOTTOFilePath); } string strOutputFilePath = string.Empty; strOutputFilePath = OutputFilePath = txtFilePath.Text + "\\" + txtFileName.Text + "." + cmbFormatType.Text; string strInputFilePath = strOTTOFilePath + txtFileName.Text + ".tml"; XMLDoc.Save(strInputFilePath); Utility.ProcesssFile(strInputFilePath, strOutputFilePath); } else { throw new Exception("Bitte wählen Sie das gewünschte GAEB Exportformat"); } SplashScreenManager.CloseForm(false); } catch (Exception ex) { SplashScreenManager.CloseForm(false); Utility.ShowError(ex); } }
/// <summary> /// Code to export positions from supplier proposal /// </summary> /// <param name="SupplierProposalID"></param> /// <returns></returns> public XmlDocument ExportSupplierproposal(int SupplierProposalID, int ProjectID, string strFormat, string _Raster, EGAEB ObjEGAEB) { XmlDocument xmldoc = new XmlDocument(); try { DataSet dsTMLData = null; DataSet dsTMLPositionsDataTemp = null; DataSet dsTMLPositionsData = null; dsTMLData = ObjGAEB.Export(ProjectID, _Raster); dsTMLPositionsDataTemp = ObjGAEB.GetSupplierProposalExport(SupplierProposalID); dsTMLData.DataSetName = "Generic"; dsTMLData.Tables[0].TableName = "DateiInfo"; dsTMLData.Tables[1].TableName = "AG"; dsTMLData.Tables[2].TableName = "AN"; dsTMLData.Tables[3].TableName = "PrjInfo"; dsTMLData.Tables[4].TableName = "VergabeInfo"; dsTMLData.Tables[5].TableName = "KalkInfo"; dsTMLData.Tables[6].TableName = "ReInfo"; dsTMLData.Tables[7].TableName = "BestInfo"; dsTMLData.Tables[8].TableName = "LVInfo"; DataTable dttemp = new DataTable(); dsTMLPositionsData = new DataSet(); for (int i = dsTMLPositionsDataTemp.Tables.Count - 1; i >= 0; i--) { dttemp = dsTMLPositionsDataTemp.Tables[i].Copy(); dsTMLPositionsData.Tables.Add(dttemp); } dsTMLPositionsData.DataSetName = "LV"; dsTMLPositionsData.Locale = CultureInfo.CreateSpecificCulture("de-DE"); if (dsTMLPositionsData != null && dsTMLPositionsData.Tables.Count > 1) { dsTMLPositionsData.Tables[1].TableName = "LVPos"; if (strFormat.Contains("D")) { foreach (DataRow dr in dsTMLPositionsData.Tables[1].Rows) { string strKurztext = dr["Kurztext"] == DBNull.Value ? "" : dr["Kurztext"].ToString(); string strPlantext = GetPlaintext(strKurztext); dr["Kurztext"] = strPlantext; } } if (dsTMLPositionsData.Tables.Count > 2) { dsTMLPositionsData.Tables[2].TableName = "LVPos1"; if (strFormat.Contains("D")) { foreach (DataRow dr in dsTMLPositionsData.Tables[2].Rows) { string strKurztext = dr["Kurztext"] == DBNull.Value ? "" : dr["Kurztext"].ToString(); string strPlantext = GetPlaintext(strKurztext); dr["Kurztext"] = strPlantext; } } if (dsTMLPositionsData.Tables.Count > 3) { dsTMLPositionsData.Tables[3].TableName = "LVPos2"; if (strFormat.Contains("D")) { foreach (DataRow dr in dsTMLPositionsData.Tables[3].Rows) { string strKurztext = dr["Kurztext"] == DBNull.Value ? "" : dr["Kurztext"].ToString(); string strPlantext = GetPlaintext(strKurztext); dr["Kurztext"] = strPlantext; } } if (dsTMLPositionsData.Tables.Count > 4) { dsTMLPositionsData.Tables[4].TableName = "LVPos3"; if (strFormat.Contains("D")) { foreach (DataRow dr in dsTMLPositionsData.Tables[4].Rows) { string strKurztext = dr["Kurztext"] == DBNull.Value ? "" : dr["Kurztext"].ToString(); string strPlantext = GetPlaintext(strKurztext); dr["Kurztext"] = strPlantext; } } if (dsTMLPositionsData.Tables.Count > 5) { dsTMLPositionsData.Tables[5].TableName = "LVPos4"; if (strFormat.Contains("D")) { foreach (DataRow dr in dsTMLPositionsData.Tables[5].Rows) { string strKurztext = dr["Kurztext"] == DBNull.Value ? "" : dr["Kurztext"].ToString(); string strPlantext = GetPlaintext(strKurztext); dr["Kurztext"] = strPlantext; } } } } } } } dsTMLPositionsData.Tables[0].TableName = "ZuschlTMenge"; StringBuilder strTMLdata = new StringBuilder(); strTMLdata.Append(dsTMLData.GetXml()); bool _IsBind = false; if (dsTMLPositionsData.Tables.Count > 0 && strFormat.Contains("X")) { DataTable dt = new DataTable("ExtDat"); dt.Columns.Add("PositionID", typeof(int)); dt.Columns.Add("Parent_OZ", typeof(int)); dt.Columns.Add("ExtDatName", typeof(string)); dt.Columns.Add("ExtDatBeschr", typeof(string)); foreach (DataRow dr in dsTMLPositionsData.Tables[1].Rows) { int IValue = 0; if (int.TryParse(Convert.ToString(dr["PositionID"]), out IValue)) { dt = ExtractImages(dt, Convert.ToString(dr["Langtext"]), IValue, ObjEGAEB); } } if (dt != null && dt.Rows.Count > 0) { _IsBind = true; DataSet dsTemp = new DataSet(); dsTemp.Tables.Add(dt); for (int i = 0; i < dsTMLPositionsData.Tables.Count; i++) { DataTable dtTemp = dsTMLPositionsData.Tables[i].Copy(); dsTemp.Tables.Add(dtTemp); } dsTMLPositionsData = new DataSet(); dsTMLPositionsData = dsTemp.Copy(); dsTMLPositionsData.DataSetName = "LV"; } } if (dsTMLPositionsData != null && dsTMLPositionsData.Tables.Count > 1) { int iValue = 0; if (_IsBind) { iValue = 1; } DataColumn ParentColumn, ChildColumn; DataRelation dr; for (int i = dsTMLPositionsData.Tables.Count - 1; i > iValue; i--) { ParentColumn = dsTMLPositionsData.Tables[i].Columns["PositionID"]; ChildColumn = dsTMLPositionsData.Tables[i - 1].Columns["Parent_OZ"]; dr = new DataRelation("Relation" + i, ParentColumn, ChildColumn); dr.Nested = true; dsTMLPositionsData.Relations.Add(dr); } } if (_IsBind) { DataColumn ParentColumn, ChildColumn; DataRelation dr; ParentColumn = dsTMLPositionsData.Tables[2].Columns["PositionID"]; ChildColumn = dsTMLPositionsData.Tables[0].Columns["Parent_OZ"]; dr = new DataRelation("RelationDisc", ParentColumn, ChildColumn); dr.Nested = true; dsTMLPositionsData.Relations.Add(dr); } StringBuilder strTMLPosData = new StringBuilder(); strTMLPosData.Append(dsTMLPositionsData.GetXml()); strTMLPosData.Replace("LVPos1", "LVPos"); strTMLPosData.Replace("LVPos2", "LVPos"); strTMLPosData.Replace("LVPos3", "LVPos"); strTMLPosData.Replace("LVPos4", "LVPos"); strTMLdata.Replace("</Generic>", strTMLPosData.ToString() + "</Generic>"); xmldoc.LoadXml(strTMLdata.ToString()); XmlNodeList xn = xmldoc.GetElementsByTagName("*"); int Count = -1; foreach (XmlNode node in xn) { string strtype = string.Empty; string strNodeName = node.Name; switch (strNodeName.ToLower()) { case "generic": XmlAttribute idGeneric = xmldoc.CreateAttribute("Id"); idGeneric.Value = "0"; node.Attributes.Append(idGeneric); break; case "dateiinfo": case "ag": case "an": case "prjinfo": case "vergabeinfo": case "kalkinfo": case "reinfo": case "bestinfo": case "lvinfo": case "lv": case "extdat": case "zuschltmenge": strtype = "0"; break; case "lvpos": strtype = "512"; break; case "version": case "versmon": case "versjahr": case "progsystem": case "progname": case "zeichensatz": case "dp": case "textformat": case "nachlassbasis": case "ia_state": case "ia_format": case "ia_dp": case "ia_kurztext": case "ia_langtext": case "treecheckbox": case "aufmassmenge": case "berechnungsmenge": strtype = "8"; break; case "datum": case "uhrzeit": strtype = "7"; break; case "zertifikat": strtype = "20"; break; case "menge": case "ep": case "gb": strtype = "12"; if (Thread.CurrentThread.CurrentCulture.Name == "de-DE") { string strValue = node.InnerText.Replace(".", ","); node.InnerText = strValue; } break; default: strtype = "12"; break; } if (strNodeName.ToLower() != "generic") { Count++; XmlAttribute id = xmldoc.CreateAttribute("Id"); XmlAttribute type = xmldoc.CreateAttribute("type"); id.Value = Count.ToString(); type.Value = strtype; node.Attributes.Append(id); node.Attributes.Append(type); } } xmldoc = DeleteNodes(xmldoc, "PositionID"); xmldoc = DeleteNodes(xmldoc, "Parent_OZ"); } catch (Exception ex) { throw; } return(xmldoc); }
/// <summary> /// Code import a project as new project /// </summary> /// <param name="ObjEGAEB"></param> /// <returns></returns> public EGAEB ProjectImport(EGAEB objEGAEB) { try { DataRow[] TopRows = objEGAEB.dsLVData.Tables[0].Select("Art NOT IN ('NG','H')"); if (TopRows != null && TopRows.Count() > 0) { string strFirstOZ = string.Empty; string strSecondOZ = string.Empty; if (TopRows.Count() > 0) { strFirstOZ = TopRows[0]["OZ"] == DBNull.Value ? "" : Convert.ToString(TopRows[0]["OZ"]); if (TopRows.Count() > 1) { strSecondOZ = TopRows[1]["OZ"] == DBNull.Value ? "" : Convert.ToString(TopRows[1]["OZ"]); } } string[] FirstOZ = strFirstOZ.Split('.'); string[] SecondOZ = strSecondOZ.Split('.'); int IValue = 0; int FirstValue = 0; int SecondValue = 0; if (FirstOZ != null) { if (FirstOZ.Count() > 2 && int.TryParse(FirstOZ[FirstOZ.Count() - 2], out IValue)) { FirstValue = IValue; if (SecondOZ != null) { if (SecondOZ.Count() > 2 && int.TryParse(SecondOZ[SecondOZ.Count() - 2], out IValue)) { SecondValue = IValue; if (SecondValue > FirstValue && SecondValue > 0 && FirstValue > 0) { objEGAEB.LVSprunge = SecondValue - FirstValue; } else { objEGAEB.LVSprunge = 10; } } else { objEGAEB.LVSprunge = 10; } } else { objEGAEB.LVSprunge = 10; } } else { objEGAEB.LVSprunge = 10; } } else { objEGAEB.LVSprunge = 10; } } else { objEGAEB.LVSprunge = 10; } ObjGAEB.ProjectImport(objEGAEB); } catch (Exception ex) { throw; } return(objEGAEB); }
public frmViewProject(EGAEB _ObjEGAEB) { InitializeComponent(); ObjEGAEB = _ObjEGAEB; }
public frmSelectsupplier(EGAEB _ObjEGAEB) { ObjEGAEB = _ObjEGAEB; InitializeComponent(); }
public frmSelectRaster(EGAEB _objEGAEB) { InitializeComponent(); objEGAEB = _objEGAEB; }
public frmGAEBFormat(EGAEB _ObjEGAEB) { ObjEGAEB = _ObjEGAEB; InitializeComponent(); }