static public MOG_ControllerSyncData AddNewWorkspace(MOG_DBSyncedLocationInfo workspace) { return(AddNewWorkspace(workspace.mTabName, workspace.mWorkingDirectory, workspace.mProjectName, workspace.mBranchName, workspace.mPlatformName, workspace.mUserName)); }
/// <summary> /// Create a Directory TreeNode checking to see if this directory is a MOG sync target /// </summary> /// <param name="fullname"></param> /// <returns></returns> private TreeNode CreateDirectoryNode(string fullname, MOG_ControllerSyncData targetGameData) { string name = fullname; try { name = Path.GetFileName(fullname); } catch { } //Check active user for null/empty string and default to Admin if that is the case. string userName = MOG_ControllerProject.GetUserName_DefaultAdmin(); TreeNode directory = new TreeNode(name); directory.Tag = new guiAssetTreeTag(fullname, directory); // This is a virtual directory if (targetGameData != null) { directory.ImageIndex = 5; directory.SelectedImageIndex = 5; directory.Tag = new guiAssetTreeTag(fullname, directory, targetGameData); } else { // Is this a MOG controlled directory - Always remove ' characters when talking to the database? if (MOG.DATABASE.MOG_DBSyncedDataAPI.DoesSyncedLocationExist(MOG_ControllerSystem.GetComputerName(), null, null, fullname.Replace("'", ""), userName)) { ArrayList gameDataArray = MOG.DATABASE.MOG_DBSyncedDataAPI.GetAllSyncedLocations(MOG_ControllerSystem.GetComputerName(), fullname.Replace("'", ""), userName); if (gameDataArray.Count == 1) { MOG_DBSyncedLocationInfo dbLocation = (MOG_DBSyncedLocationInfo)gameDataArray[0]; MOG_ControllerSyncData gameData = new MOG_ControllerSyncData(dbLocation.mWorkingDirectory, dbLocation.mProjectName, dbLocation.mBranchName, dbLocation.mPlatformName, userName); directory.Tag = new guiAssetTreeTag(fullname, directory, gameData); } else if (gameDataArray.Count > 1) { MOG_Report.ReportMessage("Create Mog Aware directory", "Got back too many gameDataControllers for this directory!\n\nDIRECTORY: " + fullname + "\n\nTaking first one...", Environment.StackTrace, MOG_ALERT_LEVEL.ERROR); MOG_DBSyncedLocationInfo dbLocation = (MOG_DBSyncedLocationInfo)gameDataArray[0]; MOG_ControllerSyncData gameData = new MOG_ControllerSyncData(dbLocation.mWorkingDirectory, dbLocation.mProjectName, dbLocation.mBranchName, dbLocation.mPlatformName, userName); directory.Tag = new guiAssetTreeTag(fullname, directory, gameData); } else if (gameDataArray.Count == 0) { MOG_Report.ReportMessage("Create Mog Aware directory", "Got back zero gameDataControllers for this directory!\n\nDIRECTORY: " + fullname, Environment.StackTrace, MOG_ALERT_LEVEL.ERROR); return(directory); } directory.ImageIndex = 4; directory.SelectedImageIndex = 4; } else { directory.ImageIndex = 3; directory.SelectedImageIndex = 3; } } return(directory); }