Ejemplo n.º 1
0
        public SCBWflFolder createFolderInWorkList(int newWorkGroupID, string OrdnerName)
        {
            SCBWflFolder folder = null;

            try
            {
                if (workGroupSession != null)
                {
                    foreach (SCBWflFolder subFolder in workGroupSession.WorkList.GetSubFolders())
                    {
                        if (subFolder.Name == OrdnerName)
                        {
                            Console.WriteLine("Folder '" + OrdnerName + "' existiert bereits!");
                            return(subFolder);
                        }
                    }
                    folder = workGroupSession.WorkList.CreateSubFolder(OrdnerName);
                }
                return(folder);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(folder);
            }
        }
Ejemplo n.º 2
0
        public void createFolder(string[] folderNames) //, string pfad_gesamt = "", int usernr = -1)
        {
            try
            {
                if (workGroupSession != null)
                {
                    SCBWflFolder subFolder = null;
                    foreach (SCBWflFolder sub in workGroupSession.WorkList.GetSubFolders())
                    {
                        if (sub.Name == folderNames[1]) // => erste Ebene der Ordner
                        {
                            Console.WriteLine("Folder '" + sub.Name + "' (" + sub.ID.ToLong(IDType.wflLocalKey) + ") existiert bereits!");
                            //InfoLogger.WriteFile("update BIG_FOLDER_RESTORE_TMP2 set foldernr = " + sub.ID.ToLong(IDType.wflLocalKey) + " where wgnr = " + usernr + " and pfad_gesamt = '" + pfad_gesamt + "';");
                            subFolder = sub;
                            break;
                        }
                    }
                    if (subFolder == null)
                    {//create Folder erste Ebene
                        subFolder = workGroupSession.WorkList.CreateSubFolder(folderNames[1]);
                        Console.WriteLine("Folder '" + subFolder.Name + "' wurde erstellt!");
                    }

                    if (folderNames.Length > 2)
                    {
                        bool folderExists = false;
                        for (int idx = 2; idx < folderNames.Length; idx++)
                        {
                            folderExists = false;
                            foreach (SCBWflFolder sub in subFolder.GetSubFolders())
                            {
                                if (sub.Name == folderNames[idx])
                                {
                                    subFolder = sub;
                                    Console.WriteLine("Folder '" + sub.Name + "' existiert bereits!");
                                    //InfoLogger.WriteFile("update BIG_FOLDER_RESTORE_TMP2 set foldernr = " + sub.ID.ToLong(IDType.wflLocalKey) + " where wgnr = " + usernr + " and pfad_gesamt = '" + pfad_gesamt + "';");
                                    folderExists = true;
                                    break;
                                }
                            }
                            if (!folderExists)
                            {
                                //create Sub Folders
                                Console.WriteLine("Folder '" + subFolder.Name + "\\" + folderNames[idx] + "' wird erstellt!");
                                subFolder = subFolder.CreateSubFolder(folderNames[idx]);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("createFolder() " + ex.Message);
            }
        }
Ejemplo n.º 3
0
        private SCBWflFolder FindFolder(SCBWflFolder folder, int destFolderID)
        {
            foreach (SCBWflFolder sub in folder.GetSubFolders())
            {
                if (sub.ID.ToLong(IDType.wflLocalKey) == destFolderID)
                {
                    return(sub);
                }

                if (sub.GetSubFolders().Count > 0)
                {
                    SCBWflFolder found = FindFolder(sub, destFolderID);
                    if (found != null)
                    {
                        return(found);
                    }
                }
            }
            return(null);
        }
Ejemplo n.º 4
0
 public SCBWflFolder createFolderInFolder(SCBWflFolder folder, string OrdnerName)
 {
     try
     {
         foreach (SCBWflFolder subFolder in folder.GetSubFolders())
         {
             if (subFolder.Name == OrdnerName)
             {
                 Console.WriteLine("Folder '" + OrdnerName + "' existiert bereits!");
                 return(subFolder);
             }
         }
         if (folder != null)
         {
             return(folder.CreateSubFolder(OrdnerName));
         }
         return(null);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         return(null);
     }
 }
Ejemplo n.º 5
0
        public bool moveWorkItem(int igz, int workGroupID, int destFolderID, out string message)
        {
            message = "";
            try
            {
                if (igz > 0)
                {
                    SCBWflFolder folder = null;
                    if (allFolders.Count > 0)
                    {
                        folder = allFolders.Find(f => f.ID.ToLong(IDType.wflLocalKey) == destFolderID);
                    }
                    if (folder == null)
                    {
                        workGroupSession = getWorkGroupSession(workGroupID);
                        if (workGroupSession != null)
                        {
                            folder = FindFolder(workGroupSession.WorkList, destFolderID);
                            stopWorkGroupSession();
                            if (folder != null)
                            {
                                allFolders.Add(folder);
                            }
                        }
                        else
                        {
                            message = "WorkGroupSession is null: " + workGroupID;
                        }
                    }
                    if (folder != null)
                    {
                        //System.Windows.Forms.MessageBox.Show(folder.Name + " (" + folder.ID.ToLong(IDType.wflLocalKey) + ")" + " " + destFolderID);
                        Console.WriteLine(folder.Name + " (" + folder.ID.ToLong(IDType.wflLocalKey) + ")" + " " + destFolderID);

                        SCBWflProcessInstance pi = sysSession.System.GetProcessInstanceByID(sysSession.System.NewIDByLocalKey(igz));
                        SCBWflWorkItem        wi = pi.GetWorkItems().Item(1);
                        if (wi.GetCurrentActor().ID.ToLong(IDType.wflLocalKey) == workGroupID)
                        {
                            pi.SetLock(LockTypeOfProcInst.wflProcInstWhole);
                            wi.MoveToFolder(folder);
                            pi.ReleaseLock(LockTypeOfProcInst.wflProcInstWhole);
                            return(true);
                        }
                        else
                        {
                            message = "Aktueller Benutzer stimmt nicht mit Arbeitsgruppe überein! CurrentActor: " + wi.GetCurrentActor().ID.ToLong(IDType.wflLocalKey) + " WorkGroupID: " + workGroupID;
                            return(false);
                        }
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("IGZ: " + igz + ": " + ex.Message);
                message = "IGZ: " + igz + ": " + ex.Message;
                return(false);
            }
        }