private void listModule() { ctxEdit.Enabled = false; tsbEdit.Enabled = false; ctxDelete.Enabled = false; tsbDelete.Enabled = false; var stats = ComboBoxObject.LoadFromQuery("SELECT [FK_MODULE_ID] as Value,cast(ROUND(cast(sum([ACTIVITY_TIME]) as float)/3600,2) as nvarchar) + 'h ('+cast(ROUND((cast(sum([ACTIVITY_TIME]) as float)/cast(sum([OPENED_TIME]) as float))*100,1) as nvarchar)+'%) - ' + CAST(COUNT(Distinct FORMNAME) as nvarchar) + ' Forms - ' + cast(COUNT(DISTINCT USERID) as nvarchar) + ' Users' as Text FROM [SYNAPSE].[dbo].[Synapse_Statistics] GROUP BY FK_MODULE_ID"); usage.Clear(); foreach (ComboBoxObject stat in stats) { usage.Add(stat.Value, stat.Text); } modules = SynapseModule.Load(); foreach (SynapseModule module in modules) { if (File.Exists(Application.StartupPath + "\\ModulesIcons\\" + module.TECHNICALNAME + ".ico")) { LargeImageList.Images.Add(module.TECHNICALNAME, Image.FromFile(Application.StartupPath + "\\ModulesIcons\\" + module.TECHNICALNAME + ".ico")); } else { LargeImageList.Images.Add(module.TECHNICALNAME, Image.FromFile(Application.StartupPath + "\\ModulesIcons\\Default.png")); } } olvModules.SetObjects(modules.OrderBy(x => x.FriendlyName.ToString()).ToList()); }
private void frmSecurityOverView_Load(object sender, EventArgs e) { treeListView1.Columns[0].Text = SynapseForm.GetLabel("frmSecurityOverView.olvc_GROUP"); treeListView1.Columns[1].Text = SynapseForm.GetLabel("frmSecurityOverView.olvc_VISIBLE"); treeListView1.Columns[2].Text = SynapseForm.GetLabel("frmSecurityOverView.olvc_ACTIVE"); treeListView1.Columns[3].Text = SynapseForm.GetLabel("frmSecurityOverView.olvc_Text"); treeListView1.Columns[4].Text = SynapseForm.GetLabel("frmSecurityOverView.olvc_Comment"); ModuleCollection = SynapseModule.Load(); myControls = (from c in ControlSecurityOverview.Load() where c.GROUP != "Everybody" select c).ToList(); myProfiles = SynapseProfile.Load(); myModules = SynapseModule.Load(); fillModules(); foreach (SynapseModule mod in myModules) { HashMod.Add(mod.TECHNICALNAME, mod.ID); } List <E_module> modules = new List <E_module>(); foreach (string str in (from m in myControls select m.MODULE).Distinct()) { modules.Add((E_module)str); } treeListView1.SetObjects(modules); }
public User(string UID, Int64 ModuleID) { SUser = SynapseUser.LoadByUserID(UID); UserID = UID; _CurrentModuleID = ModuleID; _UserControls = new Hashtable(); try { _Groups = SynapseProfile.LoadFromQuery("SELECT [P_ID] as ID,[FK_ModuleID],[FK_LABELID],[P_TECHNICALNAME] as TECHNICALNAME,[IS_OWNER],[LEVEL] FROM [V_Synapse_UserGroups] WHERE UserID = '" + UID + "'"); _Modules = SynapseModule.LoadFromQuery("SELECT DISTINCT [M_ID] as ID,[LABELID],[PATH],[M_TECHNICALNAME] as TECHNICALNAME,[VERSION],[MODULECATEGORY],[VERSIONDATE],[DESCLABELID],[DEVSOURCE],[PRODSOURCE],[IS_ACTIVE],[IS_REQUESTABLE] FROM [V_Synapse_UserGroups] WHERE UserID = '" + UID + "' OR M_ID=1 ORDER BY MODULECATEGORY"); CSC = ControlSecurity.Load("WHERE (UserID = '" + UserID + "' OR UserID = 'Everybody') AND (FK_MODULE_ID=" + ModuleID + " OR FK_MODULE_ID=1)"); foreach (ControlSecurity C in CSC) { try { _UserControls.Add(C.FORM_NAME + C.CTRL_NAME, C); } // TODO: Catch more specific exception catch (Exception ex) { SynapseForm.SynapseLogger.Error(ex.Message); } } } // TODO: Catch more specific exception catch (Exception ex) { SynapseForm.SynapseLogger.Error(ex.Message); } }
private Boolean checkFields() { bool isOK = true; synapseErrorProvider1.SetError(txPath, ""); synapseErrorProvider1.SetError(txTechnicalName, ""); synapseErrorProvider1.SetError(txVersion, ""); synapseErrorProvider1.SetError(txVersionDate, ""); synapseErrorProvider1.SetError(txCategory, ""); txPath.MandatoryErrorMessage = GetLabel("Err.0010"); txTechnicalName.MandatoryErrorMessage = GetLabel("Err.0011"); txVersion.MandatoryErrorMessage = GetLabel("Err.0012"); txVersionDate.MandatoryErrorMessage = GetLabel("Err.0013"); txCategory.MandatoryErrorMessage = GetLabel("Err.0014"); synapseErrorProvider1.ShowMessageBox = true; isOK = synapseErrorProvider1.ValidateControls(); if (isOK) { IList <SynapseModule> _mods = SynapseModule.LoadFromPreparedQuery(@"SELECT * FROM SYNAPSE_MODULE WHERE TECHNICALNAME=@nvarchar0 AND ID <> @bigint1", "Default", txTechnicalName.Text, _module.ID); if (_mods.Count > 0) { synapseErrorProvider1.SetError(txTechnicalName, GetLabel("Err.0009")); MessageBox.Show(GetLabel("Err.0009"), GetLabel("Err"), MessageBoxButtons.OK, MessageBoxIcon.Error); isOK = false; } } return(isOK); }
private void StartOtherModule(string path, bool checkIfSynapseModule) { if (checkIfSynapseModule) { SynapseModule mod = SynapseModule.Load("WHERE PATH='" + path + "'").FirstOrDefault(); if (mod != null) { StartSynapseModule(mod); return; } } try { if (path.Substring(path.Length - 3, 3) == "lnk") { Process.Start(path); } else { ProcessStartInfo pStart = new ProcessStartInfo(path); pStart.WorkingDirectory = path.Substring(0, path.LastIndexOf("\\")); pStart.UseShellExecute = false; Process.Start(pStart); } } catch (Exception ex) { MessageBox.Show(string.Format("This Module ({0}) could not be Started: {1}", path, ex.Message), GetLabel("Err"), MessageBoxButtons.OK, MessageBoxIcon.Error); } treeFavorites.SelectedNode = null; }
private void forceInstallToolStripMenuItem_Click(object sender, EventArgs e) { if (lvModule.SelectedItems.Count > 0) { if (lvModule.SelectedItems[0].Tag is SynapseModule) { SynapseModule module = ((SynapseModule)lvModule.SelectedItems[0].Tag); smallImages.Images.RemoveByKey(module.TECHNICALNAME); largeImages.Images.RemoveByKey(module.TECHNICALNAME); module.ForceUpdate(Application.StartupPath, CurrentMode); string IconFile = Application.StartupPath + (CurrentMode == SynapseModule.SynapseModuleMode.Production ? "\\Prod\\" : "\\Dev\\") + module.TECHNICALNAME + "\\" + module.TECHNICALNAME + ".ico"; if (File.Exists(IconFile)) { smallImages.Images.Add(module.TECHNICALNAME, Image.FromFile(IconFile)); largeImages.Images.Add(module.TECHNICALNAME, Image.FromFile(IconFile)); } else { smallImages.Images.Add(module.TECHNICALNAME, Image.FromFile(Application.StartupPath + "\\ModulesIcons\\Default.png")); largeImages.Images.Add(module.TECHNICALNAME, Image.FromFile(Application.StartupPath + "\\ModulesIcons\\Default.png")); } } lvModule.SelectedItems.Clear(); } }
private void loadModules() { lvModule.Items.Clear(); Modules = SynapseModule.Load(); var UserModuleID = from m in FormUser.Modules select m.ID; foreach (SynapseModule Module in from m in Modules where !UserModuleID.Contains(m.ID) select m) { if (Module.IS_ACTIVE && Module.IS_REQUESTABLE) { if (File.Exists(Application.StartupPath + "\\ModulesIcons\\" + Module.TECHNICALNAME + ".ico")) { smallImages.Images.Add(Module.TECHNICALNAME, Image.FromFile(Application.StartupPath + "\\ModulesIcons\\" + Module.TECHNICALNAME + ".ico")); } else { smallImages.Images.Add(Module.TECHNICALNAME, Image.FromFile(Application.StartupPath + "\\ModulesIcons\\Default.png")); } ListViewItem item; item = new ListViewItem(Module.FriendlyName.ToString()); item.Tag = 0; item.SubItems.Add(Module.Description.ToString()); item.SubItems.Add(Module.VERSION); item.ImageKey = Module.TECHNICALNAME; lvModule.Items.Add(item); } } }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { if (lvModule.SelectedItems.Count > 0) { txFor.Text = lvModule.SelectedItems[0].SubItems[0].Text; txReason.Text = ""; SynapseModule mod = (from x in Modules where x.FriendlyName.ToString() == lvModule.SelectedItems[0].Text select x).FirstOrDefault(); string[] to = (from s in mod.GetOwners() select s.UserID).ToArray(); string[] alias = (from s in mod.GetOwners() select s.FIRSTNAME + " " + s.LASTNAME).ToArray(); txTo.Text = string.Join(", ", alias); mailAlias = string.Join(",", to); mailAlias = mailAlias.Replace("CORP\\", ""); gbDetail.Enabled = true; btSend.Enabled = true; tsbSend.Enabled = true; } else { txFor.Text = ""; txReason.Text = ""; txTo.Text = ""; mailAlias = ""; gbDetail.Enabled = false; btSend.Enabled = false; tsbSend.Enabled = false; } }
private void treeReport_DoubleClick(object sender, EventArgs e) { if (treeReport.SelectedObject != null) { if (treeReport.SelectedObject is Category) { if (treeReport.IsExpanded(treeReport.SelectedObject)) { treeReport.Collapse(treeReport.SelectedObject); } else { treeReport.Expand(treeReport.SelectedObject); } } else { Definition _report = (Definition)treeReport.SelectedObject; // If the Report List is mixed between Modue & Interface, reset the origin for each report if (_InterfaceID != 0) { if (_report.FK_INTERFACE != 0) { ReportOrigin.setTo(SynapseInterface.LoadByID(_report.FK_INTERFACE)); } else { ReportOrigin.setTo(SynapseModule.LoadByID(_report.FK_MODULE)); } } string pageTitle = string.Empty; if (_report.ADDCATEGORY) { pageTitle = Category.LoadByID(_report.FK_CATEGORY).LABEL.ToString() + " - " + _report.LABEL.ToString(); } else { pageTitle = _report.LABEL.ToString(); } TabPage _page = new TabPage(pageTitle); reportControl _rep = new reportControl(); _rep.ReportId = _report.ID; _rep.IsForDesign = false; _rep.Dock = DockStyle.Fill; _rep.Load(); _page.Controls.Add(_rep); tabControl1.TabPages.Add(_page); _page.ImageKey = "report"; tabControl1.SelectedIndex = tabControl1.TabPages.Count - 1; tabControl1.Visible = true; _rep.Focus(); } } }
public override void initForm(SynapseCore.Security.Tools.SecureAndTranslateMode Mode) { base.initForm(Mode); ModuleCollection = SynapseModule.Load(); AllUserCollection = SynapseUser.Load(); AllProfileCollection = SynapseProfile.Load(); initTree(); }
private void StartSynapseModule(SynapseModule thisModule) { if (thisModule.IS_ACTIVE) { string args = CurrentMode == SynapseModule.SynapseModuleMode.Production ? "" : "/dev"; thisModule.start(Application.StartupPath, args, CurrentMode); } else { MessageBox.Show(GetLabel("Err.0019"), "Synapse", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void ReloadModulesAndGroups() { try { _Groups = SynapseProfile.LoadFromQuery("SELECT [P_ID] as ID,[FK_ModuleID],[FK_LABELID],[P_TECHNICALNAME] as TECHNICALNAME,[IS_OWNER],[LEVEL] FROM [V_Synapse_UserGroups] WHERE UserID = '" + UserID + "'"); _Modules = SynapseModule.LoadFromQuery("SELECT DISTINCT [M_ID] as ID,[LABELID],[PATH],[M_TECHNICALNAME] as TECHNICALNAME,[VERSION],[MODULECATEGORY],[VERSIONDATE],[DESCLABELID],[DEVSOURCE],[PRODSOURCE],[IS_ACTIVE],[IS_REQUESTABLE] FROM [V_Synapse_UserGroups] WHERE UserID = '" + UserID + "' OR M_ID=1 ORDER BY MODULECATEGORY"); } // TODO: Catch more specific exception catch (Exception ex) { SynapseForm.SynapseLogger.Error(ex.Message); } }
private void Delete_Module(object sender, EventArgs e) { if (MessageBox.Show(GetLabel("Quest.0003"), GetLabel("Quest"), MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes) { SynapseModule _module = (SynapseModule)olvModules.SelectedObject; IList <SynapseProfile_Control> _profileControl = SynapseProfile_Control.LoadFromQuery("SELECT dbo.[Synapse_Security_Profile Control].* FROM dbo.[Synapse_Security_Profile Control] INNER JOIN dbo.Synapse_Security_Profile ON dbo.[Synapse_Security_Profile Control].FK_PROFILEID = dbo.Synapse_Security_Profile.ID INNER JOIN dbo.Synapse_Module ON dbo.Synapse_Security_Profile.FK_MODULEID = dbo.Synapse_Module.ID WHERE (dbo.Synapse_Module.ID = " + _module.ID + ")"); IList <SynapseUser_Profile> _userProfile = SynapseUser_Profile.LoadFromQuery("SELECT dbo.[Synapse_Security_User Profile].* FROM dbo.[Synapse_Security_User Profile] INNER JOIN dbo.Synapse_Security_Profile ON dbo.[Synapse_Security_User Profile].FK_SECURITY_PROFILE = dbo.Synapse_Security_Profile.ID INNER JOIN dbo.Synapse_Module ON dbo.Synapse_Security_Profile.FK_MODULEID = dbo.Synapse_Module.ID WHERE (dbo.Synapse_Module.ID = " + _module.ID + ")"); IList <SynapseProfile> _profile = SynapseProfile.LoadFromQuery("SELECT dbo.Synapse_Security_Profile.* FROM dbo.Synapse_Security_Profile INNER JOIN dbo.Synapse_Module ON dbo.Synapse_Security_Profile.FK_MODULEID = dbo.Synapse_Module.ID WHERE (dbo.Synapse_Module.ID = " + _module.ID + ")"); IList <SynapseControl> _control = SynapseControl.Load("WHERE FK_MODULE_ID=" + _module.ID); SynapseCore.Database.DBFunction.StartTransaction(); try { foreach (SynapseProfile_Control obj in _profileControl) { obj.delete(); } foreach (SynapseUser_Profile obj in _userProfile) { obj.delete(); } foreach (SynapseProfile obj in _profile) { obj.delete(); } foreach (SynapseControl obj in _control) { obj.delete(); } foreach (SynapseLabel obj in ((SynapseModule)olvModules.SelectedObject).FriendlyName.Labels) { obj.delete(); } foreach (SynapseLabel obj in ((SynapseModule)olvModules.SelectedObject).Description.Labels) { obj.delete(); } _module.delete(); SynapseCore.Database.DBFunction.CommitTransaction(); listModule(); } catch (Exception ex) { SynapseCore.Database.DBFunction.RollbackTransaction(); MessageBox.Show("Data not deleted from Database:" + ex.Message, "Database Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void LoadModules() { Prd_Modules = SynapseModule.Load(); Acc_Modules = ACCSynapseModule.Load(); olv_Acc_Modules.ClearObjects(); olv_Modules.ClearObjects(); olv_Modules.SetObjects(Prd_Modules); olv_Acc_Modules.SetObjects(Acc_Modules); comboBox1.DisplayMember = "TECHNICALNAME"; comboBox1.ValueMember = "ID"; comboBox1.DataSource = Acc_Modules; comboBox2.DisplayMember = "TECHNICALNAME"; comboBox2.ValueMember = "ID"; comboBox2.DataSource = Acc_Modules; }
private void olv_Acc_Modules_FormatRow(object sender, SynapseAdvancedControls.FormatRowEventArgs e) { ACCSynapseModule acc = (ACCSynapseModule)e.Model; SynapseModule prd = (from m in Prd_Modules where m.ID == acc.ID select m).FirstOrDefault(); if (prd == null) { e.Item.BackColor = Color.Tomato; } else if (prd.VERSION != acc.VERSION) { e.Item.BackColor = Color.Orange; } }
private void btn_SyncAcc_Click(object sender, EventArgs e) { SynapseModule mod = SynapseModule.LoadByID((long)comboBox1.SelectedValue); IList <ACCSynapseProfile> Ap = ACCSynapseProfile.Load("WHERE FK_MODULEID = " + mod.ID); IList <SynapseProfile> Pp = SynapseProfile.Load("WHERE FK_MODULEID = " + mod.ID); if (Ap.Count != Pp.Count) { MessageBox.Show("ERROR : Sync before"); return; } IList <ACCTOPRD> links = ACCTOPRD.Load("WHERE OBJECTTYPE = 'ACCSynapseProfile'"); foreach (ACCSynapseProfile aprof in Ap) { if (links.Where(l => l.ACCID == aprof.ID).Count() == 0) { ACCTOPRD atop = new ACCTOPRD(); atop.ACCID = aprof.ID; atop.PRDID = Pp.Where(p => p.TECHNICALNAME == aprof.TECHNICALNAME).FirstOrDefault().ID; atop.OBJECTTYPE = typeof(ACCSynapseProfile).Name; if (atop.ACCID != 0 && atop.PRDID != 0) { atop.save(); } } } links = ACCTOPRD.Load("WHERE OBJECTTYPE = 'ACCSynapseProfile'"); foreach (ACCSynapseUser u in olv_ACCUSERS.CheckedObjects) { SynapseUser pu = SynapseUser.LoadByUserID(u.UserID); IList <ACCSynapseUser_Profile> AccRoles = ACCSynapseUser_Profile.Load("WHERE [FK_SECURITY_USER] = " + u.ID + " AND [FK_SECURITY_PROFILE] in (" + string.Join(",", Ap.Select(a => a.ID.ToString()).ToArray()) + ")"); IList <SynapseUser_Profile> PrdRoles = SynapseUser_Profile.Load("WHERE [FK_SECURITY_USER] = " + pu.ID + " AND [FK_SECURITY_PROFILE] in (" + string.Join(",", Pp.Select(a => a.ID.ToString()).ToArray()) + ")"); foreach (ACCSynapseUser_Profile Aup in AccRoles) { if (PrdRoles.Where(pr => pr.FK_SECURITY_PROFILE == Ap.Where(a => a.ID == Aup.FK_SECURITY_PROFILE).FirstOrDefault().PrdID(links)).Count() == 0) { SynapseUser_Profile pup = new SynapseUser_Profile(); pup.FK_SECURITY_USER = pu.ID; pup.FK_SECURITY_PROFILE = Ap.Where(a => a.ID == Aup.FK_SECURITY_PROFILE).FirstOrDefault().PrdID(links); if (MessageBox.Show("Add Group " + Ap.Where(a => a.ID == Aup.FK_SECURITY_PROFILE).FirstOrDefault().TECHNICALNAME + " to user " + pu.LASTNAME + " " + pu.FIRSTNAME, "Modify ?", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { pup.save(); } } } } }
private void button1_Click(object sender, EventArgs e) { foreach (ACCSynapseModule amod in Acc_Modules) { SynapseModule pmod = SynapseModule.LoadByID(amod.ID); if (amod.TECHNICALNAME == pmod.TECHNICALNAME) { pmod.DEVSOURCE = amod.DEVSOURCE; pmod.PRODSOURCE = amod.PRODSOURCE; pmod.MODULECATEGORY = amod.MODULECATEGORY; pmod.PATH = amod.PATH; pmod.save(); } } LoadModules(); }
void SecurityEditLoad(object sender, EventArgs e) { tsbAddControl.Enabled = false; tsbDeleteControl.Enabled = false; tsbRemoveControl.Enabled = false; AllControls = SynapseControl.Load(); var Modules = SynapseModule.Load(); cb_Module.DataSource = Modules.OrderBy(x => x.FriendlyName.ToString()).ToList(); cb_Module.ValueMember = "ID"; cb_Module.DisplayMember = "FriendlyName"; cb_Module.SelectedIndex = 0; lst_ListOfControl.DisplayMember = "CTRL_NAME"; lst_ListOfControl.ValueMember = "ID"; }
private static void setTo(SynapseModule Mod) { ReportOrigin _reportOrigin = new ReportOrigin(); _reportOrigin.ORIGIN = Origin.Module; _reportOrigin.TECHNICALNAME = Mod.TECHNICALNAME; _reportOrigin.DBTYPE = DatabaseType.SQLServer; _reportOrigin.DBCONNECTION = "Default"; _reportOrigin.FriendlyName = Mod.FriendlyName; _reportOrigin._MODULEID = Mod.ID; _reportOrigin.INTERFACEID = 0; _reportOrigin._TYPE = 0; _reportOrigin.CONNECTIONSTRING = ""; _reportOrigin.TABLESQUERY = ""; _reportOrigin.VIEWSQUERY = ""; _reportOrigin.FIELDSQUERY = ""; _reportOrigin.ORACLE_HOME = ""; GlobalVariables.selectedOrigin = _reportOrigin; }
private void olv_Modules_FormatCell(object sender, SynapseAdvancedControls.FormatCellEventArgs e) { if (e.ColumnIndex == this.col_version.Index || e.ColumnIndex == this.prd_gvf.Index) { SynapseModule prd = (SynapseModule)e.Model; ACCSynapseModule acc = (ACCSynapseModule)(from m in Acc_Modules where m.ID == prd.ID select m).FirstOrDefault(); if (acc == null) { acc = (ACCSynapseModule)(from m in Acc_Modules where m.TECHNICALNAME == prd.TECHNICALNAME select m).FirstOrDefault(); } if (prd != null && prd.VERSION != acc.VERSION && e.ColumnIndex == this.col_version.Index) { e.SubItem.BackColor = Color.Orange; } if (prd != null && prd.gvf_Version(SynapseModule.SynapseModuleMode.Production) != acc.gvf_Version(ACCSynapseModule.SynapseModuleMode.Development) && e.ColumnIndex == this.prd_gvf.Index) { e.SubItem.BackColor = Color.Orange; } } }
private void syncToolStripMenuItem_Click(object sender, EventArgs e) { ACCSynapseModule mod = null; if (olv_Acc_Modules.SelectedObject != null) { mod = (ACCSynapseModule)olv_Acc_Modules.SelectedObject; } if (mod != null) { ACCSynapseModule amod = (ACCSynapseModule)olv_Acc_Modules.SelectedObject; SynapseModule pmod = SynapseModule.LoadByID(amod.ID); if (pmod != null) { pmod.MODULECATEGORY = amod.MODULECATEGORY; pmod.PATH = amod.PATH; pmod.VERSION = amod.VERSION; pmod.VERSIONDATE = amod.VERSIONDATE; pmod.TECHNICALNAME = amod.TECHNICALNAME; pmod.DEVSOURCE = amod.DEVSOURCE; pmod.PRODSOURCE = amod.PRODSOURCE; pmod.IS_ACTIVE = amod.IS_ACTIVE; pmod.save(); } if (mod.DEVSOURCE != mod.PRODSOURCE) { GenInstaller.Installer.DoInstall(new System.IO.DirectoryInfo(mod.DEVSOURCE), new System.IO.DirectoryInfo(mod.PRODSOURCE), GenInstaller.InstallOptions.Normal); try { GenInstaller.Installer.ChangeTextInFiles("XS006726", "sql-gen-prd.electrabel.be", new System.IO.DirectoryInfo(mod.PRODSOURCE).GetFiles("*.config", System.IO.SearchOption.TopDirectoryOnly)); } catch (Exception ex) { } } } LoadModules(); }
private void ctxDesktopShortcut_Click(object sender, EventArgs e) { if (lvModule.SelectedItems.Count > 0) { if (lvModule.SelectedItems[0].Tag is SynapseModule) { SynapseModule module = ((SynapseModule)lvModule.SelectedItems[0].Tag); string modulefile = module.getModuleExecutablePath(Application.StartupPath, CurrentMode); if (modulefile != null) { IShellLink link = (IShellLink) new ShellLink(); link.SetDescription(module.FriendlyName.ToString()); link.SetPath(modulefile); link.SetIconLocation(Application.StartupPath + (CurrentMode == SynapseModule.SynapseModuleMode.Production ? "\\Prod\\" : "\\Dev\\") + module.TECHNICALNAME + "\\" + module.TECHNICALNAME + ".ico", 0); IPersistFile file = (IPersistFile)link; string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); file.Save(Path.Combine(desktopPath, (CurrentMode == SynapseModule.SynapseModuleMode.Production ? "" : "(Test) ") + module.FriendlyName.ToString() + ".lnk"), false); } } } }
private static void startForModule(string ModuleAndInterface) { Int64 ModuleID = 0; Int64 InterfaceID = 0; string[] param = ModuleAndInterface.Split(','); if (param.Length > 1) { ModuleID = long.Parse(param[0]); InterfaceID = long.Parse(param[1]); } else { ModuleID = long.Parse(param[0]); } ReportOrigin.setTo(SynapseModule.LoadByID(ModuleID)); frmReport fReport = new frmReport(true); fReport.InterfaceID = InterfaceID; fReport.ShowMenu = true; Application.Run(fReport); }
private void SecurizeForm(bool AddMenu) { bool UserHaveAccess = false; string UserID = string.Empty; bool ScanControl = false; bool ShowTestEnvironment = true; if (_allModules == null) { _allModules = SynapseModule.Load(); } try { ShowTestEnvironment = bool.Parse(ConfigurationManager.AppSettings["ShowTestEnvironment"]); } // TODO: Replace by more specific exception catch (Exception) { // TODO: Log exception } if (System.ComponentModel.LicenseManager.UsageMode != System.ComponentModel.LicenseUsageMode.Designtime) { if (log4net.LogManager.GetRepository().Configured == false) { XmlConfigurator.Configure(); } if (_formUser == null) { UserID = WindowsIdentity.GetCurrent().Name; FormUser = new SynapseCore.Security.User(UserID, this.ModuleID); } if (_language == null) { string languageFilter = null; try { languageFilter = ConfigurationManager.AppSettings["ModuleLanguages"]; } catch { SynapseLogger.Debug("ModuleLanguage not defined in app.config"); } if (languageFilter != null && languageFilter != string.Empty && languageFilter != "") { _language = SynapseLanguage.Load("where CODE in (" + languageFilter + ")"); } else { _language = SynapseLanguage.Load(); } } SynapseLogger.Debug("ModuleLanguage not defined in app.config"); if (Control.ModifierKeys == (Keys.Control | Keys.Shift) && FormUser.IsMemberOf("SYNAPSE_SECURITY_USER_IMPERSONATE")) { frm_EnterUser UserDialog = new frm_EnterUser(); UserDialog.ShowDialog(); UserID = UserDialog.UserID; if (UserID != string.Empty) { FormUser = new SynapseCore.Security.User(UserID, this.ModuleID); } } SynapseLogger.Debug("Check key modifier"); if (FormUser.UserCulture != string.Empty && FormUser.UserCulture != null) { _CurrentLanguage.CULTURE = FormUser.UserCulture; } else { _CurrentLanguage.CULTURE = Thread.CurrentThread.CurrentCulture.Name; } SynapseLogger.Debug("Set Current Language"); foreach (SynapseLanguage lang in _language) { if (lang.CULTURE == _CurrentLanguage.CULTURE) { _CurrentLanguage = lang; } } SynapseLogger.Debug("Set Current Language Label"); if (_CurrentLanguage.LABEL == null) { _CurrentLanguage = _language[0]; } Security.Tools.SetCulture(_CurrentLanguage.CULTURE); SynapseLogger.Debug("Configure Resource Manager"); ConfigureResourceManager(); SynapseLogger.Debug("Set Current Module access"); if (FormUser != null) { foreach (SynapseModule Module in _allModules) //FormUser.Modules { if (_CurrentSynapse == null && Module.ID == 1) { _CurrentSynapse = Module; } if (_CurrentModule == null && Module.ID == _ModuleID) { _CurrentModule = Module; } } if (FormUser.Modules.Select(m => m.ID).Contains(_CurrentModule.ID)) { UserHaveAccess = true; } } SynapseLogger.Debug("Check Module Mode"); if (CurrentModule.ID == 1) { if (SynapseCore.Database.DBFunction.ConnectionName != "Default") { Mode = SynapseModule.SynapseModuleMode.Development; } else { Mode = SynapseModule.SynapseModuleMode.Production; } } else { Mode = Application.ExecutablePath.Contains("\\Dev\\") ? SynapseModule.SynapseModuleMode.Development : SynapseModule.SynapseModuleMode.Production; } //redify List <Control> menupoint = Controls.OfType <ToolStrip>().Cast <Control>().ToList(); if (menupoint.Count > 0) { foreach (Control Ctrl in menupoint) { if (SynapseCore.Database.DBFunction.FormBackColor != SystemColors.Control && ShowTestEnvironment) { ((ToolStrip)Ctrl).BackColor = SynapseCore.Database.DBFunction.FormBackColor; } } } //end refify SynapseLogger.Debug("Add Menu"); if (this.ShowMenu && AddMenu) { ConfigureMenu(); } SynapseLogger.Debug("Language Message"); string LangMessage = "en"; try { LangMessage = _CurrentLanguage.CULTURE.Substring(0, 2).ToUpper(); } // TODO: Replace by more specific exception catch (Exception) { SynapseLogger.Error("Unable to determine language of message"); } SynapseLogger.Debug("Message No Access"); if (!UserHaveAccess && ModuleID != 1) { MessageBox.Show(Properties.Resources.ResourceManager.GetString(LangMessage + "_NoAccess")); Application.Exit(); } SynapseLogger.Debug("Message Not Active"); if (!CurrentModule.IS_ACTIVE && Mode == SynapseModule.SynapseModuleMode.Production) { MessageBox.Show("(" + Mode.ToString() + ") " + Properties.Resources.ResourceManager.GetString(LangMessage + "_Maintenance")); Application.Exit(); } SynapseLogger.Debug("Message Not Up To Date"); if (!CurrentModule.is_uptodate(Application.StartupPath, Mode) && !System.Diagnostics.Debugger.IsAttached) { try { MessageBox.Show(Properties.Resources.ResourceManager.GetString(LangMessage + "_UpdateNeeded")); string file = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf(Mode == SynapseModule.SynapseModuleMode.Production ? "\\Prod\\" : "\\Dev\\")) + "\\Synapse.exe"; if (file != null) { SynapseCore.Controls.SynapseForm.SynapseLogger.Debug("starting " + file); System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.EnableRaisingEvents = false; proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; proc.StartInfo.FileName = file; proc.StartInfo.WorkingDirectory = Path.GetFullPath(file); proc.StartInfo.Arguments = Mode == SynapseModule.SynapseModuleMode.Production ? "" : "/con:ACC"; proc.Start(); } else { SynapseCore.Controls.SynapseForm.SynapseLogger.Debug("Not exist " + file); } Application.Exit(); } // TODO: Replace by more specific exception catch (Exception) { if (!FormUser.IsMemberOf("SYNAPSE_SECURITY_ADMIN")) { MessageBox.Show("Application not in right location !"); Application.Exit(); } } } SynapseLogger.Debug("Message Development"); if (Mode == SynapseModule.SynapseModuleMode.Development && !DevACK) { MessageBox.Show(Properties.Resources.ResourceManager.GetString(LangMessage + "_DevelopmentMode")); DevACK = true; } try { ScanControl = bool.Parse(ConfigurationManager.AppSettings["ScanControl"]); } // DONE: Replaced by more specific exception (see http://msdn.microsoft.com/en-us/library/vstudio/system.configuration.configurationmanager.appsettings(v=vs.90).aspx) catch (ConfigurationErrorsException) { // TODO: Remove swallowing of Exception } if (UpdateControls && ModuleID != 0 && ScanControl) { System.IO.TextWriter w = new System.IO.StreamWriter(Application.StartupPath + "\\" + this.Name + "_res.SynapseResource", false, System.Text.Encoding.Unicode); w.Write(SynapseCore.Security.Tools.UpdateControlsInDB(this.Controls, this.ModuleID, null).ToString()); w.Flush(); w.Close(); } SynapseLogger.Debug("Init Form"); initForm(Security.Tools.SecureAndTranslateMode.Secure | Security.Tools.SecureAndTranslateMode.Transalte); } }
private void loadModules(string cat = "") { smallImages.Images.Clear(); largeImages.Images.Clear(); if (SynapseCore.Database.DBFunction.ConnectionName != "Default") { CurrentMode = SynapseModule.SynapseModuleMode.Development; } IList <SynapseModule> AllModules = SynapseModule.Load(); lvModule.Items.Clear(); lvModule.Groups.Clear(); treeFavorites.Nodes.Clear(); string[] SynapseDirs = new string[] { "ModulesIcons", "Prod", "Dev", "Resources", "AllSynapseResources" }; foreach (DirectoryInfo dir in new DirectoryInfo(Application.StartupPath).GetDirectories("*", SearchOption.TopDirectoryOnly)) { if (!SynapseDirs.Contains(dir.Name)) { dir.Delete(true); } } IEnumerable <SynapseModule> Modules; if (cat == "") { Modules = from x in FormUser.Modules where x.ID != 1 select x; } else { Modules = from x in FormUser.Modules where x.ID != 1 && x.MODULECATEGORY == cat select x; } //clean modules foreach (SynapseModule mod in (from m in AllModules where !FormUser.Modules.Select(mod => mod.ID).Contains(m.ID) select m)) { mod.UnInstall(Application.StartupPath, CurrentMode); } foreach (SynapseModule module in Modules) { if (!module.is_uptodate(Application.StartupPath, CurrentMode)) { module.Update(Application.StartupPath, CurrentMode); } ListViewItem lvi = new ListViewItem(); lvi.UseItemStyleForSubItems = false; lvi.Font = new System.Drawing.Font(lvi.Font, FontStyle.Bold); lvi.ForeColor = Color.DarkBlue; lvi.Name = module.TECHNICALNAME; lvi.Text = module.FriendlyName.ToString(); lvi.SubItems.Add(module.Description.ToString()); lvi.SubItems.Add(module.VERSION); lvi.SubItems.Add(module.PATH); lvi.SubItems.Add(module.VERSIONDATE); lvi.Tag = module; ListViewGroup lgroup = new ListViewGroup(module.MODULECATEGORY, module.MODULECATEGORY); if (!lvModule.Groups.Contains(lgroup)) { lvModule.Groups.Add(lgroup); } lvi.Group = lvModule.Groups[module.MODULECATEGORY]; string IconFile = Application.StartupPath + (CurrentMode == SynapseModule.SynapseModuleMode.Production?"\\Prod\\":"\\Dev\\") + module.TECHNICALNAME + "\\" + module.TECHNICALNAME + ".ico"; Image img; if (File.Exists(IconFile)) { img = Image.FromFile(IconFile); } else { img = Image.FromFile(Application.StartupPath + "\\ModulesIcons\\Default.png"); } smallImages.Images.Add(module.TECHNICALNAME, img); largeImages.Images.Add(module.TECHNICALNAME, img); Bitmap bm = MakeGrayscale(new Bitmap(img)); smallImages.Images.Add(module.TECHNICALNAME + "_INACTIVE", bm); largeImages.Images.Add(module.TECHNICALNAME + "_INACTIVE", bm); string Inactive = module.IS_ACTIVE ? "" : "_INACTIVE"; lvi.ImageKey = module.TECHNICALNAME + Inactive; lvModule.Items.Add(lvi); } }
public frmAccessTree() { InitializeComponent(); #region AspectGetter treeMain.CanExpandGetter = delegate(object x) { if (x is string) { return(true); } if (x is SynapseModule) { return(true); } if (x is SynapseUser) { if (treeMain.GetParent(x) is SynapseProfile) { return(false); } else { return(true); } } if (x is SynapseProfile) { if (treeMain.GetParent(x) is UserGroups) { return(false); } else { return(true); } } if (x is ModuleGroups) { return(true); } if (x is UserGroups) { return(true); } return(false); }; olvColName.AspectGetter = delegate(object x) { if (x is string) { return(((string)x).ToUpperInvariant()); } if (x is SynapseModule) { SynapseModule _module = (SynapseModule)x; return(_module.FriendlyName); } if (x is SynapseProfile) { SynapseProfile _profile = (SynapseProfile)x; return(_profile.TECHNICALNAME); } if (x is SynapseUser) { SynapseUser _user = (SynapseUser)x; string _col = _user.UserID + " " + _user.LASTNAME + " " + _user.FIRSTNAME; return(_col); } if (x is ModuleGroups) { return("MODULE'S GROUPS"); } if (x is UserGroups) { return("USER'S GROUPS"); } return(""); }; olvColName.ImageGetter = delegate(object x) { if (x is string) { return(x); } if (x is ModuleGroups) { return("GROUPS"); } if (x is UserGroups) { return("GROUPS"); } return(""); }; treeMain.ChildrenGetter = delegate(object x) { if (x is string) { string _type = (string)x; switch (_type) { case "MODULES": return(ModuleCollection.OrderBy(n => n.FriendlyName.ToString()).ToList()); case "GROUPS": return(getAutorizedGroups(AllProfileCollection).OrderBy(n => n.TECHNICALNAME.ToString()).ToList()); case "USERS": return(getUsers(0).OrderBy(n => n.UserID.ToString()).ToList()); } return(""); } if (x is SynapseUser) { IList <UserGroups> _groupingGroups = new List <UserGroups>(); UserGroups _groups = new UserGroups(); _groups.User = (SynapseUser)x; _groupingGroups.Add(_groups); return(_groupingGroups); } if (x is SynapseProfile) { IList <SynapseUser> userList = new List <SynapseUser>(); userList = getUsers(((SynapseProfile)x).ID); //userList = SynapseUser.LoadFromQuery("SELECT dbo.Synapse_Security_User.* FROM dbo.Synapse_Security_User INNER JOIN dbo.[Synapse_Security_User Profile] ON dbo.Synapse_Security_User.ID = dbo.[Synapse_Security_User Profile].FK_SECURITY_USER WHERE dbo.[Synapse_Security_User Profile].FK_SECURITY_PROFILE = " + ((SynapseProfile)x).ID); return(userList.OrderBy(n => n.UserID.ToString()).ToList()); } if (x is UserGroups) { IList <SynapseProfile> UserProfiles = SynapseProfile.Load("INNER JOIN [Synapse_Security_User Profile] ON Synapse_Security_Profile.ID=[Synapse_Security_User Profile].FK_SECURITY_PROFILE WHERE [Synapse_Security_User Profile].FK_SECURITY_USER="******"INNER JOIN [Synapse_Module] ON Synapse_Security_Profile.FK_MODULEID=[Synapse_Module].ID WHERE [Synapse_Module].ID=" + ((ModuleGroups)x).Module.ID.ToString()); return(getAutorizedGroups(UserProfiles).OrderBy(n => n.TECHNICALNAME.ToString()).ToList()); } return(""); }; #endregion }
public override void initForm(SynapseCore.Security.Tools.SecureAndTranslateMode Mode) { base.initForm(Mode); switch (_action) { case "NEW": this.Text = this.Text + " - " + SynapseForm.GetLabel("Label.Create"); _module.ID = 0; txPath.Text = ""; txTechnicalName.Text = ""; txVersion.Text = ""; txVersionDate.Text = ""; txCategory.Text = ""; txDevSources.Text = ""; txProdSources.Text = ""; ckActive.Checked = true; ckRequestable.Checked = false; _module.FriendlyName = new LabelBag(); _module.FriendlyName.Labels = new List <SynapseLabel>(); _module.Description = new LabelBag(); _module.Description.Labels = new List <SynapseLabel>(); foreach (SynapseLanguage lang in languages) { SynapseLabel newFriendlyName = new SynapseLabel(); newFriendlyName.LABELID = 0; newFriendlyName.LANGUAGE = lang.CODE; newFriendlyName.TEXT = ""; _module.FriendlyName.Labels.Add(newFriendlyName); SynapseLabel newDescription = new SynapseLabel(); newDescription.LABELID = 0; newDescription.LANGUAGE = lang.CODE; newDescription.TEXT = ""; _module.Description.Labels.Add(newDescription); } break; case "EDIT": this.Text = this.Text + " - " + SynapseForm.GetLabel("Label.Edit"); _module = SynapseModule.LoadByID(_moduleID); txPath.Text = _module.PATH; txTechnicalName.Text = _module.TECHNICALNAME; txVersion.Text = _module.VERSION; txVersionDate.Text = _module.VERSIONDATE; txCategory.Text = _module.MODULECATEGORY; txDevSources.Text = _module.DEVSOURCE; txProdSources.Text = _module.PRODSOURCE; ckActive.Checked = _module.IS_ACTIVE; ckRequestable.Checked = _module.IS_REQUESTABLE; if (_module.FriendlyName.Labels.Count < languages.Count) { foreach (SynapseLanguage lang in languages) { if (_module.FriendlyName.GetLabel(lang.CODE) == null) { SynapseLabel newlabel = new SynapseLabel(); newlabel.LABELID = _module.FriendlyName.GetLabelID(); newlabel.LANGUAGE = lang.CODE; newlabel.TEXT = ""; newlabel.save(); _module.FriendlyName.Labels.Add(newlabel); } } } if (_module.Description.Labels.Count < languages.Count) { foreach (SynapseLanguage lang in languages) { if (_module.Description.GetLabel(lang.CODE) == null) { SynapseLabel newlabel = new SynapseLabel(); newlabel.LABELID = _module.Description.GetLabelID(); newlabel.LANGUAGE = lang.CODE; newlabel.TEXT = ""; newlabel.save(); _module.Description.Labels.Add(newlabel); } } } break; } bagName.FieldName = GetLabel("frmModule.gbFiendlyName"); bagName.LblBag = _module.FriendlyName; bagName.Visible = true; bagName.Dock = DockStyle.Fill; flowLayoutPanel1.Controls.Add(bagName); bagDescription.FieldName = GetLabel("frmModule.gbDescription"); bagDescription.LblBag = _module.Description; bagDescription.Visible = true; bagDescription.Dock = DockStyle.Fill; flowLayoutPanel1.Controls.Add(bagDescription); }
public frmAccessRights() { InitializeComponent(); AllUserCollection = SynapseUser.Load(); AllProfileCollection = SynapseProfile.Load(); ModuleCollection = SynapseModule.Load(); olvUsers_USERID.ImageGetter = delegate(object row) { return(1); }; olvUsers2_USERID.ImageGetter = delegate(object row) { return(1); }; olvGroups_Group.ImageGetter = delegate(object row) { return(0); }; olvGroups_Description.AspectGetter = delegate(object x) { return(((SynapseProfile)x).Description.ToString()); }; olvGroups_Owner.AspectGetter = delegate(object x) { return(((SynapseProfile)x).IS_OWNER); }; olvGroups_Owner.Renderer = new MappedImageRenderer(new Object[] { true, imageList2.Images[0], "x", imageList2.Images[1] }); olvGroup2_Group.ImageGetter = delegate(object row) { return(0); }; olvGroup2_Owner.AspectGetter = delegate(object x) { return(((SynapseProfile)x).IS_OWNER); }; olvGroup2_Owner.Renderer = new MappedImageRenderer(new Object[] { true, imageList2.Images[0], "x", imageList2.Images[1] }); olvUserGroup_GroupName.ImageGetter = delegate(object row) { return(0); }; olvUserGroup_GroupName.AspectGetter = delegate(object x) { SynapseUser_Profile SUserProfile = (SynapseUser_Profile)x; foreach (SynapseProfile Sp in AllProfileCollection) { if (Sp.ID == SUserProfile.FK_SECURITY_PROFILE) { return(Sp.TECHNICALNAME); } } return("Unknown"); }; olvUserGroup_Description.AspectGetter = delegate(object x) { SynapseUser_Profile SUserProfile = (SynapseUser_Profile)x; foreach (SynapseProfile Sp in AllProfileCollection) { if (Sp.ID == SUserProfile.FK_SECURITY_PROFILE) { return(Sp.Description.ToString()); } } return(""); }; olvUserGroup_Module.AspectGetter = delegate(object x) { SynapseUser_Profile SUserProfile = (SynapseUser_Profile)x; foreach (SynapseProfile Sp in AllProfileCollection) { if (Sp.ID == SUserProfile.FK_SECURITY_PROFILE) { foreach (SynapseModule Module in ModuleCollection) { if (Module.ID == Sp.FK_ModuleID) { return(Module.FriendlyName); } } } } return("Unknown"); }; olvUserGroups.PrimarySortColumn = olvUserGroup_Module; olvGroupUsers_USERID.ImageGetter = delegate(object row) { return(1); }; olvGroupUsers_USERID.AspectGetter = delegate(object x) { SynapseUser_Profile SUserProfile = (SynapseUser_Profile)x; foreach (SynapseUser Su in AllUserCollection) { if (Su.ID == SUserProfile.FK_SECURITY_USER) { return(Su.UserID); } } return("Unknown"); }; olvGroupUsers_FIRSTNAME.AspectGetter = delegate(object x) { SynapseUser_Profile SUserProfile = (SynapseUser_Profile)x; foreach (SynapseUser Su in AllUserCollection) { if (Su.ID == SUserProfile.FK_SECURITY_USER) { return(Su.FIRSTNAME); } } return("Unknown"); }; olvGroupUsers_LASTNAME.AspectGetter = delegate(object x) { SynapseUser_Profile SUserProfile = (SynapseUser_Profile)x; foreach (SynapseUser Su in AllUserCollection) { if (Su.ID == SUserProfile.FK_SECURITY_USER) { return(Su.LASTNAME); } } return("Unknown"); }; olvGroupUsers.PrimarySortColumn = olvGroupUsers_USERID; }
private void fillModule() { cbModule.DataSource = SynapseModule.Load().OrderBy(x => x.FriendlyName.ToString()).ToList(); cbModule.DisplayMember = "FriendlyName"; cbModule.ValueMember = "ID"; }
void UserEditLoad(object sender, EventArgs e) { Hashtable LevelForProfile = new Hashtable(); this.ssl_StatusLabel.Text = FormUser.UserID; foreach (SynapseProfile Profile in SynapseForm.FormUser.Groups) { if (Profile.IS_OWNER) { ModuleIdFilter += Profile.FK_ModuleID + ","; if (!LevelForProfile.ContainsKey(Profile.FK_ModuleID)) { LevelForProfile.Add(Profile.FK_ModuleID, Profile.LEVEL); } else if ((Int64)LevelForProfile[Profile.FK_ModuleID] > Profile.LEVEL) { LevelForProfile[Profile.FK_ModuleID] = Profile.LEVEL; } } } var UserCollection = SynapseUser.Load(); if (SynapseForm.FormUser.IsMemberOf("SYNAPSE_SECURITY_ADMIN")) { ProfileCollection = SynapseProfile.Load(); } else if (ModuleIdFilter.Length > 1) { ProfileCollection = (from p in SynapseProfile.Load("WHERE FK_ModuleID in (" + ModuleIdFilter.TrimEnd(',') + ")") where p.LEVEL > (Int64)LevelForProfile[p.FK_ModuleID] select p).ToList(); } else { ProfileCollection = new List <SynapseProfile>(); } IList <SynapseProfile> AllProfileCollection; AllProfileCollection = SynapseProfile.Load(); ModuleCollection = SynapseModule.Load(); olvcGroups.ImageGetter = delegate(object row) { return(0); }; olvcUsers.ImageGetter = delegate(object row) { return(1); }; olvc_GroupName.ImageGetter = delegate(object row) { return(0); }; olvc_GroupName.AspectGetter = delegate(object x) { SynapseUser_Profile SUserProfile = (SynapseUser_Profile)x; foreach (SynapseProfile Sp in AllProfileCollection) { if (Sp.ID == SUserProfile.FK_SECURITY_PROFILE) { return(Sp.TECHNICALNAME); } } return("Unknown"); }; olvc_Module.AspectGetter = delegate(object x) { SynapseUser_Profile SUserProfile = (SynapseUser_Profile)x; foreach (SynapseProfile Sp in AllProfileCollection) { if (Sp.ID == SUserProfile.FK_SECURITY_PROFILE) { foreach (SynapseModule Module in ModuleCollection) { if (Module.ID == Sp.FK_ModuleID) { return(Module.FriendlyName); } } } } return("Unknown"); }; olv_GroupsOfUser.PrimarySortColumn = olvc_Module; olv_Groups.SetObjects(ProfileCollection); olv_Users.SetObjects(UserCollection); cb_Modules.DisplayMember = "FriendlyName"; cb_Modules.ValueMember = "ID"; cb_Modules.Items.Clear(); cb_Modules.Items.Add("ALL"); foreach (SynapseModule Mod in ModuleCollection) { cb_Modules.Items.Add(Mod); } cb_Modules.SelectedIndex = 0; }