public void LogToTable(int WGNr, string WGName, string FolderName, string GZ, List <string> allPreviousFolder) { try { FolderObject o = getFolderObject(WGNr, FolderName, allPreviousFolder); //SysSession.System.SQLCommand("insert into BIG_WORKGROUP_FOLDER_RESTORE values(" + WGNr + ", '" + WGName + "', '" + FolderName + "', '" + GZ + "')"); if (o != null) { SysSession.System.SQLCommand("insert into BIG_FOLDER_RESTORE_TMP values(" + WGNr + ", '" + WGName + "', '" + FolderName + "', '" + GZ + "', ' ', " + WGNr + ", '" + o.PFAD_GESAMT + "', '" + o.PFAD + "', '" + o.VATER_FOLDERBEZ + "', '" + o.FOLDERBEZ + "', " + o.FOLDERNR + ", " + o.VATER_FOLDERNR + ", " + o.FOLDER_LEVEL + ", -1)"); } else { SysSession.System.SQLCommand("insert into BIG_FOLDER_RESTORE_TMP values(" + WGNr + ", '" + WGName + "', '" + FolderName + "', '" + GZ + "', ' ', " + WGNr + ", ' ', ' ', ' ', ' ', -200, -200, -200, -1)"); } Console.Title = "Insertierte Datensätze " + Counter++; } catch (Exception ex) { Console.WriteLine("LogToTable --> " + ex.Message); } }
public FolderObject getFolderObject(int UserNr, string FolderName, List <string> allPreviousFolder) { try { StringBuilder sb = new StringBuilder(); sb.Append("SELECT usernr,pfad_gesamt, pfad,vater_folderbez, folderbez,foldernr,vater_foldernr,FOLDER_LEVEL FROM( "); sb.Append("SELECT "); sb.Append("USERNR, "); sb.Append("USERNAME || SYS_CONNECT_BY_PATH(FOLDERBEZ, '\\') PFAD_GESAMT, "); sb.Append("SUBSTR(SYS_CONNECT_BY_PATH(FOLDERBEZ, '\\'), 2) PFAD, "); sb.Append("NVL(substr(SYS_CONNECT_BY_PATH(FOLDERBEZ, '\\'), 2, LENGTH(SYS_CONNECT_BY_PATH(FOLDERBEZ, '\\') )- LENGTH(FOLDERBEZ) - 2), ' ') VATER_FOLDERBEZ, "); sb.Append("FOLDERBEZ, "); sb.Append("FOLDERNR, "); sb.Append("VATER_FOLDERNR, "); sb.Append("LEVEL FOLDER_LEVEL "); sb.Append("FROM "); sb.Append("(SELECT f.USERNR, m.USERNAME, f.FOLDERNR, f.VATER_FOLDERNR, f.FOLDERBEZ "); sb.Append("FROM FOLDER f, MITARBEITER m "); sb.Append("WHERE f.USERNR = " + UserNr); //--> USERNUMMER sb.Append(" AND m.USERNR = f.USERNR "); sb.Append("AND m.IST_ROLLE = 1) f "); sb.Append("START WITH f.VATER_FOLDERNR = 0 "); sb.Append("CONNECT BY PRIOR f.FOLDERNR=f.VATER_FOLDERNR "); sb.Append(") WHERE FOLDERBEZ = '" + FolderName + "'"); //--> FOLDERBEZEICHNUNG SCBWflRows rows = SysSession.System.SQLCommand(sb.ToString()); string parentFolder = ""; for (int i = allPreviousFolder.Count - 1; i >= 0; i--) { parentFolder = allPreviousFolder[i]; foreach (SCBWflRow row in rows) { //Console.WriteLine("4: " + row.GetColumns().Item(4).ToString()); //Console.WriteLine("5: " + row.GetColumns().Item(5).ToString()); if (parentFolder == row.GetColumns().Item(4).ToString() || rows.Count == 1) { //yes try { fo = new FolderObject(); if (row.GetColumns().Item(1) != null) { fo.USERNR = Convert.ToInt32(row.GetColumns().Item(1).ToString()); } if (row.GetColumns().Item(2) != null) { fo.PFAD_GESAMT = row.GetColumns().Item(2).ToString(); } if (row.GetColumns().Item(3) != null) { fo.PFAD = row.GetColumns().Item(3).ToString(); } if (row.GetColumns().Item(4) != null) { fo.VATER_FOLDERBEZ = row.GetColumns().Item(4).ToString(); } if (row.GetColumns().Item(5) != null) { fo.FOLDERBEZ = row.GetColumns().Item(5).ToString(); } if (row.GetColumns().Item(6) != null) { fo.FOLDERNR = Convert.ToInt32(row.GetColumns().Item(6).ToString()); } if (row.GetColumns().Item(7) != null) { fo.VATER_FOLDERNR = Convert.ToInt32(row.GetColumns().Item(7).ToString()); } if (row.GetColumns().Item(8) != null) { fo.FOLDER_LEVEL = Convert.ToInt32(row.GetColumns().Item(8).ToString()); } } catch (Exception ex) { Console.WriteLine("getFolderObject --> " + parentFolder + " --> " + ex.Message); } return(fo); } } } return(null); } catch (Exception ex) { Console.WriteLine("getFolderObject --> " + ex.Message); return(null); } }