using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using edoka_dms; using System.IO; using System.Xml.Linq; using Model; using System.Security.Cryptography; namespace EDOKA_Database { public class EDOKA_DB { public string connectionstring; public DataSet dsdaten = new DataSet(); private static DataTable SP_Parameters = new DataTable(); private SqlDataAdapter dadaten; public EDOKA_DB(string connectionstring) { this.connectionstring = connectionstring; } public EDOKA_DB() { } #region "Allgemein" public DataTable Get_Tabledata(string Tablename, bool StoredProc = false, bool is_SQL_String = false, DataTable sp_params = null) { try { SqlConnection sqlconnect = new SqlConnection(); DataSet ds = new DataSet(); ds.Tables.Clear(); sqlconnect.ConnectionString = connectionstring; SqlDataAdapter da = new SqlDataAdapter("", sqlconnect); SqlCommand sqlcmd = new SqlCommand(); sqlcmd.Connection = sqlconnect; if (StoredProc == true) { sqlcmd.CommandType = CommandType.StoredProcedure; if (Tablename.IndexOf("@@Mandantnr@@") > 0) Tablename = Tablename.Replace("@@Mandantnr@@", ""); sqlcmd.CommandText = Tablename; foreach (DataRow r in sp_params.Rows) { sqlcmd.Parameters.Add(r["Paramname"].ToString(), SqlDbType.VarChar); sqlcmd.Parameters[sqlcmd.Parameters.Count - 1].Value = r["Paramvalue"].ToString(); }; } else { sqlcmd.CommandType = CommandType.Text; sqlcmd.CommandText = "Select * from " + Tablename; } if (is_SQL_String == true) sqlcmd.CommandText = Tablename; da.SelectCommand = sqlcmd; sqlconnect.Open(); da.Fill(dsdaten, "Daten1"); sqlconnect.Close(); EDOKA_Logging.Logging.Debug("", "EDOKA_DB:Get_Tabledata:" + Tablename, ""); return dsdaten.Tables[0]; } catch (Exception ex) { EDOKA_Logging.Logging.Error(ex.Message, "EDOKA_DB:Get_Tabledata:" + Tablename, ""); return null; } } public void Exec_SQL(string sql) { SqlConnection sqlconnect = new SqlConnection(); SqlCommand sqlcmd = new SqlCommand(); sqlcmd.Connection = sqlconnect; sqlconnect.ConnectionString = this.connectionstring; sqlcmd.CommandType = CommandType.Text; sqlcmd.CommandText = sql; sqlcmd.Connection.Open(); sqlcmd.ExecuteNonQuery(); sqlcmd.Connection.Close(); } #endregion public string get_dbkey(string Tablename) { clsMyKey_Tabelle myKey_Tabelle = new clsMyKey_Tabelle(); myKey_Tabelle.connectionstring = connectionstring; string dbkey = myKey_Tabelle.get_dbkey(Tablename).ToString(); string skey = "OFFEDK000"; string s = ""; s = DateTime.Now.Year.ToString().Trim(); string dt = s; skey = skey + s; while (dbkey.Length < 8) { dbkey = "0" + dbkey; } skey = skey + dbkey; s = Helper.DivFnkt.modulo10(dt + dbkey).ToString(); skey = skey + s; return skey; } public int Get_Mitarbeiternr(string mitarbeiter) { try { if (mitarbeiter == "") { return 0; } if (Helper.DivFnkt.IsNumeric(mitarbeiter)) { return Convert.ToInt32(mitarbeiter); } Get_Tabledata("Select * from mitarbeiter where tgnummer='" + mitarbeiter + "'", false, true); if (dsdaten.Tables[0].Rows.Count < 1) { return 0; } else { return Convert.ToInt32(dsdaten.Tables[0].Rows[0]["mitarbeiternr"].ToString()); } } catch { return 0; } } public DataTable Get_Vorlage_By_DokumentID(string dokumentid) { string sql = "Select dbo.BinaryToBase64(vorlage) as Data, dbo.office_vorlage_datei.office_vorlagenr as nr from dbo.Office_Vorlage_Datei INNER JOIN "; sql = sql + " dbo.office_vorlage ON dbo.Office_Vorlage_Datei.office_vorlagenr = dbo.office_vorlage.office_vorlagenr INNER JOIN "; sql = sql + "dbo.dokumenttyp INNER JOIN "; sql = sql + "dbo.dokument ON dbo.dokumenttyp.dokumenttypnr = dbo.dokument.dokumenttypnr ON dbo.office_vorlage.office_vorlagenr = dbo.dokumenttyp.office_vorlagenr "; sql = sql + "WHERE dbo.dokument.dokumentid = '" + dokumentid + "' "; Get_Tabledata(sql, false, true); return dsdaten.Tables[0]; } public string get_vorlage_to_file(string nr, string tempdir, string dokumentid) { SqlConnection conn = new SqlConnection(connectionstring); SqlCommand sc = new SqlCommand("Select vorlage from office_vorlage_datei where dbo.office_vorlage_datei.office_vorlagenr=" + nr, conn); conn.Open(); SqlDataReader sqldr = sc.ExecuteReader(); while (sqldr.Read()) { string filename = tempdir + @"\" + dokumentid; byte[] attachment = (byte[])sqldr.GetValue(0); FileStream fs = new FileStream(filename, FileMode.Create); fs.Write(attachment, 0, attachment.Length); fs.Close(); } conn.Close(); return ""; } public string Get_ApplicationType_from_Vorlage(int vorlagenr) { string sql = "Select RIGHT(dbo.anwendung.bezeichnung, CHARINDEX(' ', REVERSE(dbo.anwendung.bezeichnung)) - 1) AS Expr1 FROM dbo.office_vorlage INNER JOIN dbo.anwendung ON dbo.office_vorlage.anwendungnr = dbo.anwendung.anwendungnr where dbo.office_vorlage.office_vorlagenr=" + vorlagenr.ToString(); Get_Tabledata(sql, false, true); return dsdaten.Tables[0].Rows[0][0].ToString(); } #region "EDOKA_Datenbank" public string Create_EDOKA_Doc(clsDocData DocData) { EDOKA_DB db = new EDOKA_DB(connectionstring); string dokumentid = ""; dokumentid = db.get_dbkey("Dokument"); clsDokument dok = new clsDokument(); clsDokumenttyp doktyp = new clsDokumenttyp(); clsConnectionProvider edoka_conn = new clsConnectionProvider(); edoka_conn.sConnectionString = this.connectionstring; doktyp.cpMainConnectionProvider = edoka_conn; doktyp.iDokumenttypnr = Convert.ToInt32(DocData.DokumenttypNr); doktyp.SelectOne(); dok.cpMainConnectionProvider = edoka_conn; dok.sDokumentid = dokumentid; dok.bAktiv = true; dok.bAmsdokument = false; dok.bAuserstuebernahme = false; dok.bAusgangsarchiviert = false; dok.daTermin = Convert.ToDateTime("1900.01.01"); dok.bBereit_zur_archivierung = false; dok.bEingangsarchiviert = false; dok.bGesperrt = false; dok.bUnvollstaendig = false; dok.iBck = 0; dok.iColdstatus = 0; dok.iUnterschriftlinks = db.Get_Mitarbeiternr(DocData.Unterschrift_Links); dok.iUnterschriftrechts = db.Get_Mitarbeiternr(DocData.Unterschrift_Rechts); dok.iErsteller = db.Get_Mitarbeiternr(DocData.Ersteller); dok.iVerantwortlich = db.Get_Mitarbeiternr(DocData.Verantwortllich); dok.bVertraulich = false; dok.sZustelladresse = ""; dok.sAnredezustelladresse = ""; dok.iZustaendiger = 341; dok.iPostzustellung = 0; dok.bZustaendig_kube = false; dok.iMa_ausgangsarchivierung = 0; dok.iMa_eingangsarchivierung = 0; dok.sBemerkung = "Generiert mit Syncfusion"; dok.sColddokumentid = ""; dok.iDokdurchkubeweitergegeben = 0; dok.sBedRDokumentid = ""; dok.iDokumenttypnr = doktyp.iDokumenttypnr; dok.bZu_retournieren = doktyp.bZu_retournieren; dok.iAufbewahrung_elektronisch = doktyp.iAufbewahrungsfrist_elektronisch; dok.iAufbewahrung_phaysisch = doktyp.iAufbewahrungsfrist_physisch; dok.iBearbeitung_nach_abschluss = doktyp.iTage_mutation; dok.iBearbeitungszeit_in_minuten = doktyp.iDbearbeitungszeit; dok.iMonierung_in_tagen = doktyp.iAnzahl_tage; dok.sBezeichnung = doktyp.sBezeichnung; dok.iNrpar00 = Convert.ToInt32(DocData.PartnerNr); dok.iErsteller = 1; dok.iMutierer = dok.iErsteller; dok.iMitarbeiternr = dok.iErsteller; dok.daMutiertam = DateTime.Now; dok.daErstelltam = DateTime.Now; dok.iMutiererteam = 0; dok.iMutierertieam = 0; dok.iErstellerteam = 0; dok.daErstellungsdatum = Convert.ToDateTime(DocData.DokumentDatum); dok.sDokumentname = dokumentid; dok.cpMainConnectionProvider = edoka_conn; edoka_conn.OpenConnection(); dok.Insert(); edoka_conn.CloseConnection(true); COLD_Index_Sichern(1, dokumentid); if (dok.bZu_retournieren == true) { COLD_Index_Sichern(2, dokumentid); } Status_Erstellen(dokumentid, false); dok.iStatusnr = Convert.ToInt32(get_current_Status(dokumentid).ToString()); edoka_conn.OpenConnection(); dok.Update(); edoka_conn.CloseConnection(true); return dokumentid; } public DataTable COLD_Index_Sichern(int indextyp, string dokumentid) { SqlCommand scmCmdToExecute = new SqlCommand(); scmCmdToExecute.CommandText = "dbo.SP_Dokument_Cold_Index"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; DataTable dtToReturn = new DataTable(); SqlDataAdapter sdaAdapter = new SqlDataAdapter(scmCmdToExecute); SqlConnection conn = new SqlConnection(connectionstring); scmCmdToExecute.Connection = conn; try { scmCmdToExecute.Parameters.Add(new SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumentid)); scmCmdToExecute.Parameters.Add(new SqlParameter("@indextyp", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, indextyp)); sdaAdapter.Fill(dtToReturn); return dtToReturn; } catch (Exception ex) { throw new Exception("Dokumenterstellung::Generic_Select::" + scmCmdToExecute.CommandText + "::Error occured." + ex.Message, ex); } finally { scmCmdToExecute.Dispose(); sdaAdapter.Dispose(); } } public object Status_Erstellen(string dokumentid, bool blsequenz) { // Status_Erstellen_Overwrite(dokumentid, 0) var scmCmdToExecute = new SqlCommand(); var dtToReturn = new DataTable(); var sdaAdapter = new SqlDataAdapter(scmCmdToExecute); scmCmdToExecute.CommandText = "dbo.sp_dokumentberabeigung_status_erstellen"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; SqlConnection conn = new SqlConnection(connectionstring); scmCmdToExecute.Connection = conn; try { scmCmdToExecute.Parameters.Add(new SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumentid)); scmCmdToExecute.Parameters.Add(new SqlParameter("@bck", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); scmCmdToExecute.Parameters.Add(new SqlParameter("@blsequenz", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); sdaAdapter.Fill(dtToReturn); return dtToReturn; } catch (Exception ex) { // // some error occured. Bubble it to caller and encapsulate Exception object throw new Exception("Dokument_Information_Wert::" + scmCmdToExecute.CommandText + "::Error occured." + ex.Message, ex); } finally { scmCmdToExecute.Dispose(); sdaAdapter.Dispose(); } } private long get_current_Status(string dokumentid) { long get_current_StatusRet = default; var scmCmdToExecute = new SqlCommand(); scmCmdToExecute.CommandText = "dbo.SP_Dokumentbearbeitung_current_status"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; var dtToReturn = new DataTable(); var sdaAdapter = new SqlDataAdapter(scmCmdToExecute); SqlConnection conn = new SqlConnection(connectionstring); scmCmdToExecute.Connection = conn; try { scmCmdToExecute.Parameters.Add(new SqlParameter("@statustext", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "In Bearbeitung")); scmCmdToExecute.Parameters.Add(new SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumentid)); scmCmdToExecute.Parameters.Add(new SqlParameter("@currentstatus", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, 0)); sdaAdapter.Fill(dtToReturn); get_current_StatusRet = Convert.ToInt64(scmCmdToExecute.Parameters[2].Value); return get_current_StatusRet; } catch (Exception ex) { // // some error occured. Bubble it to caller and encapsulate Exception object throw new Exception("Dokumenterstellung::Generic_Select::" + scmCmdToExecute.CommandText + "::Error occured." + ex.Message, ex); } finally { scmCmdToExecute.Dispose(); sdaAdapter.Dispose(); } } #endregion public DataTable Get_Partnerstruktur(int partnernr, bool partnerlist, int mitarbeiternr, int profilnr) { SqlConnection conn = new SqlConnection(connectionstring); var scmCmdToExecute = new SqlCommand(); scmCmdToExecute.Connection = conn; scmCmdToExecute.CommandText = "dbo.[sp_trefferliste_getdata_new_relaunch]"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; var dtToReturn = new DataTable(); var sdaAdapter = new SqlDataAdapter(scmCmdToExecute); scmCmdToExecute.Connection.ConnectionString = connectionstring; try { if (partnernr == -1) { partnernr = 0; } scmCmdToExecute.Parameters.Add(new SqlParameter("@profilnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, profilnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@inrpar00", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, partnernr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); scmCmdToExecute.Parameters.Add(new SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); scmCmdToExecute.Parameters.Add(new SqlParameter("@doklist", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); scmCmdToExecute.Parameters.Add(new SqlParameter("@partnerlist", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); scmCmdToExecute.Parameters.Add(new SqlParameter("@doklistdokumentartnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); scmCmdToExecute.Parameters.Add(new SqlParameter("@doklistpartnernr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); if (partnernr == 0) { scmCmdToExecute.Parameters.Add(new SqlParameter("@vollstaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); } else { scmCmdToExecute.Parameters.Add(new SqlParameter("@vollstaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); } if (partnerlist && partnernr != 0) { scmCmdToExecute.Parameters.Add(new SqlParameter("@partnereingegeben", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); } else { scmCmdToExecute.Parameters.Add(new SqlParameter("@partnereingegeben", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); } scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, 0)); scmCmdToExecute.Parameters.Add(new SqlParameter("@ihasmessage", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, 0)); scmCmdToExecute.Parameters.Add(new SqlParameter("@firstentry", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); scmCmdToExecute.Parameters.Add(new SqlParameter("@lastentry", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1000000)); scmCmdToExecute.Parameters.Add(new SqlParameter("@pagedirection", SqlDbType.Int, 4, ParameterDirection.InputOutput, true, 10, 0, "", DataRowVersion.Proposed, 0)); scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "")); scmCmdToExecute.Parameters.Add(new SqlParameter("@fanummer3", SqlDbType.VarChar, 128, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "")); conn.Open(); sdaAdapter.Fill(dtToReturn); return dtToReturn; } catch (Exception ex) { try { //MessageBox.Show(ex.Message, "Fehler Partnerstruktur", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch { } } finally { conn.Close(); scmCmdToExecute.Dispose(); sdaAdapter.Dispose(); } return default; } public DataTable Get_Dokumente(int partnernr, int dokumentartnr, int profilnr, bool alleDokumente = false) { int i; SqlConnection conn = new SqlConnection(connectionstring); var scmCmdToExecute = new SqlCommand(); scmCmdToExecute.Connection = conn; scmCmdToExecute.CommandText = "dbo.SP_Trefferliste_getdata_new_relaunch"; scmCmdToExecute.CommandType = CommandType.StoredProcedure; var dtToReturn = new DataTable(); var sdaAdapter = new SqlDataAdapter(scmCmdToExecute); scmCmdToExecute.Connection.ConnectionString = connectionstring; try { scmCmdToExecute.Parameters.Add(new SqlParameter("@profilnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, profilnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@inrpar00", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, partnernr)); // ObjPerson - fehler bei der Partnernr scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); scmCmdToExecute.Parameters.Add(new SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); scmCmdToExecute.Parameters.Add(new SqlParameter("@doklist", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); scmCmdToExecute.Parameters.Add(new SqlParameter("@partnerlist", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); scmCmdToExecute.Parameters.Add(new SqlParameter("@doklistdokumentartnr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, dokumentartnr)); scmCmdToExecute.Parameters.Add(new SqlParameter("@doklistpartnernr", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, partnernr)); // if (this.txtnrpar00.Text != "") // { scmCmdToExecute.Parameters.Add(new SqlParameter("@vollstaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); // } // else // { // scmCmdToExecute.Parameters.Add(new SqlParameter("@vollstaendig", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); // } scmCmdToExecute.Parameters.Add(new SqlParameter("@partnereingegeben", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); if (alleDokumente == true) { scmCmdToExecute.Parameters.Add(new SqlParameter("@alledokumente", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 1)); } else { scmCmdToExecute.Parameters.Add(new SqlParameter("@alledokumente", SqlDbType.Int, 4, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, 0)); } scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, true, 10, 0, "", DataRowVersion.Proposed, 0)); //if (this.txtnrpar00.Text.Length > 0) //{ // if (this.LblSearch.Text == this.MenuItemValorSuche.Text + ":" & this.txtnrpar00.Text != "") // { // scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "VA:" + this.txtnrpar00.Text)); // } // if (this.LblSearch.Text == this.MenuItemISINSUche.Text + ":" & this.txtnrpar00.Text != "") // { // scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "IS:" + this.txtnrpar00.Text)); // } // if (this.LblSearch.Text == this.MenuItemVVSuche.Text + ":" & this.txtnrpar00.Text != "") // { // scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "VV:" + this.txtnrpar00.Text)); // } //} //else //{ scmCmdToExecute.Parameters.Add(new SqlParameter("@searchstring", SqlDbType.VarChar, 25, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "")); // } scmCmdToExecute.Parameters.Add(new SqlParameter("@fanummer3", SqlDbType.VarChar, 255, ParameterDirection.Input, true, 10, 0, "", DataRowVersion.Proposed, "")); sdaAdapter.Fill(dtToReturn); return dtToReturn; } catch (Exception ex) { // MsgBox(ex.Message) // ' // some error occured. Bubble it to caller and encapsulate Exception object throw new Exception("Dokumente lesen::" + scmCmdToExecute.CommandText + "::Error occured." + ex.Message, ex); } finally { scmCmdToExecute.Dispose(); sdaAdapter.Dispose(); } } public string GetDocumentAsBase64(string dokumentid) { try { string sql = "Select dbo.BinaryToBase64(dokument) as Data from doks "; sql = sql + "WHERE dbo.doks.dokumentid = '" + dokumentid + "' "; Get_Tabledata(sql, false, true); if (dsdaten.Tables[0].Rows.Count > 0) { return dsdaten.Tables[0].Rows[0][0].ToString(); } else { return ""; } } catch { return ""; } finally { } } } }