63 lines
1.6 KiB
Diff
63 lines
1.6 KiB
Diff
|
diff --git a/plugins/sharepoint-account-setup/SharepointAccount.cs b/plugins/sharepoint-account-setup/SharepointAccount.cs
|
||
|
index 61959ac..a9fad5f 100644
|
||
|
--- a/plugins/sharepoint-account-setup/SharepointAccount.cs
|
||
|
+++ b/plugins/sharepoint-account-setup/SharepointAccount.cs
|
||
|
@@ -85,6 +85,44 @@ namespace Sharepoint
|
||
|
}
|
||
|
}
|
||
|
|
||
|
+ private static FileInfo [] GetWorkSpaces ()
|
||
|
+ {
|
||
|
+ int tries = 0;
|
||
|
+
|
||
|
+ TryAgain:
|
||
|
+ try
|
||
|
+ {
|
||
|
+ tries = tries + 1;
|
||
|
+ FileInfo [] workspaces = deskIceDaemon.EnumerateWorkspaces ();
|
||
|
+
|
||
|
+ return workspaces;
|
||
|
+ }
|
||
|
+ catch (Exception ex)
|
||
|
+ {
|
||
|
+ if (tries > 5)
|
||
|
+ {
|
||
|
+ Console.WriteLine ("Three tries exceeded");
|
||
|
+ Console.WriteLine ("Could not create the account");
|
||
|
+ Console.WriteLine (ex.Message);
|
||
|
+ return null;
|
||
|
+ }
|
||
|
+
|
||
|
+ NoWorkspacesException nwex = new NoWorkspacesException ();
|
||
|
+ if (ex.Message.Contains (nwex.Message)) {
|
||
|
+ Console.WriteLine ("No workspaces found");
|
||
|
+ Console.WriteLine ("Sleeping for 4 seconds");
|
||
|
+ System.Threading.Thread.Sleep (1000 * 4);
|
||
|
+
|
||
|
+ goto TryAgain;
|
||
|
+ } else {
|
||
|
+ Console.WriteLine ("Error while getting workspace. Please try again after a minute");
|
||
|
+ Console.WriteLine (ex.Message);
|
||
|
+ }
|
||
|
+ }
|
||
|
+
|
||
|
+ return null;
|
||
|
+ }
|
||
|
+
|
||
|
private static void SetupFolders ()
|
||
|
{
|
||
|
Console.WriteLine ("Getting folders ");
|
||
|
@@ -97,7 +135,11 @@ namespace Sharepoint
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
- FileInfo [] workspaces = deskIceDaemon.EnumerateWorkspaces ();
|
||
|
+ FileInfo [] workspaces = GetWorkSpaces ();
|
||
|
+
|
||
|
+ if (workspaces == null)
|
||
|
+ return;
|
||
|
+
|
||
|
foreach (FileInfo workspace in workspaces)
|
||
|
{
|
||
|
Folder[] folders = null;
|