public void RefreshData(bool showMessages) { string message = string.Empty; if (showMessages) { using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Loading Users, Groups, Libraries\nfrom website..."; form.TopMost = true; form.Show(); Application.DoEvents(); UpdateUsers(false, ref message); if (string.IsNullOrEmpty(message)) UpdateGroups(false, ref message); if (string.IsNullOrEmpty(message)) UpdateLibraries(false, ref message); form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } else { UpdateUsers(showMessages, ref message); UpdateGroups(showMessages, ref message); UpdateLibraries(showMessages, ref message); } }
public void RefreshData(bool showMessages) { var message = string.Empty; if (showMessages) { using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Loading Activities..."; form.TopMost = true; form.Show(); Application.DoEvents(); foreach (var view in _views.Values) { view.StartDate = dateEditStart.DateTime; view.EndDate = dateEditEnd.DateTime.AddDays(1); view.UpdateData(false, ref message); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } else foreach (var view in _views.Values) view.UpdateData(true, ref message); }
private void simpleButtonProcessDeadLinks_Click(object sender, EventArgs e) { string message = string.Empty; memoEditResult.EditValue = null; using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Processing Dead Links..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.NotifyDeadLinks(out message)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!String.IsNullOrEmpty(message)) memoEditResult.EditValue = message.Replace("\n", "\r\n"); }
public void UpdateData(bool showMessages, ref string updateMessage) { ClearData(); if (!Active) return; var message = string.Empty; if (showMessages) { using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Loading data..."; form.TopMost = true; var thread = new Thread(() => { _userRecords.AddRange(WebSiteManager.Instance.SelectedSite.GetQuizPassUserReport(StartDate, EndDate, out message)); _groupRecords.AddRange(WebSiteManager.Instance.SelectedSite.GetQuizPassGroupReport(StartDate, EndDate, out message)); }); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } else { var thread = new Thread(() => { _userRecords.AddRange(WebSiteManager.Instance.SelectedSite.GetQuizPassUserReport(StartDate, EndDate, out message)); _groupRecords.AddRange(WebSiteManager.Instance.SelectedSite.GetQuizPassGroupReport(StartDate, EndDate, out message)); }); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } } updateMessage = message; _filterControl.UpdateDataSource(_userRecords.OrderBy(g => g.group).Select(x => x.group).Where(x => !string.IsNullOrEmpty(x)).Distinct().ToArray(), _userRecords.Select(r => r.topLevelName).Distinct()); ApplyData(); }
public void RefreshData(bool showMessages) { _loading = true; ClearData(); var loadAction = new ThreadStart(() => { LinkConfigProfilesDataHelper.LoadReferences(WebSiteManager.Instance.SelectedSite); _profileModels.AddRange(WebSiteManager.Instance.SelectedSite.GetLinkConfigProfiles()); }); var message = string.Empty; if (showMessages) { using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Loading data..."; form.TopMost = true; var thread = new Thread(loadAction); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } else { var thread = new Thread(loadAction); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } } ApplyData(); _loading = false; }
public void RefreshData(bool showMessages) { ClearData(); var startDate = dateEditStart.DateTime; var endDate = dateEditEnd.DateTime.AddDays(1); var message = string.Empty; if (showMessages) { using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Loading data..."; form.TopMost = true; var thread = new Thread(() => _records.AddRange(WebSiteManager.Instance.SelectedSite.GetInactiveUsers(startDate, endDate, out message))); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } else { var thread = new Thread(() => _records.AddRange(WebSiteManager.Instance.SelectedSite.GetInactiveUsers(startDate, endDate, out message))); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } } _filterControl.UpdateDataSource(_records.SelectMany(x => x.GroupNameList).OrderBy(g => g).Distinct().ToArray()); ApplyData(); }
private void InitializePresentationLayer() { using (var formProgress = new FormProgress()) { formProgress.TopMost = true; FormMain.Instance.ribbonControl.Enabled = false; FormMain.Instance.pnMain.Controls.Clear(); var thread = new Thread(delegate() { FormMain.Instance.Invoke((MethodInvoker)delegate { formProgress.laProgress.Text = "Loading data..."; Application.DoEvents(); UsersController.InitController(); Application.DoEvents(); ActivitiesController.InitController(); Application.DoEvents(); LinkConfigProfilesController.InitController(); Application.DoEvents(); LibraryFilesController.InitController(); Application.DoEvents(); InactiveUsersController.InitController(); Application.DoEvents(); QBuilderController.InitController(); Application.DoEvents(); UtilitiesController.InitController(); Application.DoEvents(); }); }); formProgress.Show(); Application.DoEvents(); thread.Start(); Application.DoEvents(); while (thread.IsAlive) Application.DoEvents(); formProgress.Close(); FormMain.Instance.ribbonControl.Enabled = true; FormMain.Instance.pnMain.BringToFront(); } }
public void RefreshData(bool showMessages) { ClearData(); var message = string.Empty; if (showMessages) { using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Loading data..."; form.TopMost = true; var thread = new Thread(() => _records.AddRange(WebSiteManager.Instance.SelectedSite.GetLibraryFiles(out message))); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } else { var thread = new Thread(() => _records.AddRange(WebSiteManager.Instance.SelectedSite.GetLibraryFiles(out message))); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } } _filterControl.UpdateDataSource(_records.OrderBy(g => g.library).Select(x => x.library).Where(x => !String.IsNullOrEmpty(x)).Distinct().ToArray()); ApplyData(); }
public void ExportData() { using (var dialog = new SaveFileDialog()) { dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); dialog.FileName = string.Format("ActiveLibraries({0}).xlsx", DateTime.Now.ToString("MMddyy-hmmtt")); dialog.Filter = "Excel files|*.xlsx"; dialog.Title = "Export Active Libraries"; if (dialog.ShowDialog() != DialogResult.OK) return; var options = new XlsxExportOptions(); options.SheetName = Path.GetFileNameWithoutExtension(dialog.FileName); options.TextExportMode = TextExportMode.Text; options.ExportHyperlinks = true; options.ShowGridLines = true; options.ExportMode = XlsxExportMode.SingleFile; var groupControls = xtraTabControlLibraries.TabPages.OfType<IGroupControl>().Reverse(); var parts = new Dictionary<string, string>(); using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Exporting data..."; form.TopMost = true; form.Show(); Application.DoEvents(); var thread = new Thread(() => { foreach (var groupControl in groupControls) { var tempFile = Path.Combine(Path.GetTempPath(), String.Format("{0}.xlsx", Guid.NewGuid())); BeginInvoke(new Action(() => { using (var printingSystem = new PrintingSystem()) { groupControl.GetPrintLink().CreateDocument(printingSystem); printingSystem.ExportToXlsx(tempFile, options); } })); parts.Add(groupControl.GroupName, tempFile); } ActivityExportHelper.ExportCommonData(dialog.FileName, parts); }); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (File.Exists(dialog.FileName)) Process.Start(dialog.FileName); } }
public void DeletePage() { var pageRecord = gridViewRecords.GetFocusedRow() as QPageModel; if (pageRecord == null || AppManager.Instance.ShowWarningQuestion(string.Format("Are you sure want to delete this {0}?", pageRecord.Type)) != DialogResult.Yes) return; string message = string.Empty; using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = string.Format("Deleting {0}...", pageRecord.Type); form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.DeletePages(new[] { pageRecord.id }, out message)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) { AppManager.Instance.ShowWarning(message); return; } RefreshData(false); }
public void ExportData() { using (var dialog = new SaveFileDialog()) { dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); dialog.FileName = string.Format("quickSITES & Emails({0}).xlsx", DateTime.Now.ToString("MMddyy-hmmtt")); dialog.Filter = "Excel files|*.xlsx"; dialog.Title = "Export quickSites & Emails"; if (dialog.ShowDialog() != DialogResult.OK) return; var options = new XlsxExportOptions(); options.SheetName = Path.GetFileNameWithoutExtension(dialog.FileName); options.TextExportMode = TextExportMode.Text; options.ExportHyperlinks = true; options.ShowGridLines = true; options.ExportMode = XlsxExportMode.SingleFile; var parts = new Dictionary<string, string>(); using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Exporting data..."; form.TopMost = true; form.Show(); Application.DoEvents(); var thread = new Thread(() => { var tempFile = Path.Combine(Path.GetTempPath(), String.Format("{0}.xlsx", Guid.NewGuid())); BeginInvoke(new Action(() => { using (var printingSystem = new PrintingSystem()) { var printLink = new PrintableComponentLink { Landscape = true, PaperKind = PaperKind.A4, Component = gridControlRecords }; printLink.CreateReportHeaderArea += OnCreateReportHeaderArea; printLink.CreateDocument(printingSystem); printingSystem.ExportToXlsx(tempFile, options); } })); parts.Add("quickSITES & Emails", tempFile); ActivityExportHelper.ExportCommonData(dialog.FileName, parts); }); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (File.Exists(dialog.FileName)) Process.Start(dialog.FileName); } }
public void ExportData() { if (!xtraTabControlGroups.TabPages.Any()) return; using (var dialog = new SaveFileDialog()) { dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); dialog.FileName = string.Format("UserSalesCertificationStatus({0}).xlsx", DateTime.Now.ToString("MMddyy-hmmtt")); dialog.Filter = "Excel files|*.xlsx"; dialog.Title = "User Sales Certification Status"; if (dialog.ShowDialog() != DialogResult.OK) return; var header = String.Format("Date Range: {0} - {1}{2}Active Quizzes in the System: {3}", StartDate.ToString("M/d/yy"), EndDate.ToString("M/d/yy"), Environment.NewLine, _filteredRecords.Select(r => r.quizName).Distinct().Count()); var topLevelGroup = _filterControl.Enabled ? _filterControl.TopLevelQuizGroup : String.Empty; var totalUsers = _filteredRecords.Select(r => r.FullName).Distinct().Count(); var totalGroups = _filteredRecords.Select(r => r.group).Distinct().Count(); using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Exporting data..."; form.TopMost = true; var thread = new Thread(() => QuizStatisticExportHelper.ExportQuizStatistic(dialog.FileName, header, topLevelGroup, totalUsers, totalGroups, xtraTabControlGroups.TabPages.OfType<TotalControl>().First().Records, xtraTabControlGroups.TabPages.OfType<GroupControl>().Select(tp => tp.Records)) ); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (File.Exists(dialog.FileName)) Process.Start(dialog.FileName); } }
public void AddUser() { string message = string.Empty; using (var formEdit = new FormEditUser(true, _complexPassword, _users.Select(x => x.login).ToArray(), _groups.Select(x => new GroupModel { id = x.id, name = x.name }).ToArray(), _libraries.Select(x => new SoapLibrary { id = x.id, name = x.name, pages = x.pages.Select(y => new SoapLibraryPage { id = y.id, name = y.name, libraryId = y.libraryId }).ToArray() }).ToArray())) { if (formEdit.ShowDialog() == DialogResult.OK) { string login = formEdit.textEditLogin.EditValue != null ? formEdit.textEditLogin.EditValue.ToString() : string.Empty; string password = formEdit.buttonEditPassword.EditValue != null ? formEdit.buttonEditPassword.EditValue.ToString() : string.Empty; string firstName = formEdit.textEditFirstName.EditValue != null ? formEdit.textEditFirstName.EditValue.ToString() : string.Empty; string lastName = formEdit.textEditLastName.EditValue != null ? formEdit.textEditLastName.EditValue.ToString() : string.Empty; string email = formEdit.textEditEmail.EditValue != null ? formEdit.textEditEmail.EditValue.ToString() : string.Empty; string phone = formEdit.textEditPhone.EditValue != null ? formEdit.textEditPhone.EditValue.ToString() : string.Empty; int role = 0; var groups = new List<GroupModel>(formEdit.AssignedGroups); var pages = new List<SoapLibraryPage>(formEdit.AssignedPages); using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Adding user..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.SetUser(login, password, firstName, lastName, email, phone, role, groups.ToArray(), pages.ToArray(), out message)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } _userCollectionChanged = true; _groupsCollectionChanged = true; _libraraiesCollectionChanged = true; UpdateUsers(true, ref message); } } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); }
public void ImportUsers() { string message = string.Empty; using (var dialog = new OpenFileDialog()) { dialog.Title = "Import Users"; dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); dialog.Filter = "Excel files|*.xls;*.xlsx"; if (dialog.ShowDialog() == DialogResult.OK) { using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Import users..."; form.TopMost = true; var thread = new Thread(() => { var users = ImportManager.ImportUsers(dialog.FileName, _users.ToArray(), _groups.ToArray(), _complexPassword, out message); if (string.IsNullOrEmpty(message)) WebSiteManager.Instance.SelectedSite.SetUsers(users.ToArray(), out message); }); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } _userCollectionChanged = true; _groupsCollectionChanged = true; _libraraiesCollectionChanged = true; if (string.IsNullOrEmpty(message)) UpdateUsers(true, ref message); } } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); }
public void SaveData() { gridViewLibraries.CloseEditor(); gridViewSecurityGroups.CloseEditor(); gridViewFiles.CloseEditor(); if (!NeedToSave) return; if (_dataLoaded) { Profile.config.disablePreview = checkEditDisablePreview.Checked; Profile.config.disableDownload = checkEditDisableDownload.Checked; Profile.config.disableEmail = checkEditDisableEmail.Checked; Profile.config.disableFavorites = checkEditDisableFavorites.Checked; Profile.config.disablePdf = checkEditDisablePdf.Checked; Profile.config.disableQuickSite = checkEditDisableQuickSite.Checked; Profile.config.disableSave = checkEditDisableSave.Checked; Profile.config.libraryReferences = ((List<LibraryReference>)gridControlLibraries.DataSource).Where(l => l.Selected).ToArray(); Profile.config.securityGroupReferences = ((List<SecurityGroupReference>)gridControlSecurityGroups.DataSource).Where(l => l.Selected).ToArray(); var linkTags = textEditFilesTags.EditValue as String; if (!String.IsNullOrEmpty(linkTags)) Profile.config.libraryLinkTags = linkTags.Split(';').Where(item => !String.IsNullOrEmpty(item)).Select(item => item.Trim()).ToArray(); else Profile.config.libraryLinkTags = new string[] { }; Profile.config.ignoredLinkReferences = ((List<LibraryLinkReference>)gridControlFiles.DataSource).Where(linkReference => linkReference.Selected).ToArray(); } using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Saving Profile..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.SaveLinkConfigProfile(Profile)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } NeedToSave = false; }
private void EditGroup() { string message = string.Empty; var groupRecord = gridViewGroups.GetFocusedRow() as GroupModel; if (groupRecord != null) { using (var formEdit = new FormEditGroup(false, _groupTemplates.ToArray(), _groups.Where(x => !x.name.Equals(groupRecord.name)).Select(x => x.name).ToArray(), _users.Select(x => new UserModel { id = x.id, login = x.login, firstName = x.firstName, lastName = x.lastName, email = x.email, selected = (groupRecord.users != null && groupRecord.users.Any(y => y.id == x.id)) }).ToArray(), _libraries.Select(x => new SoapLibrary { id = x.id, name = x.name, selected = (groupRecord.libraries != null && groupRecord.libraries.Any(y => y.id == x.id)), pages = x.pages.Select(y => new SoapLibraryPage { id = y.id, name = y.name, libraryId = y.libraryId, selected = (groupRecord.libraries != null && groupRecord.libraries.SelectMany(library => library.pages).Select(groupPage => groupPage.id).Contains(y.id)) }).ToArray() }).ToArray())) { formEdit.comboBoxEditName.EditValue = groupRecord.name; if (formEdit.ShowDialog() == DialogResult.OK) { string id = groupRecord.id; string name = formEdit.comboBoxEditName.EditValue != null ? formEdit.comboBoxEditName.EditValue.ToString() : string.Empty; var users = new List<UserModel>(formEdit.AssignedUsers); var pages = new List<SoapLibraryPage>(formEdit.AssignedPages); using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Updating group..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.SetGroup(id, name, users.ToArray(), pages.ToArray(), out message)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } _userCollectionChanged = true; _groupsCollectionChanged = true; _libraraiesCollectionChanged = true; UpdateGroups(true, ref message); } } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } }
private void DeleteGroup() { var groupRecord = gridViewGroups.GetFocusedRow() as GroupModel; if (groupRecord != null && AppManager.Instance.ShowWarningQuestion(string.Format("Are you sure want to delete group {0}?", groupRecord.name)) == DialogResult.Yes) { string message = string.Empty; using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Deleting group..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.DeleteGroup(groupRecord.id, out message)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } _userCollectionChanged = true; _groupsCollectionChanged = true; _libraraiesCollectionChanged = true; UpdateGroups(true, ref message); if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } }
private void AddGroup() { string message = string.Empty; using (var formEdit = new FormEditGroup(true, _groupTemplates.ToArray(), _groups.Select(x => x.name).ToArray(), _users.Select(x => new UserModel { id = x.id, login = x.login, firstName = x.firstName, lastName = x.lastName, email = x.email }).ToArray(), _libraries.Select(x => new SoapLibrary { id = x.id, name = x.name, pages = x.pages.Select(y => new SoapLibraryPage { id = y.id, name = y.name, libraryId = y.libraryId }).ToArray() }).ToArray())) { if (formEdit.ShowDialog() == DialogResult.OK) { string id = Guid.NewGuid().ToString(); string name = formEdit.comboBoxEditName.EditValue != null ? formEdit.comboBoxEditName.EditValue.ToString() : string.Empty; var users = new List<UserModel>(formEdit.AssignedUsers); var pages = new List<SoapLibraryPage>(formEdit.AssignedPages); using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Adding group..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.SetGroup(id, name, users.ToArray(), pages.ToArray(), out message)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } _userCollectionChanged = true; _groupsCollectionChanged = true; _libraraiesCollectionChanged = true; UpdateGroups(true, ref message); } } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); }
public void DeleteUser() { var userRecord = gridViewUsers.GetFocusedRow() as UserModel; if (userRecord == null || AppManager.Instance.ShowWarningQuestion(string.Format("Are you sure want to delete user {0}?", userRecord.FullName)) != DialogResult.Yes) return; string message = string.Empty; using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Deleting user..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.DeleteUser(userRecord.login, out message)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } _userCollectionChanged = true; _groupsCollectionChanged = true; _libraraiesCollectionChanged = true; UpdateUsers(true, ref message); if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); }
public void EditUser() { string message = string.Empty; var userRecord = gridViewUsers.GetFocusedRow() as UserModel; if (userRecord == null) return; using (var formEdit = new FormEditUser(false, _complexPassword, _users.Select(x => x.login).ToArray(), _groups.Select(x => new GroupModel { id = x.id, name = x.name, selected = (userRecord.groups != null && userRecord.groups.Any(y => y.id == x.id)) }).ToArray(), _libraries.Select(x => new SoapLibrary { id = x.id, name = x.name, selected = (userRecord.libraries != null && userRecord.libraries.Any(y => y.id == x.id)), pages = x.pages.Select(y => new SoapLibraryPage { id = y.id, name = y.name, libraryId = y.libraryId, selected = (userRecord.libraries != null && userRecord.libraries.Where(library => library.pages != null).SelectMany(library => library.pages).Select(userPage => userPage.id).Contains(y.id)) }).ToArray() }).ToArray())) { formEdit.textEditLogin.EditValue = userRecord.login; formEdit.textEditFirstName.EditValue = userRecord.firstName; formEdit.textEditLastName.EditValue = userRecord.lastName; formEdit.textEditPhone.EditValue = userRecord.phone; formEdit.textEditEmail.EditValue = userRecord.email; formEdit.textEditEmailConfirm.EditValue = userRecord.email; if (formEdit.ShowDialog() == DialogResult.OK) { string login = formEdit.textEditLogin.EditValue != null ? formEdit.textEditLogin.EditValue.ToString() : string.Empty; string password = formEdit.buttonEditPassword.EditValue != null ? formEdit.buttonEditPassword.EditValue.ToString() : string.Empty; string firstName = formEdit.textEditFirstName.EditValue != null ? formEdit.textEditFirstName.EditValue.ToString() : string.Empty; string lastName = formEdit.textEditLastName.EditValue != null ? formEdit.textEditLastName.EditValue.ToString() : string.Empty; string email = formEdit.textEditEmail.EditValue != null ? formEdit.textEditEmail.EditValue.ToString() : string.Empty; string phone = formEdit.textEditPhone.EditValue != null ? formEdit.textEditPhone.EditValue.ToString() : string.Empty; var role = 0; var groups = new List<GroupModel>(formEdit.AssignedGroups); var pages = new List<SoapLibraryPage>(formEdit.AssignedPages); using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Updating user..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.SetUser(login, password, firstName, lastName, email, phone, role, groups.ToArray(), pages.ToArray(), out message)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } _userCollectionChanged = true; _groupsCollectionChanged = true; _libraraiesCollectionChanged = true; UpdateUsers(true, ref message); } } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); }
public void DeleteProfile() { if (_selectedProfileControl == null) return; if (AppManager.Instance.ShowWarningQuestion(String.Format("Are you sure want to delete profile {0}?", _selectedProfileControl.ProfileName)) != DialogResult.Yes) return; using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Deleting Profile..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.DeleteLinkConfigProfile(_selectedProfileControl.Profile)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } _profileControls.Remove(_selectedProfileControl); pnProfileContentContainer.Controls.Remove(_selectedProfileControl); RefreshGrid(); }
private void EditPage() { string message = string.Empty; var pageRecord = gridViewPages.GetFocusedRow() as SoapLibraryPage; if (pageRecord != null) { using (var formEdit = new FormEditPage(_users.Select(x => new UserModel { id = x.id, login = x.login, firstName = x.firstName, lastName = x.lastName, email = x.email, selected = (pageRecord.users != null && pageRecord.users.Any(y => y.id == x.id)) }).ToArray(), _groups.Select(x => new GroupModel { id = x.id, name = x.name, selected = (pageRecord.groups != null && pageRecord.groups.Any(y => y.id == x.id)) }).ToArray())) { formEdit.laLibrary.Text = string.Format(formEdit.laLibrary.Text, pageRecord.libraryName); formEdit.laPage.Text = string.Format(formEdit.laPage.Text, pageRecord.name); formEdit.checkEditapplyForLibrary.Text = string.Format(formEdit.checkEditapplyForLibrary.Text, pageRecord.libraryName); if (formEdit.ShowDialog() == DialogResult.OK) { var users = new List<UserModel>(formEdit.AssignedUsers); var groups = new List<GroupModel>(formEdit.AssignedGroups); bool allLibrary = formEdit.checkEditapplyForLibrary.Checked; using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = allLibrary ? "Updating library..." : "Updating page..."; form.TopMost = true; var thread = new Thread(() => { if (allLibrary) { var libraray = _libraries.FirstOrDefault(x => x.id.Equals(pageRecord.libraryId)); if (libraray != null) foreach (SoapLibraryPage page in libraray.pages) WebSiteManager.Instance.SelectedSite.SetPage(page.id, users.ToArray(), groups.ToArray(), out message); } else WebSiteManager.Instance.SelectedSite.SetPage(pageRecord.id, users.ToArray(), groups.ToArray(), out message); }); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } _userCollectionChanged = true; _groupsCollectionChanged = true; _libraraiesCollectionChanged = true; UpdateLibraries(true, ref message); } } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } }
private void ResetUsers() { var message = string.Empty; var userIds = _records.Where(x => x.Selected).Select(x => x.id.ToString()).ToArray(); var onlyEmail = !_filterControl.EmailReset; var sender = textEditEmailResetSender.EditValue != null ? textEditEmailResetSender.EditValue.ToString() : string.Empty; var subject = textEditEmailResetSubject.EditValue != null ? textEditEmailResetSubject.EditValue.ToString() : string.Empty; var body = memoEditEmailResetBody.EditValue != null ? memoEditEmailResetBody.EditValue.ToString() : string.Empty; SettingsManager.Instance.InactiveUsersSettings.ResetEmailSender = sender; SettingsManager.Instance.InactiveUsersSettings.ResetEmailSubject = subject; SettingsManager.Instance.InactiveUsersSettings.ResetEmailBody = body; SettingsManager.Instance.InactiveUsersSettings.Save(); if (userIds.Length == 0 || string.IsNullOrEmpty(sender)) return; using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Sending Emails..."; form.TopMost = true; var thread = new Thread(() => WebSiteManager.Instance.SelectedSite.ResetUsers(userIds, onlyEmail, sender, subject, body, out message)); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } if (string.IsNullOrEmpty(message)) RefreshData(false); form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) RefreshData(true); }
public void UpdateUsers(bool showMessages, ref string updateMessage) { gridControlUsers.DataSource = null; _users.Clear(); string message = string.Empty; if (showMessages) { using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Loading users..."; form.TopMost = true; var thread = new Thread(() => { _complexPassword = WebSiteManager.Instance.SelectedSite.IsUserPasswordComplex(out message); _users.AddRange(WebSiteManager.Instance.SelectedSite.GetUsers(out message)); }); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } else { var thread = new Thread(() => { _complexPassword = WebSiteManager.Instance.SelectedSite.IsUserPasswordComplex(out message); _users.AddRange(WebSiteManager.Instance.SelectedSite.GetUsers(out message)); }); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } } updateMessage = message; UpdateFilter(_users.SelectMany(x => x.groups != null ? x.groups : new GroupModel[] { }).OrderBy(g => g.name).Select(g => g.name).Distinct().ToArray()); FilterUsers(); _userCollectionChanged = false; }
public void UpdateLibraries(bool showMessages, ref string updateMessage) { gridControlPages.DataSource = null; _libraries.Clear(); string message = string.Empty; if (showMessages) { using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Loading libraries..."; form.TopMost = true; var thread = new Thread(() => _libraries.AddRange(WebSiteManager.Instance.SelectedSite.GetLibraries(out message))); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } if (!string.IsNullOrEmpty(message)) AppManager.Instance.ShowWarning(message); } else { var thread = new Thread(() => _libraries.AddRange(WebSiteManager.Instance.SelectedSite.GetLibraries(out message))); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } } updateMessage = message; gridControlPages.DataSource = _libraries.SelectMany(x => x.pages).ToList(); gridViewPages.ExpandAllGroups(); UpdateControlsState(); _libraraiesCollectionChanged = false; }
private void LoadAffectedLinks() { _loading = true; gridControlFiles.DataSource = null; var affectedLinks = new List<LibraryLinkReference>(); using (var form = new FormProgress()) { FormMain.Instance.ribbonControl.Enabled = false; Enabled = false; form.laProgress.Text = "Loading Files..."; form.TopMost = true; var thread = new Thread(() => affectedLinks.AddRange(WebSiteManager.Instance.SelectedSite.GetLinkConfigProfileAffectedLinks(Profile))); form.Show(); thread.Start(); while (thread.IsAlive) { Thread.Sleep(100); Application.DoEvents(); } form.Close(); Enabled = true; FormMain.Instance.ribbonControl.Enabled = true; } foreach (var linkReference in affectedLinks) { if (Profile.config.ignoredLinkReferences.Any(ignoredLink => ignoredLink.id == linkReference.id)) linkReference.Selected = true; } gridControlFiles.DataSource = affectedLinks; UpdateFilesTotals(); _loading = false; }