示例#1
0
        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());
        }
示例#2
0
        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);
        }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
        }
示例#5
0
        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;
        }
示例#6
0
        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();
            }
        }
示例#7
0
        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);
                }
            }
        }
示例#8
0
 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;
     }
 }
示例#9
0
        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();
                }
            }
        }
示例#10
0
        public override void initForm(SynapseCore.Security.Tools.SecureAndTranslateMode Mode)
        {
            base.initForm(Mode);

            ModuleCollection     = SynapseModule.Load();
            AllUserCollection    = SynapseUser.Load();
            AllProfileCollection = SynapseProfile.Load();
            initTree();
        }
示例#11
0
 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);
     }
 }
示例#12
0
 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);
     }
 }
示例#13
0
        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);
                }
            }
        }
示例#14
0
 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;
 }
示例#15
0
        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;
            }
        }
示例#16
0
        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();
                        }
                    }
                }
            }
        }
示例#17
0
 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();
 }
示例#18
0
        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";
        }
示例#19
0
        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;
        }
示例#20
0
        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;
                }
            }
        }
示例#21
0
        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();
        }
示例#22
0
        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);
                    }
                }
            }
        }
示例#23
0
        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);
        }
示例#24
0
        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);
            }
        }
示例#25
0
        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);
            }
        }
示例#26
0
        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
        }
示例#27
0
        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);
        }
示例#28
0
        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;
        }
示例#29
0
 private void fillModule()
 {
     cbModule.DataSource    = SynapseModule.Load().OrderBy(x => x.FriendlyName.ToString()).ToList();
     cbModule.DisplayMember = "FriendlyName";
     cbModule.ValueMember   = "ID";
 }
示例#30
0
        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;
        }