diff --git a/Installer/DBAdminToolkit.Setup.zip b/Installer/DBAdminToolkit.Setup.zip index 1c339f9..ba4f122 100644 Binary files a/Installer/DBAdminToolkit.Setup.zip and b/Installer/DBAdminToolkit.Setup.zip differ diff --git a/Source/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj b/Source/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj index 740b2a1..29b7793 100644 --- a/Source/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj +++ b/Source/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj @@ -813,7 +813,7 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:Dropbox Business Admin Toolkit" - "ProductCode" = "8:{E45FF5F2-727B-4B69-B555-247B6A8C959D}" + "ProductCode" = "8:{9FD4D23E-457C-4206-86DA-6CAF1D08C192}" "PackageCode" = "8:{4F507568-2104-402C-812B-BF0F65944546}" "UpgradeCode" = "8:{F6F4214B-C1CB-4F20-B1B3-35E1B7262F93}" "AspNetVersion" = "8:4.0.30319.0" @@ -821,7 +821,7 @@ "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:4.2.0" + "ProductVersion" = "8:4.5.0" "Manufacturer" = "8:Dropbox Enterprise Services" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" diff --git a/Source/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj b/Source/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj index d9409d6..61631e0 100644 --- a/Source/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj +++ b/Source/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj @@ -45,6 +45,7 @@ + @@ -73,6 +74,7 @@ + diff --git a/Source/DfBAdminToolkit.Common/Extensions/StringExtension.cs b/Source/DfBAdminToolkit.Common/Extensions/StringExtension.cs new file mode 100644 index 0000000..c6b0938 --- /dev/null +++ b/Source/DfBAdminToolkit.Common/Extensions/StringExtension.cs @@ -0,0 +1,42 @@ +using System; +using System.Text; +using System.Security.Cryptography; + +namespace DfBAdminToolkit.Common.Extensions +{ + public static class StringExtension + { + public static string Encrypt( + this string clearText, + string optionalEntropy = null, + DataProtectionScope scope = DataProtectionScope.LocalMachine) + { + if (clearText == null) + throw new ArgumentNullException("Clear text is null"); + byte[] clearBytes = Encoding.UTF8.GetBytes(clearText); + byte[] entropyBytes = string.IsNullOrEmpty(optionalEntropy) + ? null + : Encoding.UTF8.GetBytes(optionalEntropy); + byte[] encryptedBytes = ProtectedData.Protect(clearBytes, entropyBytes, scope); + string encryptedString = "encrypted-" + Convert.ToBase64String(encryptedBytes); + return encryptedString; + } + + public static string Decrypt( + this string encryptedText, + string optionalEntropy = null, + DataProtectionScope scope = DataProtectionScope.LocalMachine) + { + if (encryptedText == null) + throw new ArgumentNullException("Encrypted text is null"); + //remove encrypted- tag from beginning + encryptedText = encryptedText.Remove(0, 10); + byte[] encryptedBytes = Convert.FromBase64String(encryptedText); + byte[] entropyBytes = string.IsNullOrEmpty(optionalEntropy) + ? null + : Encoding.UTF8.GetBytes(optionalEntropy); + byte[] clearBytes = ProtectedData.Unprotect(encryptedBytes, entropyBytes, scope); + return Encoding.UTF8.GetString(clearBytes); + } + } +} diff --git a/Source/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs b/Source/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs index c953672..8d670d5 100644 --- a/Source/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs +++ b/Source/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("4.2.0.0")] -[assembly: AssemblyFileVersion("4.2.0.0")] +[assembly: AssemblyVersion("4.5.0.0")] +[assembly: AssemblyFileVersion("4.5.0.0")] diff --git a/Source/DfBAdminToolkit.Common/Services/IMemberData.cs b/Source/DfBAdminToolkit.Common/Services/IMemberData.cs index b151228..65858ef 100644 --- a/Source/DfBAdminToolkit.Common/Services/IMemberData.cs +++ b/Source/DfBAdminToolkit.Common/Services/IMemberData.cs @@ -24,6 +24,8 @@ public interface IMemberData string NewExternalId { get; set; } + string ProvisionStatus { get; set; } + #endregion Provision #region Groups diff --git a/Source/DfBAdminToolkit.Common/Services/IMemberServices.cs b/Source/DfBAdminToolkit.Common/Services/IMemberServices.cs index 703fbbc..1bbc9fb 100644 --- a/Source/DfBAdminToolkit.Common/Services/IMemberServices.cs +++ b/Source/DfBAdminToolkit.Common/Services/IMemberServices.cs @@ -43,6 +43,8 @@ public interface IMemberServices { string ArchiveTeamFolderUrl { get; set; } + string SyncSettingTeamFolderUrl { get; set; } + string CreateTeamFolderUrl { get; set; } string ListTeamFolderUrl { get; set; } @@ -89,8 +91,10 @@ public interface IMemberServices { IDataResponse ListTeamFolders(string authToken); - IServiceResponse CreateTeamFolder(string teamFolderName, bool syncSetting, string authToken); + IServiceResponse CreateTeamFolder(string teamFolderName, string authToken); IServiceResponse SetFolderStatus(string teamFolderId, bool activeSetting, string authToken); + + IServiceResponse SetFolderSyncSetting(string teamFolderId, string syncSetting, string authToken); } } \ No newline at end of file diff --git a/Source/DfBAdminToolkit.Common/Services/MemberData.cs b/Source/DfBAdminToolkit.Common/Services/MemberData.cs index 32aeac2..e44e0ce 100644 --- a/Source/DfBAdminToolkit.Common/Services/MemberData.cs +++ b/Source/DfBAdminToolkit.Common/Services/MemberData.cs @@ -25,6 +25,8 @@ public class MemberData public string NewExternalId { get; set; } + public string ProvisionStatus { get; set; } + #endregion Provision #region Search Text diff --git a/Source/DfBAdminToolkit.Common/Services/MemberServices.cs b/Source/DfBAdminToolkit.Common/Services/MemberServices.cs index e533710..b78cbc9 100644 --- a/Source/DfBAdminToolkit.Common/Services/MemberServices.cs +++ b/Source/DfBAdminToolkit.Common/Services/MemberServices.cs @@ -52,6 +52,8 @@ public class MemberServices public string ArchiveTeamFolderUrl { get; set; } + public string SyncSettingTeamFolderUrl { get; set; } + public string CreateTeamFolderUrl { get; set; } public string ListTeamFolderUrl { get; set; } @@ -104,7 +106,7 @@ public IServiceResponse AddMember(IMemberData data, string authToken) request.RequestFormat = DataFormat.Json; client.UserAgent = UserAgentVersion; IRestResponse response = client.Execute(request); - serviceResponse = new ServiceResponse(response.StatusCode, response.ErrorMessage); + serviceResponse = new ServiceResponse(response.StatusCode, response.Content); } else { @@ -728,14 +730,9 @@ public IDataResponse ListTeamFolders(string authToken) return dataResponse; } - public IServiceResponse CreateTeamFolder(string teamFolderName, bool syncSetting, string authToken) + public IServiceResponse CreateTeamFolder(string teamFolderName, string authToken) { IServiceResponse serviceResponse = null; - string syncStringSetting = "sync"; - if (!syncSetting) - { - syncStringSetting = "no_sync"; - } try { if (!string.IsNullOrEmpty(CreateTeamFolderUrl)) @@ -746,8 +743,7 @@ public IServiceResponse CreateTeamFolder(string teamFolderName, bool syncSetting request.AddHeader("Content-Type", "application/json"); JObject json = new JObject( - new JProperty("name", teamFolderName), - new JProperty("default_sync_setting", syncStringSetting) + new JProperty("name", teamFolderName) ); request.AddParameter("application/json", json, ParameterType.RequestBody); @@ -821,6 +817,41 @@ public IServiceResponse SetFolderStatus(string teamFolderId, bool activeSetting, return serviceResponse; } + public IServiceResponse SetFolderSyncSetting(string teamFolderId, string syncSetting, string authToken) + { + IServiceResponse serviceResponse = null; + try + { + if (!string.IsNullOrEmpty(SyncSettingTeamFolderUrl)) + { + RestClient client = new RestClient(string.Format("{0}/{1}/", _baseUrl, _apiVersion)); + RestRequest request = new RestRequest(SyncSettingTeamFolderUrl, Method.POST); + request.AddHeader("Authorization", Convert.ToString("Bearer ") + authToken); + request.AddHeader("Content-Type", "application/json"); + + JObject json = new JObject( + new JProperty("team_folder_id", teamFolderId), + new JProperty("default_sync_setting", syncSetting) + ); + request.AddParameter("application/json", json, ParameterType.RequestBody); + + request.RequestFormat = DataFormat.Json; + client.UserAgent = UserAgentVersion; + IRestResponse response = client.Execute(request); + serviceResponse = new ServiceResponse(response.StatusCode, response.ErrorMessage); + } + else + { + throw new ArgumentNullException("Missing service url"); + } + } + catch (Exception e) + { + serviceResponse = new ServiceResponse(HttpStatusCode.InternalServerError, e.Message); + } + return serviceResponse; + } + public IDataResponse DumpFile(IMemberData data, string outputFolder, string authToken) { IDataResponse dataResponse = null; @@ -828,7 +859,11 @@ public IDataResponse DumpFile(IMemberData data, string outputFolder, string auth { if (!string.IsNullOrEmpty(FileDumpUrl)) { - string pathString = string.Concat(@"{""path"":""", data.Path, @"""}"); + //added this to be able to get files with ASCII characters in them. + Byte[] encodedBytes = System.Text.Encoding.ASCII.GetBytes(data.Path); + string newPath = System.Text.Encoding.ASCII.GetString(encodedBytes); + + string pathString = string.Concat(@"{""path"":""", newPath, @"""}"); string url = string.Format("{0}/{1}/", _baseUrl, _apiVersion); RestClient client = new RestClient(url); RestRequest request = new RestRequest(FileDumpUrl, Method.GET); diff --git a/Source/DfBAdminToolkit/App.config b/Source/DfBAdminToolkit/App.config index ab78d10..7ff4c04 100644 --- a/Source/DfBAdminToolkit/App.config +++ b/Source/DfBAdminToolkit/App.config @@ -37,7 +37,7 @@ - + diff --git a/Source/DfBAdminToolkit/ApplicationResource.cs b/Source/DfBAdminToolkit/ApplicationResource.cs index b7e1eb9..3704738 100644 --- a/Source/DfBAdminToolkit/ApplicationResource.cs +++ b/Source/DfBAdminToolkit/ApplicationResource.cs @@ -3,6 +3,7 @@ using System; using System.Configuration; using System.Threading; + using DfBAdminToolkit.Common.Extensions; public static class ApplicationResource { @@ -119,6 +120,11 @@ public static string ActionArchiveTeamFolder get { return ConfigurationManager.AppSettings.Get("ActionArchiveTeamFolder"); } } + public static string ActionUpdateDefaultSyncSettingTeamFolder + { + get { return ConfigurationManager.AppSettings.Get("ActionUpdateDefaultSyncSettingTeamFolder"); } + } + public static string ActionCreateTeamFolder { get { return ConfigurationManager.AppSettings.Get("ActionCreateTeamFolder"); } @@ -168,11 +174,27 @@ public static string RegistryKey { } public static string DefaultAccessToken { - get { return ConfigurationManager.AppSettings.Get("DefaultAccessToken"); } + get + { + string defaultToken = ConfigurationManager.AppSettings.Get("DefaultAccessToken"); + if (defaultToken.StartsWith("encrypted-")) + { + defaultToken = defaultToken.Decrypt(); + } + return defaultToken; + } } public static string DefaultProvisionToken { - get { return ConfigurationManager.AppSettings.Get("DefaultProvisionToken"); } + get + { + string defaultProvisionToken = ConfigurationManager.AppSettings.Get("DefaultProvisionToken"); + if (defaultProvisionToken.StartsWith("encrypted-")) + { + defaultProvisionToken = defaultProvisionToken.Decrypt(); + } + return defaultProvisionToken; + } } public static string DefaultOutputReportFilePrefix { diff --git a/Source/DfBAdminToolkit/DfBAdminToolkit.csproj b/Source/DfBAdminToolkit/DfBAdminToolkit.csproj index 2949eb8..1073f00 100644 --- a/Source/DfBAdminToolkit/DfBAdminToolkit.csproj +++ b/Source/DfBAdminToolkit/DfBAdminToolkit.csproj @@ -89,6 +89,7 @@ + diff --git a/Source/DfBAdminToolkit/Install Config/DfBAdminToolkit.exe.config b/Source/DfBAdminToolkit/Install Config/DfBAdminToolkit.exe.config index 06d3d03..728e467 100644 --- a/Source/DfBAdminToolkit/Install Config/DfBAdminToolkit.exe.config +++ b/Source/DfBAdminToolkit/Install Config/DfBAdminToolkit.exe.config @@ -38,6 +38,7 @@ + diff --git a/Source/DfBAdminToolkit/Model/IProvisioningModel.cs b/Source/DfBAdminToolkit/Model/IProvisioningModel.cs index 086140b..89c2c24 100644 --- a/Source/DfBAdminToolkit/Model/IProvisioningModel.cs +++ b/Source/DfBAdminToolkit/Model/IProvisioningModel.cs @@ -18,6 +18,8 @@ public interface IProvisioningModel string NewExternalId { get; set; } + string ProvisionStatus { get; set; } + List Members { get; set; } } } \ No newline at end of file diff --git a/Source/DfBAdminToolkit/Model/MemberListViewItemModel.cs b/Source/DfBAdminToolkit/Model/MemberListViewItemModel.cs index 4d7f76c..9c9d9a4 100644 --- a/Source/DfBAdminToolkit/Model/MemberListViewItemModel.cs +++ b/Source/DfBAdminToolkit/Model/MemberListViewItemModel.cs @@ -14,6 +14,7 @@ public class MemberListViewItemModel private decimal _usage; private string _newEmail; private string _newExternalId; + private string _provisionStatus; private bool _isChecked; public string Email { @@ -102,6 +103,16 @@ public string NewExternalId } } + public string ProvisionStatus + { + get { return _provisionStatus; } + set + { + _provisionStatus = value; + OnPropertyChanged("ProvisionStatus"); + } + } + public bool IsChecked { get { return _isChecked; } set { diff --git a/Source/DfBAdminToolkit/Model/ProvisioningModel.cs b/Source/DfBAdminToolkit/Model/ProvisioningModel.cs index ce1123d..a2783da 100644 --- a/Source/DfBAdminToolkit/Model/ProvisioningModel.cs +++ b/Source/DfBAdminToolkit/Model/ProvisioningModel.cs @@ -18,6 +18,8 @@ public class ProvisioningModel public string NewExternalId { get; set; } + public string ProvisionStatus { get; set; } + public List Members { get; set; } public ProvisioningModel() { @@ -29,7 +31,8 @@ public void Initialize() { AccessToken = ApplicationResource.DefaultProvisionToken; SelectedRole = string.Empty; SendWelcomeEmail = true; - KeepAccount = true; + ProvisionStatus = string.Empty; + KeepAccount = false; } public void CleanUp() { diff --git a/Source/DfBAdminToolkit/Model/TeamFoldersListViewItemModel.cs b/Source/DfBAdminToolkit/Model/TeamFoldersListViewItemModel.cs index 1d69f22..28a5821 100644 --- a/Source/DfBAdminToolkit/Model/TeamFoldersListViewItemModel.cs +++ b/Source/DfBAdminToolkit/Model/TeamFoldersListViewItemModel.cs @@ -6,7 +6,7 @@ public class TeamFoldersListViewItemModel : INotifyPropertyChanged, IModel { private string _teamFolderName; private string _teamFolderId; - private string _defaultSyncSetting; + //private string _defaultSyncSetting; private string _status; private bool _isChecked; @@ -26,15 +26,17 @@ public string TeamFolderId { } } - public string DefaultSyncSetting { - get { return _defaultSyncSetting; } - set { - _defaultSyncSetting = value; - OnPropertyChanged("DefaultSyncSetting"); - } - } - - public string Status { + //public string DefaultSyncSetting + //{ + // get { return _defaultSyncSetting; } + // set + // { + // _defaultSyncSetting = value; + // OnPropertyChanged("DefaultSyncSetting"); + // } + //} + + public string Status { get { return _status; } set { _status = value; diff --git a/Source/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs b/Source/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs index 5d384e3..b6716f2 100644 --- a/Source/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs +++ b/Source/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs @@ -181,7 +181,7 @@ public void UpdateSettings() { private string ProvisionRoles(IProvisioningModel model, IMainPresenter presenter) { string errorMessage = string.Empty; - IMemberServices service = service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + IMemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); service.AddMemberUrl = ApplicationResource.ActionAddMember; service.UserAgentVersion = ApplicationResource.UserAgent; try @@ -194,7 +194,9 @@ private string ProvisionRoles(IProvisioningModel model, IMainPresenter presenter FirstName = item.FirstName, LastName = item.LastName, SendWelcomeEmail = model.SendWelcomeEmail, + ProvisionStatus = item.ProvisionStatus, RoleName = model.SelectedRole + }, model.AccessToken); if (response.StatusCode == HttpStatusCode.OK) @@ -203,7 +205,51 @@ private string ProvisionRoles(IProvisioningModel model, IMainPresenter presenter { SyncContext.Post(delegate { - presenter.UpdateProgressInfo(string.Format("Added Member: {0}: {1} {2}", item.Email, item.FirstName, item.LastName)); + if (response.Message.Contains("success")) + { + item.ProvisionStatus = "Provisioned successfully."; + presenter.UpdateProgressInfo(string.Format("Added Member: {0}: {1} {2}", item.Email, item.FirstName, item.LastName)); + } + if (response.Message.Contains("team_license_limit")) + { + item.ProvisionStatus = "Team is already full.The organization has no available licenses."; + presenter.UpdateProgressInfo("Team is already full. The organization has no available licenses."); + } + if (response.Message.Contains("free_team_member_limit_reached")) + { + item.ProvisionStatus = "Team is already full. The free team member limit has been reached."; + presenter.UpdateProgressInfo("Team is already full. The free team member limit has been reached."); + } + if (response.Message.Contains("user_already_on_team")) + { + item.ProvisionStatus = "User is already on this team. The provided email address is associated with a user who is already a member of (including in recoverable state) or invited to the team."; + presenter.UpdateProgressInfo("User is already on this team. The provided email address is associated with a user who is already a member of (including in recoverable state) or invited to the team."); + } + if (response.Message.Contains("user_on_another_team")) + { + item.ProvisionStatus = "User is already on another team. The provided email address is associated with a user that is already a member or invited to another team."; + presenter.UpdateProgressInfo("User is already on another team. The provided email address is associated with a user that is already a member or invited to another team."); + } + if (response.Message.Contains("user_already_paired")) + { + item.ProvisionStatus = "User is already paired."; + presenter.UpdateProgressInfo("User is already paired."); + } + if (response.Message.Contains("user_migration_failed")) + { + item.ProvisionStatus = "User migration has failed."; + presenter.UpdateProgressInfo("User migration has failed."); + } + if (response.Message.Contains("duplicate_external_member_id")) + { + item.ProvisionStatus = "A user with the given external member ID already exists on the team (including in recoverable state)."; + presenter.UpdateProgressInfo("A user with the given external member ID already exists on the team (including in recoverable state)."); + } + if (response.Message.Contains("user_creation_failed")) + { + item.ProvisionStatus = "User creation has failed."; + presenter.UpdateProgressInfo("User creation has failed."); + } }, null); } } @@ -801,6 +847,7 @@ private void OnCommandProvision(object sender, System.EventArgs e) else { presenter.UpdateProgressInfo("Provisioning completed"); + view.RenderProvisioningStatus(model.Members); presenter.UpdateTitleBarStats(); } // update result and update view. diff --git a/Source/DfBAdminToolkit/Presenter/SettingsPresenter.cs b/Source/DfBAdminToolkit/Presenter/SettingsPresenter.cs index c960032..43d86d6 100644 --- a/Source/DfBAdminToolkit/Presenter/SettingsPresenter.cs +++ b/Source/DfBAdminToolkit/Presenter/SettingsPresenter.cs @@ -5,6 +5,7 @@ using System.Configuration; using System.Windows.Forms; using View; + using Common.Extensions; public class SettingsPresenter : PresenterBase, ISettingsPresenter { @@ -54,8 +55,13 @@ private void UpdateConfigSettings() { FileUtil.UpdateKey("ContentUrl", model.ApiContentBaseUrl.Trim()); FileUtil.UpdateKey("ApiVersion", model.ApiVersion.Trim()); FileUtil.UpdateKey("SearchDefaultLimit", model.SearchDefaultLimit.ToString()); - FileUtil.UpdateKey("DefaultAccessToken", model.DefaultAccessToken.Trim()); - FileUtil.UpdateKey("DefaultProvisionToken", model.DefaultProvisionToken.Trim()); + + //encrypt tokens first + string encryptedAccessToken = model.DefaultAccessToken.Trim().Encrypt(); + string encryptedProvisionToken = model.DefaultProvisionToken.Trim().Encrypt(); + + FileUtil.UpdateKey("DefaultAccessToken", encryptedAccessToken); + FileUtil.UpdateKey("DefaultProvisionToken", encryptedProvisionToken); FileUtil.UpdateKey("SuppressFilenamesInStatus", model.SuppressFilenamesInStatus.ToString().Trim()); Configuration config = ConfigurationManager.OpenExeConfiguration(FileUtil.GetAppPath() + "DfBAdminToolkit.exe"); ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name); diff --git a/Source/DfBAdminToolkit/Presenter/TeamFoldersPresenter.cs b/Source/DfBAdminToolkit/Presenter/TeamFoldersPresenter.cs index ca72512..3205e3d 100644 --- a/Source/DfBAdminToolkit/Presenter/TeamFoldersPresenter.cs +++ b/Source/DfBAdminToolkit/Presenter/TeamFoldersPresenter.cs @@ -37,6 +37,7 @@ protected override void WireViewEvents() { view.CommandGetTeamFolders += OnCommandGetTeamFolders; view.CommandCreateTeamFolder += OnCommandCreateTeamFolder; view.CommandSetFolderStatus += OnCommandSetFolderStatus; + view.CommandSetFolderSyncSetting += OnCommandSetFolderSyncSetting; IsViewEventsWired = true; } } @@ -48,6 +49,7 @@ protected override void UnWireViewEvents() { view.CommandGetTeamFolders -= OnCommandGetTeamFolders; view.CommandCreateTeamFolder -= OnCommandCreateTeamFolder; view.CommandSetFolderStatus -= OnCommandSetFolderStatus; + view.CommandSetFolderSyncSetting -= OnCommandSetFolderSyncSetting; IsViewEventsWired = false; } } @@ -78,20 +80,19 @@ private void GetTeamFolders(ITeamFoldersModel model, IMainPresenter presenter) // clear existing data first model.TeamFolders.Clear(); - int resultCount = jsonData["entries"].Count; + //changed from entries to team_folders + int resultCount = jsonData["team_folders"].Count; for (int i = 0; i < resultCount; i++) { - dynamic entries = jsonData["entries"][i]; - dynamic teamFolderName = entries["name"]; - dynamic teamFolderId = entries["team_folder_id"]; - dynamic defaultSyncSetting = entries["default_sync_setting"][".tag"]; - dynamic status = entries["status"][".tag"]; + dynamic team_folders = jsonData["team_folders"][i]; + dynamic teamFolderName = team_folders["name"]; + dynamic teamFolderId = team_folders["team_folder_id"]; + dynamic status = team_folders["status"][".tag"]; // update model TeamFoldersListViewItemModel lvItem = new TeamFoldersListViewItemModel() { TeamFolderName = teamFolderName, - DefaultSyncSetting = defaultSyncSetting, TeamFolderId = teamFolderId, Status = status }; @@ -101,14 +102,14 @@ private void GetTeamFolders(ITeamFoldersModel model, IMainPresenter presenter) } } - private string CreateTeamFolder(ITeamFoldersModel model, string teamFolderName, bool syncSetting, IMainPresenter presenter) + private string CreateTeamFolder(ITeamFoldersModel model, string teamFolderName, IMainPresenter presenter) { string errorMessage = string.Empty; string fileAccessToken = ApplicationResource.DefaultAccessToken; IMemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); service.CreateTeamFolderUrl = ApplicationResource.ActionCreateTeamFolder; service.UserAgentVersion = ApplicationResource.UserAgent; - IServiceResponse response = service.CreateTeamFolder(teamFolderName, syncSetting, fileAccessToken); + IServiceResponse response = service.CreateTeamFolder(teamFolderName, fileAccessToken); if (response.StatusCode == HttpStatusCode.OK) { if (SyncContext != null) @@ -158,6 +159,45 @@ private string SetFolderStatus(ITeamFoldersModel model, string teamFolderId, boo return errorMessage; } + private string SetDefaultSyncSetting(ITeamFoldersModel model, string teamFolderId, bool syncSetting, IMainPresenter presenter) + { + string errorMessage = string.Empty; + string fileAccessToken = ApplicationResource.DefaultAccessToken; + string syncStringSetting = "sync"; + IMemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + service.SyncSettingTeamFolderUrl = ApplicationResource.ActionUpdateDefaultSyncSettingTeamFolder; + if (!syncSetting) + { + syncStringSetting = "no_sync"; + } + service.UserAgentVersion = ApplicationResource.UserAgent; + IServiceResponse response = service.SetFolderSyncSetting(teamFolderId, syncStringSetting, fileAccessToken); + if (response.StatusCode == HttpStatusCode.OK) + { + if (SyncContext != null) + { + SyncContext.Post(delegate + { + presenter.UpdateProgressInfo(string.Format("Updated default sync setting for [" + teamFolderId + "]")); + }, null); + } + } + if (response.StatusCode.ToString() == "BadRequest") + { + if (SyncContext != null) + { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo("Error: This endpoint is only available for teams with access to managed sync"); + }, null); + } + } + else + { + errorMessage = ErrorMessages.FAILED_TO_UPDATE_TEAM_FOLDER_STATUS; + } + return errorMessage; + } + #endregion REST Service #region Events @@ -238,7 +278,7 @@ private void OnCommandCreateTeamFolder(object sender, System.EventArgs e) } else { - this.CreateTeamFolder(model, teamFolderName, syncSetting, presenter); + this.CreateTeamFolder(model, teamFolderName, presenter); if (SyncContext != null) { SyncContext.Post(delegate @@ -314,6 +354,61 @@ private void OnCommandSetFolderStatus(object sender, System.EventArgs e) setfolderstatus.Start(); } + private void OnCommandSetFolderSyncSetting(object sender, System.EventArgs e) + { + ITeamFoldersView view = base._view as ITeamFoldersView; + ITeamFoldersModel model = base._model as ITeamFoldersModel; + IMainPresenter presenter = SimpleResolver.Instance.Get(); + TeamFoldersModel teamModel = view.GetTeamFolderIds(); + bool syncSetting = view.SyncSetting; + + if (SyncContext != null) + { + SyncContext.Post(delegate + { + presenter.EnableControl(false); + presenter.ActivateSpinner(true); + presenter.UpdateProgressInfo("Processing..."); + + }, null); + } + Thread setfoldersyncsetting = new Thread(() => + { + if (string.IsNullOrEmpty(model.AccessToken)) + { + SyncContext.Post(delegate + { + presenter.EnableControl(true); + presenter.ActivateSpinner(false); + presenter.UpdateProgressInfo(""); + }, null); + } + else + { + foreach (TeamFoldersListViewItemModel lvItem in teamModel.TeamFolders) + { + this.SetDefaultSyncSetting(model, lvItem.TeamFolderId, syncSetting, presenter); + } + if (SyncContext != null) + { + SyncContext.Post(delegate + { + // update result and update view. + PresenterBase.SetViewPropertiesFromModel( + ref view, model + ); + // update result and update view. + view.RenderTeamFoldersList(); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + //presenter.UpdateProgressInfo("Completed."); + }, null); + } + } + }); + setfoldersyncsetting.Start(); + } + private void OnDataChanged(object sender, System.EventArgs e) { ITeamFoldersView view = base._view as ITeamFoldersView; ITeamFoldersModel model = base._model as ITeamFoldersModel; diff --git a/Source/DfBAdminToolkit/Properties/AssemblyInfo.cs b/Source/DfBAdminToolkit/Properties/AssemblyInfo.cs index e57292d..e4f928d 100644 --- a/Source/DfBAdminToolkit/Properties/AssemblyInfo.cs +++ b/Source/DfBAdminToolkit/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("4.2.0.0")] -[assembly: AssemblyFileVersion("4.2.0.0")] +[assembly: AssemblyVersion("4.5.0.0")] +[assembly: AssemblyFileVersion("4.5.0.0")] diff --git a/Source/DfBAdminToolkit/View/IProvisioningView.cs b/Source/DfBAdminToolkit/View/IProvisioningView.cs index f372c85..64f07d7 100644 --- a/Source/DfBAdminToolkit/View/IProvisioningView.cs +++ b/Source/DfBAdminToolkit/View/IProvisioningView.cs @@ -44,5 +44,7 @@ public interface IProvisioningView void RenderMemberList(List members); void RenderUpdateMemberList(List members); + + void RenderProvisioningStatus(List members); } } \ No newline at end of file diff --git a/Source/DfBAdminToolkit/View/ITeamFoldersView.cs b/Source/DfBAdminToolkit/View/ITeamFoldersView.cs index bd59591..1260acb 100644 --- a/Source/DfBAdminToolkit/View/ITeamFoldersView.cs +++ b/Source/DfBAdminToolkit/View/ITeamFoldersView.cs @@ -10,6 +10,7 @@ public interface ITeamFoldersView event EventHandler CommandGetTeamFolders; event EventHandler CommandCreateTeamFolder; event EventHandler CommandSetFolderStatus; + event EventHandler CommandSetFolderSyncSetting; string AccessToken { get; set; } diff --git a/Source/DfBAdminToolkit/View/MainView.cs b/Source/DfBAdminToolkit/View/MainView.cs index 4b782db..c291ed3 100644 --- a/Source/DfBAdminToolkit/View/MainView.cs +++ b/Source/DfBAdminToolkit/View/MainView.cs @@ -26,9 +26,9 @@ public partial class MainView : Form, IMainView { DumpContent = 1, Provisioning = 2, Groups = 3, - //TeamFolders = 4, - Devices = 4, - DataMigration = 5 + TeamFolders = 4, + Devices = 5, + DataMigration = 6 } #endregion Runtime components @@ -141,14 +141,14 @@ private void InitializeRuntimeComponent() { Padding = new Padding(5, 3, 5, 3), UseVisualStyleBackColor = true }); - //_tabPages.Add(new TabPage() - //{ - // Name = "tabPage_TeamFolders", - // Text = "Team Folders", - // Dock = DockStyle.Fill, - // Padding = new Padding(5, 3, 5, 3), - // UseVisualStyleBackColor = true - //}); + _tabPages.Add(new TabPage() + { + Name = "tabPage_TeamFolders", + Text = "Team Folders", + Dock = DockStyle.Fill, + Padding = new Padding(5, 3, 5, 3), + UseVisualStyleBackColor = true + }); _tabPages.Add(new TabPage() { Name = "tabPage_Devices", Text = "Devices", @@ -274,7 +274,7 @@ private void RegisterTabPages() { _tabPages[(int)TabIndex.DumpContent].Controls.Add(CreateDumpUserContentView()); _tabPages[(int)TabIndex.Provisioning].Controls.Add(CreateProvisionView()); _tabPages[(int)TabIndex.Groups].Controls.Add(CreateGroupsView()); - //_tabPages[(int)TabIndex.TeamFolders].Controls.Add(CreateTeamFoldersView()); + _tabPages[(int)TabIndex.TeamFolders].Controls.Add(CreateTeamFoldersView()); _tabPages[(int)TabIndex.Devices].Controls.Add(CreateDevicesView()); _tabPages[(int)TabIndex.DataMigration].Controls.Add(CreateDataMigrationView()); @@ -282,7 +282,7 @@ private void RegisterTabPages() { _tabControl.Controls.Add(_tabPages[(int)TabIndex.DumpContent]); _tabControl.Controls.Add(_tabPages[(int)TabIndex.Provisioning]); _tabControl.Controls.Add(_tabPages[(int)TabIndex.Groups]); - //_tabControl.Controls.Add(_tabPages[(int)TabIndex.TeamFolders]); + _tabControl.Controls.Add(_tabPages[(int)TabIndex.TeamFolders]); _tabControl.Controls.Add(_tabPages[(int)TabIndex.Devices]); _tabControl.Controls.Add(_tabPages[(int)TabIndex.DataMigration]); diff --git a/Source/DfBAdminToolkit/View/ProvisioningView.Designer.cs b/Source/DfBAdminToolkit/View/ProvisioningView.Designer.cs index 9ad6ab9..ef10772 100644 --- a/Source/DfBAdminToolkit/View/ProvisioningView.Designer.cs +++ b/Source/DfBAdminToolkit/View/ProvisioningView.Designer.cs @@ -47,6 +47,7 @@ private void InitializeComponent() this.tableLayoutPanel_ProvisioningSendEmailGroup = new System.Windows.Forms.TableLayoutPanel(); this.checkBoxProvisioningKeepAccount = new System.Windows.Forms.CheckBox(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonEx_OpenTemplates = new DfBAdminToolkit.Common.Component.ButtonEx(); this.buttonEx_ProvisioningLoadCSV = new DfBAdminToolkit.Common.Component.ButtonEx(); this.buttonEx_ProvisioningLoadUpdateCSV = new DfBAdminToolkit.Common.Component.ButtonEx(); this.objectListView_ProvisioningMembers = new BrightIdeasSoftware.ObjectListView(); @@ -56,6 +57,7 @@ private void InitializeComponent() this.olvColumnProvisioning_Usage = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.olvColumnProvisioning_NewEmail = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.olvColumnProvisioning_NewExternalId = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumnProvisioning_Status = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.radioBulkProvisioning = new System.Windows.Forms.RadioButton(); this.radioBulkOffboard = new System.Windows.Forms.RadioButton(); @@ -71,7 +73,6 @@ private void InitializeComponent() this.buttonEx_ProvisioningGetUsage = new DfBAdminToolkit.Common.Component.ButtonEx(); this.buttonEx_ProvisioningUnsuspend = new DfBAdminToolkit.Common.Component.ButtonEx(); this.buttonEx_ProvisioningUpdateProfile = new DfBAdminToolkit.Common.Component.ButtonEx(); - this.buttonEx_OpenTemplates = new DfBAdminToolkit.Common.Component.ButtonEx(); this.tableLayoutPanel_Provisioning.SuspendLayout(); this.tableLayoutPanel_ProvisioningCommandGroup.SuspendLayout(); this.tableLayoutPanel_ProvisioningInputFile.SuspendLayout(); @@ -94,14 +95,13 @@ private void InitializeComponent() this.tableLayoutPanel_Provisioning.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel_Provisioning.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.tableLayoutPanel_Provisioning.Location = new System.Drawing.Point(0, 0); - this.tableLayoutPanel_Provisioning.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.tableLayoutPanel_Provisioning.Name = "tableLayoutPanel_Provisioning"; this.tableLayoutPanel_Provisioning.RowCount = 4; - this.tableLayoutPanel_Provisioning.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 46F)); + this.tableLayoutPanel_Provisioning.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); this.tableLayoutPanel_Provisioning.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 34.84848F)); this.tableLayoutPanel_Provisioning.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 65.15151F)); - this.tableLayoutPanel_Provisioning.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 66F)); - this.tableLayoutPanel_Provisioning.Size = new System.Drawing.Size(1070, 723); + this.tableLayoutPanel_Provisioning.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 43F)); + this.tableLayoutPanel_Provisioning.Size = new System.Drawing.Size(713, 470); this.tableLayoutPanel_Provisioning.TabIndex = 1; // // tableLayoutPanel_ProvisioningCommandGroup @@ -109,19 +109,18 @@ private void InitializeComponent() this.tableLayoutPanel_ProvisioningCommandGroup.ColumnCount = 1; this.tableLayoutPanel_ProvisioningCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 70F)); this.tableLayoutPanel_ProvisioningCommandGroup.Controls.Add(this.tableLayoutPanel_ProvisioningInputFile, 0, 0); - this.tableLayoutPanel_ProvisioningCommandGroup.Location = new System.Drawing.Point(4, 51); - this.tableLayoutPanel_ProvisioningCommandGroup.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel_ProvisioningCommandGroup.Location = new System.Drawing.Point(3, 33); this.tableLayoutPanel_ProvisioningCommandGroup.Name = "tableLayoutPanel_ProvisioningCommandGroup"; this.tableLayoutPanel_ProvisioningCommandGroup.RowCount = 2; this.tableLayoutPanel_ProvisioningCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 45.35519F)); - this.tableLayoutPanel_ProvisioningCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 12F)); - this.tableLayoutPanel_ProvisioningCommandGroup.Size = new System.Drawing.Size(1060, 202); + this.tableLayoutPanel_ProvisioningCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 8F)); + this.tableLayoutPanel_ProvisioningCommandGroup.Size = new System.Drawing.Size(707, 131); this.tableLayoutPanel_ProvisioningCommandGroup.TabIndex = 0; // // tableLayoutPanel_ProvisioningInputFile // this.tableLayoutPanel_ProvisioningInputFile.ColumnCount = 4; - this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 501F)); + this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 334F)); this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10.07371F)); this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 89.92629F)); this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); @@ -130,13 +129,13 @@ private void InitializeComponent() this.tableLayoutPanel_ProvisioningInputFile.Controls.Add(this.buttonEx_ProvisioningFileInputSelect, 1, 0); this.tableLayoutPanel_ProvisioningInputFile.Controls.Add(this.tableLayoutPanel_ProvisioningSendEmailGroup, 2, 1); this.tableLayoutPanel_ProvisioningInputFile.Controls.Add(this.tableLayoutPanel2, 2, 0); - this.tableLayoutPanel_ProvisioningInputFile.Location = new System.Drawing.Point(2, 2); - this.tableLayoutPanel_ProvisioningInputFile.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tableLayoutPanel_ProvisioningInputFile.Location = new System.Drawing.Point(1, 1); + this.tableLayoutPanel_ProvisioningInputFile.Margin = new System.Windows.Forms.Padding(1); this.tableLayoutPanel_ProvisioningInputFile.Name = "tableLayoutPanel_ProvisioningInputFile"; this.tableLayoutPanel_ProvisioningInputFile.RowCount = 2; this.tableLayoutPanel_ProvisioningInputFile.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30.50847F)); this.tableLayoutPanel_ProvisioningInputFile.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 69.49152F)); - this.tableLayoutPanel_ProvisioningInputFile.Size = new System.Drawing.Size(1056, 186); + this.tableLayoutPanel_ProvisioningInputFile.Size = new System.Drawing.Size(704, 121); this.tableLayoutPanel_ProvisioningInputFile.TabIndex = 1; // // textBox_ProvisioningInputFile @@ -144,10 +143,10 @@ private void InitializeComponent() this.textBox_ProvisioningInputFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.textBox_ProvisioningInputFile.FileFilter = null; this.textBox_ProvisioningInputFile.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.textBox_ProvisioningInputFile.Location = new System.Drawing.Point(4, 17); - this.textBox_ProvisioningInputFile.Margin = new System.Windows.Forms.Padding(4, 6, 4, 5); + this.textBox_ProvisioningInputFile.Location = new System.Drawing.Point(3, 7); + this.textBox_ProvisioningInputFile.Margin = new System.Windows.Forms.Padding(3, 4, 3, 3); this.textBox_ProvisioningInputFile.Name = "textBox_ProvisioningInputFile"; - this.textBox_ProvisioningInputFile.Size = new System.Drawing.Size(493, 22); + this.textBox_ProvisioningInputFile.Size = new System.Drawing.Size(328, 22); this.textBox_ProvisioningInputFile.TabIndex = 1; this.textBox_ProvisioningInputFile.Visible = false; // @@ -155,22 +154,21 @@ private void InitializeComponent() // this.tableLayoutPanel_ProvisioningRolesSelectionGroup.ColumnCount = 2; this.tableLayoutPanel_ProvisioningRolesSelectionGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 64.28571F)); - this.tableLayoutPanel_ProvisioningRolesSelectionGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 248F)); + this.tableLayoutPanel_ProvisioningRolesSelectionGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 165F)); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.radioButton_ProvisioningRoleTeamAdmin, 0, 1); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.radioButton_ProvisioningRoleUserMgmtAdmin, 1, 0); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.radioButton_ProvisioningRoleSupportAdmin, 1, 1); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.radioButton_ProvisioningRoleMemberOnly, 0, 0); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.checkBox_ProvisioningSendWelcomeEmail, 0, 2); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Dock = System.Windows.Forms.DockStyle.Fill; - this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Location = new System.Drawing.Point(4, 61); - this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Location = new System.Drawing.Point(3, 39); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Name = "tableLayoutPanel_ProvisioningRolesSelectionGroup"; - this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Padding = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Padding = new System.Windows.Forms.Padding(3); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.RowCount = 3; this.tableLayoutPanel_ProvisioningRolesSelectionGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 48.97959F)); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 51.02041F)); - this.tableLayoutPanel_ProvisioningRolesSelectionGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 37F)); - this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Size = new System.Drawing.Size(493, 120); + this.tableLayoutPanel_ProvisioningRolesSelectionGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F)); + this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Size = new System.Drawing.Size(328, 79); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.TabIndex = 0; this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Visible = false; // @@ -178,10 +176,9 @@ private void InitializeComponent() // this.radioButton_ProvisioningRoleTeamAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radioButton_ProvisioningRoleTeamAdmin.AutoSize = true; - this.radioButton_ProvisioningRoleTeamAdmin.Location = new System.Drawing.Point(8, 50); - this.radioButton_ProvisioningRoleTeamAdmin.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.radioButton_ProvisioningRoleTeamAdmin.Location = new System.Drawing.Point(6, 30); this.radioButton_ProvisioningRoleTeamAdmin.Name = "radioButton_ProvisioningRoleTeamAdmin"; - this.radioButton_ProvisioningRoleTeamAdmin.Size = new System.Drawing.Size(229, 17); + this.radioButton_ProvisioningRoleTeamAdmin.Size = new System.Drawing.Size(151, 17); this.radioButton_ProvisioningRoleTeamAdmin.TabIndex = 3; this.radioButton_ProvisioningRoleTeamAdmin.TabStop = true; this.radioButton_ProvisioningRoleTeamAdmin.Text = "Team Admin"; @@ -191,10 +188,9 @@ private void InitializeComponent() // this.radioButton_ProvisioningRoleUserMgmtAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radioButton_ProvisioningRoleUserMgmtAdmin.AutoSize = true; - this.radioButton_ProvisioningRoleUserMgmtAdmin.Location = new System.Drawing.Point(245, 14); - this.radioButton_ProvisioningRoleUserMgmtAdmin.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.radioButton_ProvisioningRoleUserMgmtAdmin.Location = new System.Drawing.Point(163, 6); this.radioButton_ProvisioningRoleUserMgmtAdmin.Name = "radioButton_ProvisioningRoleUserMgmtAdmin"; - this.radioButton_ProvisioningRoleUserMgmtAdmin.Size = new System.Drawing.Size(240, 17); + this.radioButton_ProvisioningRoleUserMgmtAdmin.Size = new System.Drawing.Size(159, 17); this.radioButton_ProvisioningRoleUserMgmtAdmin.TabIndex = 4; this.radioButton_ProvisioningRoleUserMgmtAdmin.TabStop = true; this.radioButton_ProvisioningRoleUserMgmtAdmin.Text = "User Management Admin"; @@ -204,10 +200,9 @@ private void InitializeComponent() // this.radioButton_ProvisioningRoleSupportAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radioButton_ProvisioningRoleSupportAdmin.AutoSize = true; - this.radioButton_ProvisioningRoleSupportAdmin.Location = new System.Drawing.Point(245, 50); - this.radioButton_ProvisioningRoleSupportAdmin.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.radioButton_ProvisioningRoleSupportAdmin.Location = new System.Drawing.Point(163, 30); this.radioButton_ProvisioningRoleSupportAdmin.Name = "radioButton_ProvisioningRoleSupportAdmin"; - this.radioButton_ProvisioningRoleSupportAdmin.Size = new System.Drawing.Size(240, 17); + this.radioButton_ProvisioningRoleSupportAdmin.Size = new System.Drawing.Size(159, 17); this.radioButton_ProvisioningRoleSupportAdmin.TabIndex = 5; this.radioButton_ProvisioningRoleSupportAdmin.TabStop = true; this.radioButton_ProvisioningRoleSupportAdmin.Text = "Support Admin"; @@ -217,10 +212,9 @@ private void InitializeComponent() // this.radioButton_ProvisioningRoleMemberOnly.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radioButton_ProvisioningRoleMemberOnly.AutoSize = true; - this.radioButton_ProvisioningRoleMemberOnly.Location = new System.Drawing.Point(8, 14); - this.radioButton_ProvisioningRoleMemberOnly.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.radioButton_ProvisioningRoleMemberOnly.Location = new System.Drawing.Point(6, 6); this.radioButton_ProvisioningRoleMemberOnly.Name = "radioButton_ProvisioningRoleMemberOnly"; - this.radioButton_ProvisioningRoleMemberOnly.Size = new System.Drawing.Size(229, 17); + this.radioButton_ProvisioningRoleMemberOnly.Size = new System.Drawing.Size(151, 17); this.radioButton_ProvisioningRoleMemberOnly.TabIndex = 2; this.radioButton_ProvisioningRoleMemberOnly.TabStop = true; this.radioButton_ProvisioningRoleMemberOnly.Text = "Standard Team Member"; @@ -231,10 +225,9 @@ private void InitializeComponent() this.checkBox_ProvisioningSendWelcomeEmail.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.checkBox_ProvisioningSendWelcomeEmail.AutoSize = true; this.checkBox_ProvisioningSendWelcomeEmail.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBox_ProvisioningSendWelcomeEmail.Location = new System.Drawing.Point(8, 87); - this.checkBox_ProvisioningSendWelcomeEmail.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.checkBox_ProvisioningSendWelcomeEmail.Location = new System.Drawing.Point(6, 55); this.checkBox_ProvisioningSendWelcomeEmail.Name = "checkBox_ProvisioningSendWelcomeEmail"; - this.checkBox_ProvisioningSendWelcomeEmail.Size = new System.Drawing.Size(229, 17); + this.checkBox_ProvisioningSendWelcomeEmail.Size = new System.Drawing.Size(151, 17); this.checkBox_ProvisioningSendWelcomeEmail.TabIndex = 5; this.checkBox_ProvisioningSendWelcomeEmail.Text = "Send Team Join Emails"; this.checkBox_ProvisioningSendWelcomeEmail.UseVisualStyleBackColor = true; @@ -262,10 +255,9 @@ private void InitializeComponent() office2010White1.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); office2010White1.TextColor = System.Drawing.Color.Black; this.buttonEx_ProvisioningFileInputSelect.ColorTable = office2010White1; - this.buttonEx_ProvisioningFileInputSelect.Location = new System.Drawing.Point(505, 5); - this.buttonEx_ProvisioningFileInputSelect.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.buttonEx_ProvisioningFileInputSelect.Location = new System.Drawing.Point(337, 3); this.buttonEx_ProvisioningFileInputSelect.Name = "buttonEx_ProvisioningFileInputSelect"; - this.buttonEx_ProvisioningFileInputSelect.Size = new System.Drawing.Size(47, 46); + this.buttonEx_ProvisioningFileInputSelect.Size = new System.Drawing.Size(31, 30); this.buttonEx_ProvisioningFileInputSelect.TabIndex = 4; this.buttonEx_ProvisioningFileInputSelect.Text = "..."; this.buttonEx_ProvisioningFileInputSelect.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -279,24 +271,22 @@ private void InitializeComponent() this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.43558F)); this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 31.28834F)); this.tableLayoutPanel_ProvisioningSendEmailGroup.Controls.Add(this.checkBoxProvisioningKeepAccount, 0, 0); - this.tableLayoutPanel_ProvisioningSendEmailGroup.Location = new System.Drawing.Point(560, 61); - this.tableLayoutPanel_ProvisioningSendEmailGroup.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel_ProvisioningSendEmailGroup.Location = new System.Drawing.Point(374, 39); this.tableLayoutPanel_ProvisioningSendEmailGroup.Name = "tableLayoutPanel_ProvisioningSendEmailGroup"; this.tableLayoutPanel_ProvisioningSendEmailGroup.RowCount = 2; this.tableLayoutPanel_ProvisioningSendEmailGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 36.48649F)); this.tableLayoutPanel_ProvisioningSendEmailGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 63.51351F)); - this.tableLayoutPanel_ProvisioningSendEmailGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 31F)); - this.tableLayoutPanel_ProvisioningSendEmailGroup.Size = new System.Drawing.Size(489, 120); + this.tableLayoutPanel_ProvisioningSendEmailGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel_ProvisioningSendEmailGroup.Size = new System.Drawing.Size(326, 78); this.tableLayoutPanel_ProvisioningSendEmailGroup.TabIndex = 3; // // checkBoxProvisioningKeepAccount // this.checkBoxProvisioningKeepAccount.AutoSize = true; this.checkBoxProvisioningKeepAccount.Dock = System.Windows.Forms.DockStyle.Fill; - this.checkBoxProvisioningKeepAccount.Location = new System.Drawing.Point(4, 5); - this.checkBoxProvisioningKeepAccount.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.checkBoxProvisioningKeepAccount.Location = new System.Drawing.Point(3, 3); this.checkBoxProvisioningKeepAccount.Name = "checkBoxProvisioningKeepAccount"; - this.checkBoxProvisioningKeepAccount.Size = new System.Drawing.Size(165, 33); + this.checkBoxProvisioningKeepAccount.Size = new System.Drawing.Size(109, 22); this.checkBoxProvisioningKeepAccount.TabIndex = 5; this.checkBoxProvisioningKeepAccount.Text = "Keep Account"; this.checkBoxProvisioningKeepAccount.UseVisualStyleBackColor = true; @@ -311,22 +301,33 @@ private void InitializeComponent() this.tableLayoutPanel2.Controls.Add(this.buttonEx_OpenTemplates, 2, 0); this.tableLayoutPanel2.Controls.Add(this.buttonEx_ProvisioningLoadCSV, 0, 0); this.tableLayoutPanel2.Controls.Add(this.buttonEx_ProvisioningLoadUpdateCSV, 1, 0); - this.tableLayoutPanel2.Location = new System.Drawing.Point(560, 5); - this.tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel2.Location = new System.Drawing.Point(374, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; this.tableLayoutPanel2.RowCount = 1; this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel2.Size = new System.Drawing.Size(484, 42); + this.tableLayoutPanel2.Size = new System.Drawing.Size(323, 27); this.tableLayoutPanel2.TabIndex = 5; // + // buttonEx_OpenTemplates + // + this.buttonEx_OpenTemplates.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEx_OpenTemplates.ColorTable = office2010White1; + this.buttonEx_OpenTemplates.Location = new System.Drawing.Point(217, 3); + this.buttonEx_OpenTemplates.Name = "buttonEx_OpenTemplates"; + this.buttonEx_OpenTemplates.Size = new System.Drawing.Size(103, 21); + this.buttonEx_OpenTemplates.TabIndex = 10; + this.buttonEx_OpenTemplates.Text = "Open Templates"; + this.buttonEx_OpenTemplates.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; + this.buttonEx_OpenTemplates.UseVisualStyleBackColor = true; + this.buttonEx_OpenTemplates.Visible = false; + // // buttonEx_ProvisioningLoadCSV // this.buttonEx_ProvisioningLoadCSV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.buttonEx_ProvisioningLoadCSV.ColorTable = office2010White1; - this.buttonEx_ProvisioningLoadCSV.Location = new System.Drawing.Point(4, 5); - this.buttonEx_ProvisioningLoadCSV.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.buttonEx_ProvisioningLoadCSV.Location = new System.Drawing.Point(3, 3); this.buttonEx_ProvisioningLoadCSV.Name = "buttonEx_ProvisioningLoadCSV"; - this.buttonEx_ProvisioningLoadCSV.Size = new System.Drawing.Size(153, 32); + this.buttonEx_ProvisioningLoadCSV.Size = new System.Drawing.Size(101, 21); this.buttonEx_ProvisioningLoadCSV.TabIndex = 4; this.buttonEx_ProvisioningLoadCSV.Text = "Load Input File"; this.buttonEx_ProvisioningLoadCSV.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -337,10 +338,9 @@ private void InitializeComponent() // this.buttonEx_ProvisioningLoadUpdateCSV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.buttonEx_ProvisioningLoadUpdateCSV.ColorTable = office2010White1; - this.buttonEx_ProvisioningLoadUpdateCSV.Location = new System.Drawing.Point(165, 5); - this.buttonEx_ProvisioningLoadUpdateCSV.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.buttonEx_ProvisioningLoadUpdateCSV.Location = new System.Drawing.Point(110, 3); this.buttonEx_ProvisioningLoadUpdateCSV.Name = "buttonEx_ProvisioningLoadUpdateCSV"; - this.buttonEx_ProvisioningLoadUpdateCSV.Size = new System.Drawing.Size(153, 32); + this.buttonEx_ProvisioningLoadUpdateCSV.Size = new System.Drawing.Size(101, 21); this.buttonEx_ProvisioningLoadUpdateCSV.TabIndex = 9; this.buttonEx_ProvisioningLoadUpdateCSV.Text = "Load Update CSV"; this.buttonEx_ProvisioningLoadUpdateCSV.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -356,6 +356,7 @@ private void InitializeComponent() this.objectListView_ProvisioningMembers.AllColumns.Add(this.olvColumnProvisioning_Usage); this.objectListView_ProvisioningMembers.AllColumns.Add(this.olvColumnProvisioning_NewEmail); this.objectListView_ProvisioningMembers.AllColumns.Add(this.olvColumnProvisioning_NewExternalId); + this.objectListView_ProvisioningMembers.AllColumns.Add(this.olvColumnProvisioning_Status); this.objectListView_ProvisioningMembers.CellEditUseWholeCell = false; this.objectListView_ProvisioningMembers.CheckBoxes = true; this.objectListView_ProvisioningMembers.CheckedAspectName = "IsChecked"; @@ -365,7 +366,8 @@ private void InitializeComponent() this.olvColumnProvisioning_LastName, this.olvColumnProvisioning_Usage, this.olvColumnProvisioning_NewEmail, - this.olvColumnProvisioning_NewExternalId}); + this.olvColumnProvisioning_NewExternalId, + this.olvColumnProvisioning_Status}); this.objectListView_ProvisioningMembers.Cursor = System.Windows.Forms.Cursors.Default; this.objectListView_ProvisioningMembers.Dock = System.Windows.Forms.DockStyle.Fill; this.objectListView_ProvisioningMembers.EmptyListMsg = ""; @@ -373,11 +375,10 @@ private void InitializeComponent() this.objectListView_ProvisioningMembers.HasCollapsibleGroups = false; this.objectListView_ProvisioningMembers.HighlightBackgroundColor = System.Drawing.Color.Empty; this.objectListView_ProvisioningMembers.HighlightForegroundColor = System.Drawing.Color.Empty; - this.objectListView_ProvisioningMembers.Location = new System.Drawing.Point(4, 263); - this.objectListView_ProvisioningMembers.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.objectListView_ProvisioningMembers.Location = new System.Drawing.Point(3, 171); this.objectListView_ProvisioningMembers.Name = "objectListView_ProvisioningMembers"; this.objectListView_ProvisioningMembers.ShowGroups = false; - this.objectListView_ProvisioningMembers.Size = new System.Drawing.Size(1062, 388); + this.objectListView_ProvisioningMembers.Size = new System.Drawing.Size(707, 252); this.objectListView_ProvisioningMembers.TabIndex = 1; this.objectListView_ProvisioningMembers.UseCompatibleStateImageBehavior = false; this.objectListView_ProvisioningMembers.UseNotifyPropertyChanged = true; @@ -431,6 +432,13 @@ private void InitializeComponent() this.olvColumnProvisioning_NewExternalId.Text = "New External Id"; this.olvColumnProvisioning_NewExternalId.Width = 120; // + // olvColumnProvisioning_Status + // + this.olvColumnProvisioning_Status.AspectName = "ProvisionStatus"; + this.olvColumnProvisioning_Status.MinimumWidth = 100; + this.olvColumnProvisioning_Status.Text = "ProvisionStatus"; + this.olvColumnProvisioning_Status.Width = 100; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 6; @@ -446,19 +454,17 @@ private void InitializeComponent() this.tableLayoutPanel1.Controls.Add(this.textBox_ProvisioningAccessToken, 5, 0); this.tableLayoutPanel1.Controls.Add(this.radioBulkDelete, 4, 0); this.tableLayoutPanel1.Controls.Add(this.radioBulkSuspend, 1, 0); - this.tableLayoutPanel1.Location = new System.Drawing.Point(4, 5); - this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 1; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(1060, 35); + this.tableLayoutPanel1.Size = new System.Drawing.Size(707, 23); this.tableLayoutPanel1.TabIndex = 4; // // radioBulkProvisioning // this.radioBulkProvisioning.AutoSize = true; - this.radioBulkProvisioning.Location = new System.Drawing.Point(4, 5); - this.radioBulkProvisioning.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.radioBulkProvisioning.Location = new System.Drawing.Point(3, 3); this.radioBulkProvisioning.Name = "radioBulkProvisioning"; this.radioBulkProvisioning.Size = new System.Drawing.Size(115, 17); this.radioBulkProvisioning.TabIndex = 0; @@ -470,8 +476,7 @@ private void InitializeComponent() // radioBulkOffboard // this.radioBulkOffboard.AutoSize = true; - this.radioBulkOffboard.Location = new System.Drawing.Point(255, 5); - this.radioBulkOffboard.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.radioBulkOffboard.Location = new System.Drawing.Point(250, 3); this.radioBulkOffboard.Name = "radioBulkOffboard"; this.radioBulkOffboard.Size = new System.Drawing.Size(113, 17); this.radioBulkOffboard.TabIndex = 2; @@ -483,8 +488,7 @@ private void InitializeComponent() // radioViewStatistics // this.radioViewStatistics.AutoSize = true; - this.radioViewStatistics.Location = new System.Drawing.Point(376, 5); - this.radioViewStatistics.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.radioViewStatistics.Location = new System.Drawing.Point(369, 3); this.radioViewStatistics.Name = "radioViewStatistics"; this.radioViewStatistics.Size = new System.Drawing.Size(174, 17); this.radioViewStatistics.TabIndex = 3; @@ -496,10 +500,9 @@ private void InitializeComponent() // textBox_ProvisioningAccessToken // this.textBox_ProvisioningAccessToken.FileFilter = null; - this.textBox_ProvisioningAccessToken.Location = new System.Drawing.Point(655, 5); - this.textBox_ProvisioningAccessToken.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.textBox_ProvisioningAccessToken.Location = new System.Drawing.Point(644, 3); this.textBox_ProvisioningAccessToken.Name = "textBox_ProvisioningAccessToken"; - this.textBox_ProvisioningAccessToken.Size = new System.Drawing.Size(13, 22); + this.textBox_ProvisioningAccessToken.Size = new System.Drawing.Size(10, 22); this.textBox_ProvisioningAccessToken.TabIndex = 1; this.textBox_ProvisioningAccessToken.Visible = false; // @@ -507,8 +510,7 @@ private void InitializeComponent() // this.radioBulkDelete.AutoSize = true; this.radioBulkDelete.ForeColor = System.Drawing.Color.Black; - this.radioBulkDelete.Location = new System.Drawing.Point(558, 5); - this.radioBulkDelete.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.radioBulkDelete.Location = new System.Drawing.Point(549, 3); this.radioBulkDelete.Name = "radioBulkDelete"; this.radioBulkDelete.Size = new System.Drawing.Size(89, 17); this.radioBulkDelete.TabIndex = 4; @@ -520,8 +522,7 @@ private void InitializeComponent() // radioBulkSuspend // this.radioBulkSuspend.AutoSize = true; - this.radioBulkSuspend.Location = new System.Drawing.Point(127, 5); - this.radioBulkSuspend.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.radioBulkSuspend.Location = new System.Drawing.Point(124, 3); this.radioBulkSuspend.Name = "radioBulkSuspend"; this.radioBulkSuspend.Size = new System.Drawing.Size(120, 17); this.radioBulkSuspend.TabIndex = 1; @@ -550,20 +551,21 @@ private void InitializeComponent() this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Controls.Add(this.buttonEx_ProvisioningGetUsage, 8, 0); this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Controls.Add(this.buttonEx_ProvisioningUnsuspend, 4, 0); this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Controls.Add(this.buttonEx_ProvisioningUpdateProfile, 6, 0); - this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Location = new System.Drawing.Point(4, 659); - this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Location = new System.Drawing.Point(3, 428); + this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Name = "tableLayoutPanel_ProvisioningProvisionCommandGroup"; this.tableLayoutPanel_ProvisioningProvisionCommandGroup.RowCount = 1; this.tableLayoutPanel_ProvisioningProvisionCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Size = new System.Drawing.Size(1060, 60); + this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Size = new System.Drawing.Size(707, 39); this.tableLayoutPanel_ProvisioningProvisionCommandGroup.TabIndex = 3; // // buttonEx_ProvisioningDeprovision // this.buttonEx_ProvisioningDeprovision.ColorTable = office2010White1; - this.buttonEx_ProvisioningDeprovision.Location = new System.Drawing.Point(122, 3); + this.buttonEx_ProvisioningDeprovision.Location = new System.Drawing.Point(82, 2); + this.buttonEx_ProvisioningDeprovision.Margin = new System.Windows.Forms.Padding(2); this.buttonEx_ProvisioningDeprovision.Name = "buttonEx_ProvisioningDeprovision"; - this.buttonEx_ProvisioningDeprovision.Size = new System.Drawing.Size(111, 49); + this.buttonEx_ProvisioningDeprovision.Size = new System.Drawing.Size(74, 32); this.buttonEx_ProvisioningDeprovision.TabIndex = 2; this.buttonEx_ProvisioningDeprovision.Text = "Deprovision"; this.buttonEx_ProvisioningDeprovision.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -572,10 +574,9 @@ private void InitializeComponent() // buttonEx_ProvisioningProvision // this.buttonEx_ProvisioningProvision.ColorTable = office2010White1; - this.buttonEx_ProvisioningProvision.Location = new System.Drawing.Point(4, 5); - this.buttonEx_ProvisioningProvision.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.buttonEx_ProvisioningProvision.Location = new System.Drawing.Point(3, 3); this.buttonEx_ProvisioningProvision.Name = "buttonEx_ProvisioningProvision"; - this.buttonEx_ProvisioningProvision.Size = new System.Drawing.Size(111, 46); + this.buttonEx_ProvisioningProvision.Size = new System.Drawing.Size(74, 30); this.buttonEx_ProvisioningProvision.TabIndex = 1; this.buttonEx_ProvisioningProvision.Text = "Provision"; this.buttonEx_ProvisioningProvision.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -584,10 +585,9 @@ private void InitializeComponent() // buttonEx_ProvisioningSuspend // this.buttonEx_ProvisioningSuspend.ColorTable = office2010White1; - this.buttonEx_ProvisioningSuspend.Location = new System.Drawing.Point(358, 5); - this.buttonEx_ProvisioningSuspend.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.buttonEx_ProvisioningSuspend.Location = new System.Drawing.Point(240, 3); this.buttonEx_ProvisioningSuspend.Name = "buttonEx_ProvisioningSuspend"; - this.buttonEx_ProvisioningSuspend.Size = new System.Drawing.Size(105, 46); + this.buttonEx_ProvisioningSuspend.Size = new System.Drawing.Size(70, 30); this.buttonEx_ProvisioningSuspend.TabIndex = 3; this.buttonEx_ProvisioningSuspend.Text = "Suspend"; this.buttonEx_ProvisioningSuspend.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -597,10 +597,9 @@ private void InitializeComponent() // this.buttonEx_ProvisioningCreateCSV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.buttonEx_ProvisioningCreateCSV.ColorTable = office2010White1; - this.buttonEx_ProvisioningCreateCSV.Location = new System.Drawing.Point(810, 7); - this.buttonEx_ProvisioningCreateCSV.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.buttonEx_ProvisioningCreateCSV.Location = new System.Drawing.Point(543, 4); this.buttonEx_ProvisioningCreateCSV.Name = "buttonEx_ProvisioningCreateCSV"; - this.buttonEx_ProvisioningCreateCSV.Size = new System.Drawing.Size(246, 46); + this.buttonEx_ProvisioningCreateCSV.Size = new System.Drawing.Size(164, 30); this.buttonEx_ProvisioningCreateCSV.TabIndex = 6; this.buttonEx_ProvisioningCreateCSV.Text = "Export Member Information"; this.buttonEx_ProvisioningCreateCSV.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -610,10 +609,9 @@ private void InitializeComponent() // this.buttonEx_ProvisioningGetUsage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.buttonEx_ProvisioningGetUsage.ColorTable = office2010White1; - this.buttonEx_ProvisioningGetUsage.Location = new System.Drawing.Point(644, 7); - this.buttonEx_ProvisioningGetUsage.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.buttonEx_ProvisioningGetUsage.Location = new System.Drawing.Point(432, 4); this.buttonEx_ProvisioningGetUsage.Name = "buttonEx_ProvisioningGetUsage"; - this.buttonEx_ProvisioningGetUsage.Size = new System.Drawing.Size(158, 46); + this.buttonEx_ProvisioningGetUsage.Size = new System.Drawing.Size(105, 30); this.buttonEx_ProvisioningGetUsage.TabIndex = 7; this.buttonEx_ProvisioningGetUsage.Text = "View Usage"; this.buttonEx_ProvisioningGetUsage.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -622,10 +620,9 @@ private void InitializeComponent() // buttonEx_ProvisioningUnsuspend // this.buttonEx_ProvisioningUnsuspend.ColorTable = office2010White1; - this.buttonEx_ProvisioningUnsuspend.Location = new System.Drawing.Point(240, 5); - this.buttonEx_ProvisioningUnsuspend.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.buttonEx_ProvisioningUnsuspend.Location = new System.Drawing.Point(161, 3); this.buttonEx_ProvisioningUnsuspend.Name = "buttonEx_ProvisioningUnsuspend"; - this.buttonEx_ProvisioningUnsuspend.Size = new System.Drawing.Size(110, 46); + this.buttonEx_ProvisioningUnsuspend.Size = new System.Drawing.Size(73, 30); this.buttonEx_ProvisioningUnsuspend.TabIndex = 4; this.buttonEx_ProvisioningUnsuspend.Text = "Unsuspend"; this.buttonEx_ProvisioningUnsuspend.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -635,37 +632,21 @@ private void InitializeComponent() // this.buttonEx_ProvisioningUpdateProfile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.buttonEx_ProvisioningUpdateProfile.ColorTable = office2010White1; - this.buttonEx_ProvisioningUpdateProfile.Location = new System.Drawing.Point(471, 7); - this.buttonEx_ProvisioningUpdateProfile.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.buttonEx_ProvisioningUpdateProfile.Location = new System.Drawing.Point(316, 4); this.buttonEx_ProvisioningUpdateProfile.Name = "buttonEx_ProvisioningUpdateProfile"; - this.buttonEx_ProvisioningUpdateProfile.Size = new System.Drawing.Size(165, 46); + this.buttonEx_ProvisioningUpdateProfile.Size = new System.Drawing.Size(110, 30); this.buttonEx_ProvisioningUpdateProfile.TabIndex = 8; this.buttonEx_ProvisioningUpdateProfile.Text = "Update Members"; this.buttonEx_ProvisioningUpdateProfile.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; this.buttonEx_ProvisioningUpdateProfile.UseVisualStyleBackColor = true; // - // buttonEx_OpenTemplates - // - this.buttonEx_OpenTemplates.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.buttonEx_OpenTemplates.ColorTable = office2010White1; - this.buttonEx_OpenTemplates.Location = new System.Drawing.Point(326, 5); - this.buttonEx_OpenTemplates.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.buttonEx_OpenTemplates.Name = "buttonEx_OpenTemplates"; - this.buttonEx_OpenTemplates.Size = new System.Drawing.Size(154, 32); - this.buttonEx_OpenTemplates.TabIndex = 10; - this.buttonEx_OpenTemplates.Text = "Open Templates"; - this.buttonEx_OpenTemplates.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; - this.buttonEx_OpenTemplates.UseVisualStyleBackColor = true; - this.buttonEx_OpenTemplates.Visible = false; - // // ProvisioningView // - this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1070, 723); + this.ClientSize = new System.Drawing.Size(713, 470); this.Controls.Add(this.tableLayoutPanel_Provisioning); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; - this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); this.Name = "ProvisioningView"; this.Text = "ProvisioningView"; this.tableLayoutPanel_Provisioning.ResumeLayout(false); @@ -726,5 +707,6 @@ private void InitializeComponent() private System.Windows.Forms.RadioButton radioBulkDelete; private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; private ButtonEx buttonEx_OpenTemplates; + private BrightIdeasSoftware.OLVColumn olvColumnProvisioning_Status; } } \ No newline at end of file diff --git a/Source/DfBAdminToolkit/View/ProvisioningView.cs b/Source/DfBAdminToolkit/View/ProvisioningView.cs index 019561c..ccbebf5 100644 --- a/Source/DfBAdminToolkit/View/ProvisioningView.cs +++ b/Source/DfBAdminToolkit/View/ProvisioningView.cs @@ -73,6 +73,7 @@ public ProvisioningView() this.olvColumnProvisioning_Usage.IsVisible = false; olvColumnProvisioning_NewEmail.IsVisible = false; olvColumnProvisioning_NewExternalId.IsVisible = false; + olvColumnProvisioning_Status.IsVisible = false; this.objectListView_ProvisioningMembers.RebuildColumns(); } @@ -261,6 +262,13 @@ public void RenderMemberList(List members) } } + public void RenderProvisioningStatus(List members) + { + Members = members; + this.objectListView_ProvisioningMembers.SetObjects(Members); + objectListView_ProvisioningMembers.BuildList(); + } + public void RenderUpdateMemberList(List members) { Members = members; @@ -364,7 +372,7 @@ private void Button_ProvisioningDoDeprovision_Click(object sender, EventArgs e) if (this.checkBoxProvisioningKeepAccount.Checked == false) { d = MessageBoxUtil.ShowConfirm(this, ErrorMessages.CONFIRM_DELETE); - + if (d == DialogResult.Yes) { InvokeDataChanged(sender, e); @@ -455,6 +463,7 @@ private void Button_ProvisioningLoadInputFile_Click(object sender, EventArgs e) olvColumnProvisioning_LastName.IsVisible = true; olvColumnProvisioning_NewEmail.IsVisible = false; olvColumnProvisioning_NewExternalId.IsVisible = false; + olvColumnProvisioning_Status.IsVisible = true; this.objectListView_ProvisioningMembers.RebuildColumns(); if (CommandLoadInputFile != null) @@ -471,6 +480,7 @@ private void Button_ProvisioningLoadUpdateInputFile_Click(object sender, EventAr olvColumnProvisioning_LastName.IsVisible = false; olvColumnProvisioning_NewEmail.IsVisible = true; olvColumnProvisioning_NewExternalId.IsVisible = true; + olvColumnProvisioning_Status.IsVisible = true; this.objectListView_ProvisioningMembers.RebuildColumns(); if (CommandLoadUpdateInputFile != null) { @@ -499,6 +509,7 @@ private void ButtonEx_GetUsage_Click(object sender, EventArgs e) olvColumnProvisioning_LastName.IsVisible = true; olvColumnProvisioning_NewEmail.IsVisible = false; olvColumnProvisioning_NewExternalId.IsVisible = false; + olvColumnProvisioning_Status.IsVisible = false; this.objectListView_ProvisioningMembers.RebuildColumns(); if (CommandGetUsage != null) { diff --git a/Source/DfBAdminToolkit/View/TeamFoldersView.cs b/Source/DfBAdminToolkit/View/TeamFoldersView.cs index b506820..7a544d2 100644 --- a/Source/DfBAdminToolkit/View/TeamFoldersView.cs +++ b/Source/DfBAdminToolkit/View/TeamFoldersView.cs @@ -16,6 +16,7 @@ public partial class TeamFoldersView : Form, ITeamFoldersView public event EventHandler CommandGetTeamFolders; public event EventHandler CommandCreateTeamFolder; public event EventHandler CommandSetFolderStatus; + public event EventHandler CommandSetFolderSyncSetting; public SynchronizationContext SyncContext { get; set; } @@ -38,7 +39,7 @@ public partial class TeamFoldersView : Form, ITeamFoldersView public enum OlvMembersIndex : int { TeamFolderName, - DefaultSyncSetting, + //DefaultSyncSetting, TeamFolderId, Status } @@ -65,6 +66,7 @@ public void WireComponentEvents() this.buttonEx_TeamFoldersLoadTeamFolders.Click += buttonEx_TeamFoldersLoadTeamFolders_Click; this.buttonEx_TeamFoldersCreateTeamFolder.Click += buttonEx_TeamFoldersCreateTeamFolder_Click; this.buttonEx_TeamFoldersSetFolderStatus.Click += buttonEx_TeamFoldersSetFolderStatus_Click; + this.buttonEx_TeamFoldersSetFolderSyncSetting.Click += buttonEx_TeamFoldersSetFolderSyncSetting_Click; this.radioButtonSync.CheckedChanged += radioButtonSync_CheckedChanged; this.radioButton_Active.CheckedChanged += radioButtonActive_CheckedChanged; this.textBoxTeamFolder.TextChanged += TextBox_textBoxTeamFolder_TextChanged; @@ -82,6 +84,7 @@ public void UnWireComponentEvents() this.buttonEx_TeamFoldersLoadTeamFolders.Click -= buttonEx_TeamFoldersLoadTeamFolders_Click; this.buttonEx_TeamFoldersCreateTeamFolder.Click -= buttonEx_TeamFoldersCreateTeamFolder_Click; this.buttonEx_TeamFoldersSetFolderStatus.Click -= buttonEx_TeamFoldersSetFolderStatus_Click; + this.buttonEx_TeamFoldersSetFolderSyncSetting.Click -= buttonEx_TeamFoldersSetFolderSyncSetting_Click; this.radioButtonSync.CheckedChanged -= radioButtonSync_CheckedChanged; this.radioButton_Active.CheckedChanged -= radioButtonActive_CheckedChanged; this.textBoxTeamFolder.TextChanged -= TextBox_textBoxTeamFolder_TextChanged; @@ -126,11 +129,11 @@ private void InitializeOLVMembers() { return (model != null) ? model.TeamFolderName : string.Empty; }; - olv.GetColumn((int)OlvMembersIndex.DefaultSyncSetting).AspectGetter - = delegate (TeamFoldersListViewItemModel model) - { - return (model != null) ? model.DefaultSyncSetting : string.Empty; - }; + //olv.GetColumn((int)OlvMembersIndex.DefaultSyncSetting).AspectGetter + // = delegate (TeamFoldersListViewItemModel model) + // { + // return (model != null) ? model.DefaultSyncSetting : string.Empty; + // }; olv.GetColumn((int)OlvMembersIndex.TeamFolderId).AspectGetter = delegate (TeamFoldersListViewItemModel model) { @@ -213,6 +216,15 @@ private void buttonEx_TeamFoldersSetFolderStatus_Click(object sender, EventArgs } } + private void buttonEx_TeamFoldersSetFolderSyncSetting_Click(object sender, EventArgs e) + { + InvokeDataChanged(sender, e); + if (CommandSetFolderStatus != null) + { + CommandSetFolderSyncSetting(sender, e); + } + } + private void TextBox_TeamFoldersAccessToken_TextChanged(object sender, EventArgs e) { AccessToken = this.textBox_TeamFoldersAccessToken.Text; diff --git a/Source/DfBAdminToolkit/View/TeamFoldersView.designer.cs b/Source/DfBAdminToolkit/View/TeamFoldersView.designer.cs index ee0c2dd..9e5a2a1 100644 --- a/Source/DfBAdminToolkit/View/TeamFoldersView.designer.cs +++ b/Source/DfBAdminToolkit/View/TeamFoldersView.designer.cs @@ -31,8 +31,8 @@ protected override void Dispose(bool disposing) private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - DfBAdminToolkit.Common.Component.Office2010White office2010White1 = new DfBAdminToolkit.Common.Component.Office2010White(); - DfBAdminToolkit.Common.Component.Office2010Blue office2010Blue1 = new DfBAdminToolkit.Common.Component.Office2010Blue(); + DfBAdminToolkit.Common.Component.Office2010White office2010White2 = new DfBAdminToolkit.Common.Component.Office2010White(); + DfBAdminToolkit.Common.Component.Office2010Blue office2010Blue2 = new DfBAdminToolkit.Common.Component.Office2010Blue(); this.tableLayoutPanel_TeamFolders = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel_TeamFoldersCommandGroup = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel_TeamFoldersAccessToken = new System.Windows.Forms.TableLayoutPanel(); @@ -48,13 +48,13 @@ private void InitializeComponent() this.tableLayoutPanel_TeamFoldersMembersGroup = new System.Windows.Forms.TableLayoutPanel(); this.objectListView_TeamFoldersMembers = new BrightIdeasSoftware.ObjectListView(); this.olvColumnTeamFolders_TeamFolderName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); - this.olvColumnTeamFolders_DefaultSyncSetting = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.olvColumnTeamFolders_TeamFolderId = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.olvColumnTeamFolders_Status = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.tableLayoutPanel_TeamFoldersProvisionCommandGroup = new System.Windows.Forms.TableLayoutPanel(); this.buttonEx_TeamFoldersSetFolderStatus = new DfBAdminToolkit.Common.Component.ButtonEx(); this.radioButton_Active = new System.Windows.Forms.RadioButton(); this.radioButton_Archived = new System.Windows.Forms.RadioButton(); + this.buttonEx_TeamFoldersSetFolderSyncSetting = new DfBAdminToolkit.Common.Component.ButtonEx(); this.tableLayoutPanel_TeamFolders.SuspendLayout(); this.tableLayoutPanel_TeamFoldersCommandGroup.SuspendLayout(); this.tableLayoutPanel_TeamFoldersAccessToken.SuspendLayout(); @@ -94,8 +94,6 @@ private void InitializeComponent() this.tableLayoutPanel_TeamFoldersCommandGroup.Controls.Add(this.tableLayoutPanel_TeamFoldersAccessToken, 3, 0); this.tableLayoutPanel_TeamFoldersCommandGroup.Controls.Add(this.tableLayoutPanel_TeamFoldersMemberRoleSelectionGroup, 0, 1); this.tableLayoutPanel_TeamFoldersCommandGroup.Controls.Add(this.tableLayoutPanel_TeamFoldersSendEmailGroup, 3, 1); - this.tableLayoutPanel_TeamFoldersCommandGroup.Controls.Add(this.radioButtonSync, 1, 1); - this.tableLayoutPanel_TeamFoldersCommandGroup.Controls.Add(this.radioButtonNoSync, 2, 1); this.tableLayoutPanel_TeamFoldersCommandGroup.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel_TeamFoldersCommandGroup.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel_TeamFoldersCommandGroup.Name = "tableLayoutPanel_TeamFoldersCommandGroup"; @@ -161,24 +159,24 @@ private void InitializeComponent() // // buttonEx_TeamFoldersCreateTeamFolder // - office2010White1.BorderColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); - office2010White1.BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); - office2010White1.ButtonMouseOverColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); - office2010White1.ButtonMouseOverColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); - office2010White1.ButtonMouseOverColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(225)))), ((int)(((byte)(137))))); - office2010White1.ButtonMouseOverColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(249)))), ((int)(((byte)(224))))); - office2010White1.ButtonNormalColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(154)))), ((int)(((byte)(154)))), ((int)(((byte)(154))))); - office2010White1.ButtonNormalColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); - office2010White1.ButtonNormalColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); - office2010White1.ButtonNormalColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); - office2010White1.ButtonSelectedColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); - office2010White1.ButtonSelectedColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); - office2010White1.ButtonSelectedColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(229)))), ((int)(((byte)(117))))); - office2010White1.ButtonSelectedColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(216)))), ((int)(((byte)(107))))); - office2010White1.HoverTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); - office2010White1.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); - office2010White1.TextColor = System.Drawing.Color.Black; - this.buttonEx_TeamFoldersCreateTeamFolder.ColorTable = office2010White1; + office2010White2.BorderColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010White2.BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010White2.ButtonMouseOverColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010White2.ButtonMouseOverColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010White2.ButtonMouseOverColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(225)))), ((int)(((byte)(137))))); + office2010White2.ButtonMouseOverColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(249)))), ((int)(((byte)(224))))); + office2010White2.ButtonNormalColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(154)))), ((int)(((byte)(154)))), ((int)(((byte)(154))))); + office2010White2.ButtonNormalColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + office2010White2.ButtonNormalColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); + office2010White2.ButtonNormalColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + office2010White2.ButtonSelectedColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010White2.ButtonSelectedColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010White2.ButtonSelectedColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(229)))), ((int)(((byte)(117))))); + office2010White2.ButtonSelectedColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(216)))), ((int)(((byte)(107))))); + office2010White2.HoverTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010White2.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010White2.TextColor = System.Drawing.Color.Black; + this.buttonEx_TeamFoldersCreateTeamFolder.ColorTable = office2010White2; this.buttonEx_TeamFoldersCreateTeamFolder.Dock = System.Windows.Forms.DockStyle.Bottom; this.buttonEx_TeamFoldersCreateTeamFolder.Location = new System.Drawing.Point(163, 5); this.buttonEx_TeamFoldersCreateTeamFolder.Name = "buttonEx_TeamFoldersCreateTeamFolder"; @@ -213,7 +211,7 @@ private void InitializeComponent() // // buttonEx_TeamFoldersLoadTeamFolders // - this.buttonEx_TeamFoldersLoadTeamFolders.ColorTable = office2010White1; + this.buttonEx_TeamFoldersLoadTeamFolders.ColorTable = office2010White2; this.buttonEx_TeamFoldersLoadTeamFolders.Dock = System.Windows.Forms.DockStyle.Bottom; this.buttonEx_TeamFoldersLoadTeamFolders.Location = new System.Drawing.Point(146, 4); this.buttonEx_TeamFoldersLoadTeamFolders.Name = "buttonEx_TeamFoldersLoadTeamFolders"; @@ -227,10 +225,10 @@ private void InitializeComponent() // this.radioButtonSync.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radioButtonSync.AutoSize = true; - this.radioButtonSync.Location = new System.Drawing.Point(288, 37); + this.radioButtonSync.Location = new System.Drawing.Point(383, 9); this.radioButtonSync.Margin = new System.Windows.Forms.Padding(2); this.radioButtonSync.Name = "radioButtonSync"; - this.radioButtonSync.Size = new System.Drawing.Size(54, 17); + this.radioButtonSync.Size = new System.Drawing.Size(60, 17); this.radioButtonSync.TabIndex = 4; this.radioButtonSync.TabStop = true; this.radioButtonSync.Text = "Sync"; @@ -240,10 +238,10 @@ private void InitializeComponent() // this.radioButtonNoSync.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radioButtonNoSync.AutoSize = true; - this.radioButtonNoSync.Location = new System.Drawing.Point(346, 37); + this.radioButtonNoSync.Location = new System.Drawing.Point(447, 9); this.radioButtonNoSync.Margin = new System.Windows.Forms.Padding(2); this.radioButtonNoSync.Name = "radioButtonNoSync"; - this.radioButtonNoSync.Size = new System.Drawing.Size(73, 17); + this.radioButtonNoSync.Size = new System.Drawing.Size(258, 17); this.radioButtonNoSync.TabIndex = 5; this.radioButtonNoSync.TabStop = true; this.radioButtonNoSync.Text = "No Sync"; @@ -265,7 +263,6 @@ private void InitializeComponent() // objectListView_TeamFoldersMembers // this.objectListView_TeamFoldersMembers.AllColumns.Add(this.olvColumnTeamFolders_TeamFolderName); - this.objectListView_TeamFoldersMembers.AllColumns.Add(this.olvColumnTeamFolders_DefaultSyncSetting); this.objectListView_TeamFoldersMembers.AllColumns.Add(this.olvColumnTeamFolders_TeamFolderId); this.objectListView_TeamFoldersMembers.AllColumns.Add(this.olvColumnTeamFolders_Status); this.objectListView_TeamFoldersMembers.CellEditUseWholeCell = false; @@ -273,7 +270,6 @@ private void InitializeComponent() this.objectListView_TeamFoldersMembers.CheckedAspectName = "IsChecked"; this.objectListView_TeamFoldersMembers.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.olvColumnTeamFolders_TeamFolderName, - this.olvColumnTeamFolders_DefaultSyncSetting, this.olvColumnTeamFolders_TeamFolderId, this.olvColumnTeamFolders_Status}); this.objectListView_TeamFoldersMembers.Cursor = System.Windows.Forms.Cursors.Default; @@ -302,17 +298,10 @@ private void InitializeComponent() this.olvColumnTeamFolders_TeamFolderName.Text = "TeamFolderName"; this.olvColumnTeamFolders_TeamFolderName.Width = 250; // - // olvColumnTeamFolders_DefaultSyncSetting - // - this.olvColumnTeamFolders_DefaultSyncSetting.AspectName = "DefaultSyncSetting"; - this.olvColumnTeamFolders_DefaultSyncSetting.DisplayIndex = 2; - this.olvColumnTeamFolders_DefaultSyncSetting.Text = "DefaultSyncSetting"; - this.olvColumnTeamFolders_DefaultSyncSetting.Width = 150; - // // olvColumnTeamFolders_TeamFolderId // this.olvColumnTeamFolders_TeamFolderId.AspectName = "TeamFolderId"; - this.olvColumnTeamFolders_TeamFolderId.DisplayIndex = 3; + this.olvColumnTeamFolders_TeamFolderId.DisplayIndex = 2; this.olvColumnTeamFolders_TeamFolderId.MinimumWidth = 300; this.olvColumnTeamFolders_TeamFolderId.Text = "TeamFolderId"; this.olvColumnTeamFolders_TeamFolderId.Width = 300; @@ -327,14 +316,19 @@ private void InitializeComponent() // // tableLayoutPanel_TeamFoldersProvisionCommandGroup // - this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnCount = 5; + this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnCount = 7; this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 96F)); this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 64F)); this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 76F)); - this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 157F)); - this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 315F)); + this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 25F)); + this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F)); + this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 64F)); + this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 76F)); + this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.Controls.Add(this.buttonEx_TeamFoldersSetFolderSyncSetting, 4, 0); this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.Controls.Add(this.buttonEx_TeamFoldersSetFolderStatus, 0, 0); this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.Controls.Add(this.radioButton_Active, 1, 0); + this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.Controls.Add(this.radioButtonNoSync, 6, 0); + this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.Controls.Add(this.radioButtonSync, 5, 0); this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.Controls.Add(this.radioButton_Archived, 2, 0); this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel_TeamFoldersProvisionCommandGroup.Location = new System.Drawing.Point(3, 397); @@ -347,24 +341,7 @@ private void InitializeComponent() // // buttonEx_TeamFoldersSetFolderStatus // - office2010Blue1.BorderColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); - office2010Blue1.BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); - office2010Blue1.ButtonMouseOverColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); - office2010Blue1.ButtonMouseOverColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); - office2010Blue1.ButtonMouseOverColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(225)))), ((int)(((byte)(137))))); - office2010Blue1.ButtonMouseOverColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(249)))), ((int)(((byte)(224))))); - office2010Blue1.ButtonNormalColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); - office2010Blue1.ButtonNormalColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); - office2010Blue1.ButtonNormalColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(97)))), ((int)(((byte)(181))))); - office2010Blue1.ButtonNormalColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(125)))), ((int)(((byte)(219))))); - office2010Blue1.ButtonSelectedColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); - office2010Blue1.ButtonSelectedColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); - office2010Blue1.ButtonSelectedColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(229)))), ((int)(((byte)(117))))); - office2010Blue1.ButtonSelectedColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(216)))), ((int)(((byte)(107))))); - office2010Blue1.HoverTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); - office2010Blue1.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); - office2010Blue1.TextColor = System.Drawing.Color.White; - this.buttonEx_TeamFoldersSetFolderStatus.ColorTable = office2010Blue1; + this.buttonEx_TeamFoldersSetFolderStatus.ColorTable = office2010Blue2; this.buttonEx_TeamFoldersSetFolderStatus.Dock = System.Windows.Forms.DockStyle.Fill; this.buttonEx_TeamFoldersSetFolderStatus.Location = new System.Drawing.Point(3, 3); this.buttonEx_TeamFoldersSetFolderStatus.Name = "buttonEx_TeamFoldersSetFolderStatus"; @@ -398,6 +375,35 @@ private void InitializeComponent() this.radioButton_Archived.Text = "Archived"; this.radioButton_Archived.UseVisualStyleBackColor = true; // + // buttonEx_TeamFoldersSetFolderSyncSetting + // + office2010Blue2.BorderColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010Blue2.BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010Blue2.ButtonMouseOverColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010Blue2.ButtonMouseOverColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010Blue2.ButtonMouseOverColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(225)))), ((int)(((byte)(137))))); + office2010Blue2.ButtonMouseOverColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(249)))), ((int)(((byte)(224))))); + office2010Blue2.ButtonNormalColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010Blue2.ButtonNormalColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010Blue2.ButtonNormalColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(97)))), ((int)(((byte)(181))))); + office2010Blue2.ButtonNormalColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(125)))), ((int)(((byte)(219))))); + office2010Blue2.ButtonSelectedColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010Blue2.ButtonSelectedColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010Blue2.ButtonSelectedColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(229)))), ((int)(((byte)(117))))); + office2010Blue2.ButtonSelectedColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(216)))), ((int)(((byte)(107))))); + office2010Blue2.HoverTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010Blue2.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010Blue2.TextColor = System.Drawing.Color.White; + this.buttonEx_TeamFoldersSetFolderSyncSetting.ColorTable = office2010Blue2; + this.buttonEx_TeamFoldersSetFolderSyncSetting.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonEx_TeamFoldersSetFolderSyncSetting.Location = new System.Drawing.Point(264, 3); + this.buttonEx_TeamFoldersSetFolderSyncSetting.Name = "buttonEx_TeamFoldersSetFolderSyncSetting"; + this.buttonEx_TeamFoldersSetFolderSyncSetting.Size = new System.Drawing.Size(114, 30); + this.buttonEx_TeamFoldersSetFolderSyncSetting.TabIndex = 11; + this.buttonEx_TeamFoldersSetFolderSyncSetting.Text = "Change Sync Setting"; + this.buttonEx_TeamFoldersSetFolderSyncSetting.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_Blue; + this.buttonEx_TeamFoldersSetFolderSyncSetting.UseVisualStyleBackColor = true; + // // TeamFoldersView // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -409,7 +415,6 @@ private void InitializeComponent() this.Text = "TeamFoldersView"; this.tableLayoutPanel_TeamFolders.ResumeLayout(false); this.tableLayoutPanel_TeamFoldersCommandGroup.ResumeLayout(false); - this.tableLayoutPanel_TeamFoldersCommandGroup.PerformLayout(); this.tableLayoutPanel_TeamFoldersAccessToken.ResumeLayout(false); this.tableLayoutPanel_TeamFoldersAccessToken.PerformLayout(); this.tableLayoutPanel_TeamFoldersMemberRoleSelectionGroup.ResumeLayout(false); @@ -442,10 +447,10 @@ private void InitializeComponent() private ButtonEx buttonEx_TeamFoldersSetFolderStatus; private ButtonEx buttonEx_TeamFoldersCreateTeamFolder; private System.Windows.Forms.TextBox textBoxTeamFolder; - private BrightIdeasSoftware.OLVColumn olvColumnTeamFolders_DefaultSyncSetting; private System.Windows.Forms.RadioButton radioButton_Active; private System.Windows.Forms.RadioButton radioButton_Archived; private System.Windows.Forms.RadioButton radioButtonSync; private System.Windows.Forms.RadioButton radioButtonNoSync; + private ButtonEx buttonEx_TeamFoldersSetFolderSyncSetting; } } \ No newline at end of file diff --git a/Source/ProviderLauncher/AddProvider.cs b/Source/ProviderLauncher/AddProvider.cs index 3749225..9a1253c 100644 --- a/Source/ProviderLauncher/AddProvider.cs +++ b/Source/ProviderLauncher/AddProvider.cs @@ -8,6 +8,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using DfBAdminToolkit.Common.Extensions; namespace ProviderLauncher { @@ -44,10 +45,10 @@ private void buttonSave_Click(object sender, EventArgs e) nodeName.InnerText = textBoxName.Text.Trim(); XmlNode nodeFileAccessToken = doc.CreateElement("FileAccessToken"); - nodeFileAccessToken.InnerText = textBoxFileAccessToken.Text.Trim(); + nodeFileAccessToken.InnerText = textBoxFileAccessToken.Text.Trim().Encrypt(); XmlNode nodeManagementToken = doc.CreateElement("ManagementToken"); - nodeManagementToken.InnerText = textBoxManagementToken.Text.Trim(); + nodeManagementToken.InnerText = textBoxManagementToken.Text.Trim().Encrypt(); //add to parent node node.AppendChild(nodeName); diff --git a/Source/ProviderLauncher/Main.cs b/Source/ProviderLauncher/Main.cs index e45a25d..274751d 100644 --- a/Source/ProviderLauncher/Main.cs +++ b/Source/ProviderLauncher/Main.cs @@ -95,7 +95,7 @@ private void LaunchProvider() // Open App.Config of executable Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); - //updsate the token keys + //update the token keys config.AppSettings.Settings["DefaultAccessToken"].Value = selectedAccessToken; config.AppSettings.Settings["DefaultProvisionToken"].Value = selectedProvisionToken; diff --git a/Source/ProviderLauncher/Properties/AssemblyInfo.cs b/Source/ProviderLauncher/Properties/AssemblyInfo.cs index 7cf6f52..61b9f79 100644 --- a/Source/ProviderLauncher/Properties/AssemblyInfo.cs +++ b/Source/ProviderLauncher/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("4.2.0.0")] -[assembly: AssemblyFileVersion("4.2.0.0")] +[assembly: AssemblyVersion("4.5.0.0")] +[assembly: AssemblyFileVersion("4.5.0.0")] diff --git a/Source/ProviderLauncher/ProviderLauncher.csproj b/Source/ProviderLauncher/ProviderLauncher.csproj index f6e4ed4..f0dbc2e 100644 --- a/Source/ProviderLauncher/ProviderLauncher.csproj +++ b/Source/ProviderLauncher/ProviderLauncher.csproj @@ -42,6 +42,7 @@ + @@ -101,6 +102,12 @@ + + + {1091b7c4-f32c-4219-b04a-a25bd4d0b928} + DfBAdminToolkit.Common + +