private void NewUser_Click(object sender, EventArgs e) { frmUser fUser = new frmUser(); fUser.Action = "NEW"; fUser.User = new SynapseUser(); if (fUser.ShowDialog() == System.Windows.Forms.DialogResult.OK) { SynapseUser _user = fUser.User; olvUsers.AddObject(_user); olvUsers2.AddObject(_user); switch (tabControl1.SelectedIndex) { case 0: olvUsers.SelectedObject = _user; break; case 1: olvUsers2.SelectedObject = _user; break; } AllUserCollection = SynapseUser.Load(); } }
private void deleteToolStripMenuItem_Click(object sender, EventArgs e) { if (ctxmenu_Edit.SourceControl == olv_Groups && olv_Groups.SelectedObject != null) { var users = SynapseUser.LoadFromQuery("SELECT * FROM [SYNAPSE].[dbo].[V_Synapse_UserGroups] WHERE P_TECHNICALNAME = '" + ((SynapseProfile)olv_Groups.SelectedObject).TECHNICALNAME + "'"); if (users.Count == 0) { ((SynapseProfile)olv_Groups.SelectedObject).delete(); olv_Groups.RemoveObject(olv_Groups.SelectedObject); } else { string text = string.Empty; foreach (SynapseUser user in users) { text += string.Format("{0} {1} ({2})\n", user.FIRSTNAME, user.LASTNAME, user.UserID); } MessageBox.Show("There are still some users assigned to this group please delete them first\n" + text, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } if (ctxmenu_Edit.SourceControl == olv_Users && olv_Users.SelectedObject != null) { var usergroups = SynapseUser_Profile.Load("WHERE FK_SECURITY_USER = " + ((SynapseUser)olv_Users.SelectedObject).ID); foreach (SynapseUser_Profile sup in usergroups) { sup.delete(); } ((SynapseUser)olv_Users.SelectedObject).delete(); olv_Users.RemoveObject(olv_Users.SelectedObject); olv_GroupsOfUser.Clear(); } }
private void DeleteUser_Click(object sender, EventArgs e) { SynapseUser _user = new SynapseUser(); switch (tabControl1.SelectedIndex) { case 0: _user = (SynapseUser)olvUsers.SelectedObject; break; case 1: _user = (SynapseUser)olvUsers2.SelectedObject; break; } if (MessageBox.Show(GetLabel("Quest.0001"), GetLabel("Quest"), MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes) { var usergroups = SynapseUser_Profile.Load("WHERE FK_SECURITY_USER = " + _user.ID); foreach (SynapseUser_Profile sup in usergroups) { sup.delete(); } olvUsers.RemoveObject(_user); olvUsers2.RemoveObject(_user); _user.delete(); AllUserCollection = SynapseUser.Load(); olvUserGroups.Items.Clear(); } }
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); } }
public override void initForm(SynapseCore.Security.Tools.SecureAndTranslateMode Mode) { base.initForm(Mode); ModuleCollection = SynapseModule.Load(); AllUserCollection = SynapseUser.Load(); AllProfileCollection = SynapseProfile.Load(); initTree(); }
void btn_NewUserClick(object sender, EventArgs e) { SynapseUser SUser = new SynapseUser(); frmUserEdit UserEditForm = new frmUserEdit(ref SUser); if (UserEditForm.ShowDialog() == DialogResult.OK) { SUser.save(); olv_Users.AddObject(SUser); } }
private void btn_RefreshUsers_Click(object sender, EventArgs e) { olv_PRDUSERS.ClearObjects(); olv_ACCUSERS.ClearObjects(); Prd_Users = SynapseUser.Load(); Acc_Users = ACCSynapseUser.Load(); Prd_UserProfiles = SynapseUser_Profile.Load(); Acc_UserProfiles = ACCSynapseUser_Profile.Load(); olv_ACCUSERS.SetObjects(Acc_Users.OrderBy(au => au.UserID)); olv_PRDUSERS.SetObjects(Prd_Users.OrderBy(pu => pu.UserID)); }
private bool isUserAlreadyAssociated(SynapseUser user) { foreach (SynapseUser_Profile link in olvGroupUsers.Objects) { if (user.ID == link.FK_SECURITY_USER) { return(true); } } return(false); }
public frmUserEdit(ref SynapseUser User) { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); CurrentUser = User; // // TODO: Add constructor code after the InitializeComponent() call. // }
private void addUserToGroup(SynapseUser user) { if (!isUserAlreadyAssociated(user)) { SynapseUser_Profile link = new SynapseUser_Profile(); link.FK_SECURITY_PROFILE = _currentGroup; link.FK_SECURITY_USER = user.ID; link.save(); olvGroupUsers.AddObject(link); } }
private void DeleteGroup_Click(object sender, EventArgs e) { SynapseProfile _profile = new SynapseProfile(); switch (tabControl1.SelectedIndex) { case 0: _profile = (SynapseProfile)olvGroups.SelectedObject; break; case 1: _profile = (SynapseProfile)olvGroups2.SelectedObject; break; } var users = SynapseUser.LoadFromQuery("SELECT * FROM [SYNAPSE].[dbo].[V_Synapse_UserGroups] WHERE P_TECHNICALNAME = '" + _profile.TECHNICALNAME + "'"); if (users.Count == 0) { if (MessageBox.Show(GetLabel("Quest.0002"), GetLabel("Quest"), MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes) { SynapseCore.Database.DBFunction.StartTransaction(); try { foreach (SynapseLabel obj in _profile.Description.Labels) { obj.delete(); } _profile.delete(); SynapseCore.Database.DBFunction.CommitTransaction(); olvGroups.RemoveObject(_profile); olvGroups2.RemoveObject(_profile); } catch (Exception ex) { SynapseCore.Database.DBFunction.RollbackTransaction(); MessageBox.Show("Data not deleted from Database:" + ex.Message, "Database Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { string text = string.Empty; foreach (SynapseUser user in users) { text += string.Format("{0} {1} ({2})\n", user.FIRSTNAME, user.LASTNAME, user.UserID); } MessageBox.Show(GetLabel("Err.0003") + text, GetLabel("Err"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void listUsersToolStripMenuItem_Click(object sender, EventArgs e) { if (ctxmenu_Edit.SourceControl == olv_Groups && olv_Groups.SelectedObject != null) { var users = SynapseUser.LoadFromQuery("SELECT * FROM [SYNAPSE].[dbo].[V_Synapse_UserGroups] WHERE P_TECHNICALNAME = '" + ((SynapseProfile)olv_Groups.SelectedObject).TECHNICALNAME + "'"); string text = string.Empty; foreach (SynapseUser user in users) { text += string.Format("{0} {1} ({2})\n", user.FIRSTNAME, user.LASTNAME, user.UserID); } MessageBox.Show(text, "List of users", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private List <SynapseUser> getUsers(Int64 profileID) { IList <SynapseUser> userList; if (profileID == 0) { userList = SynapseUser.Load(); } else { 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 = " + profileID); } return(userList.OrderBy(n => n.UserID.ToString()).ToList()); }
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 fillUsers() { olvUsers.Items.Clear(); tsbEditUser.Enabled = false; tsbDeleteUser.Enabled = false; ctxEditUser.Enabled = false; ctxDeleteUser.Enabled = false; mnuEditUser.Enabled = false; mnuDeleteUser.Enabled = false; IList <SynapseUser> userList = SynapseUser.Load(); olvUsers.SetObjects(userList); olvUsers2.SetObjects(userList); }
private void btn_SyncUserDB_Click(object sender, EventArgs e) { foreach (ACCSynapseUser auser in Acc_Users) { SynapseUser puser = SynapseUser.LoadByUserID(auser.UserID); if (puser.UserID != auser.UserID) { puser = new SynapseUser(); puser.CULTURE = auser.CULTURE; puser.FIRSTNAME = auser.FIRSTNAME; puser.LASTNAME = auser.LASTNAME; puser.UserID = auser.UserID; puser.save(); } } foreach (SynapseUser puser in Prd_Users) { ACCSynapseUser auser = ACCSynapseUser.LoadByUserID(puser.UserID); if (puser.UserID != auser.UserID) { auser = new ACCSynapseUser(); auser.CULTURE = puser.CULTURE; auser.FIRSTNAME = puser.FIRSTNAME; auser.LASTNAME = puser.LASTNAME; auser.UserID = puser.UserID; auser.save(); } } AccToPrdID = ACCTOPRD.Load("WHERE PRDID<>0"); foreach (ACCSynapseUser auser in Acc_Users) { SynapseUser puser = SynapseUser.LoadByUserID(auser.UserID); if (puser == null) { ACCTOPRD lnk = AccToPrdID.Where(a => a.ACCID == auser.ID && a.PRDID == puser.ID && a.OBJECTTYPE == typeof(ACCSynapseUser).Name).FirstOrDefault(); if (lnk == null) { lnk = new ACCTOPRD(); lnk.OBJECTTYPE = typeof(ACCSynapseUser).Name; lnk.ACCID = auser.ID; lnk.PRDID = puser.ID; } } } }
private void olvUsers_SelectedIndexChanged(object sender, EventArgs e) { tsbAddUserGroup.Enabled = false; ctxAddUserGroup.Enabled = false; mnuAddUserGroup.Enabled = false; if (olvUsers.SelectedItems.Count > 0) { tsbEditUser.Enabled = true; tsbDeleteUser.Enabled = true; ctxEditUser.Enabled = true; ctxDeleteUser.Enabled = true; mnuEditUser.Enabled = true; mnuDeleteUser.Enabled = true; SynapseUser User = ((SynapseUser)olvUsers.SelectedObject); _currentUser = User.ID; lbSelectedUser.Text = User.FIRSTNAME + " " + User.LASTNAME; fillUserGroups(); if (olvGroups.SelectedItems.Count > 0) { tsbAddUserGroup.Enabled = true; ctxAddUserGroup.Enabled = true; mnuAddUserGroup.Enabled = true; } } else { tsbEditUser.Enabled = false; tsbDeleteUser.Enabled = false; ctxEditUser.Enabled = false; ctxDeleteUser.Enabled = false; mnuEditUser.Enabled = false; mnuDeleteUser.Enabled = false; _currentUser = 0; lbSelectedUser.Text = ""; olvUserGroups.Items.Clear(); } }
void Olv_UsersSelectedIndexChanged(object sender, EventArgs e) { if (olv_Users.SelectedObject != null) { SynapseUser User = ((SynapseUser)olv_Users.SelectedObject); Int64 SelectedUser = User.ID; CurrentUser = SelectedUser; lbl_SelectedUser.Text = User.FIRSTNAME + " " + User.LASTNAME; var UserProfiles = SynapseUser_Profile.Load("WHERE FK_SECURITY_USER="******""; } }
private void EditUser_Click(object sender, EventArgs e) { SynapseUser _user = new SynapseUser(); switch (tabControl1.SelectedIndex) { case 0: _user = (SynapseUser)olvUsers.SelectedObject; break; case 1: _user = (SynapseUser)olvUsers2.SelectedObject; break; } frmUser fUser = new frmUser(); fUser.Action = "EDIT"; fUser.User = _user; if (fUser.ShowDialog() == System.Windows.Forms.DialogResult.OK) { _user = fUser.User; olvUsers.RefreshObject(_user); olvUsers2.RefreshObject(_user); switch (tabControl1.SelectedIndex) { case 0: olvUsers.SelectedObject = _user; olvUsers2.SelectedObject = null; break; case 1: olvUsers.SelectedObject = null; olvUsers2.SelectedObject = _user; break; } AllUserCollection = SynapseUser.Load(); } }
private void olvUsers2_SelectedIndexChanged(object sender, EventArgs e) { tsbAddUserToGroup.Enabled = false; ctxAddUserToGroup.Enabled = false; mnuAddUserToGroup.Enabled = false; if (olvUsers2.SelectedItems.Count > 0) { tsbEditUser2.Enabled = true; tsbDeleteUser2.Enabled = true; ctxEditUser.Enabled = true; ctxDeleteUser.Enabled = true; mnuEditUser.Enabled = true; mnuDeleteUser.Enabled = true; SynapseUser User = ((SynapseUser)olvUsers2.SelectedObject); _currentUser = User.ID; if (olvGroups2.SelectedItems.Count > 0) { tsbAddUserToGroup.Enabled = true; ctxAddUserToGroup.Enabled = true; mnuAddUserToGroup.Enabled = true; } } else { tsbEditUser2.Enabled = false; tsbDeleteUser2.Enabled = false; ctxEditUser.Enabled = false; ctxDeleteUser.Enabled = false; mnuEditUser.Enabled = false; mnuDeleteUser.Enabled = false; _currentUser = 0; } olvGroupUsers.SelectedObject = null; }
private Boolean checkFields() { synapseErrorProvider1.SetError(txUserid, ""); synapseErrorProvider1.SetError(txFirstName, ""); synapseErrorProvider1.SetError(txLastName, ""); IList <SynapseUser> _users = SynapseUser.Load("WHERE USERID='" + txUserid.Text + "' AND ID <> " + _user.ID); if (_users.Count > 0) { synapseErrorProvider1.SetError(txUserid, GetLabel("Err.0015")); MessageBox.Show(GetLabel("Err.0015"), GetLabel("Err"), MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } txUserid.MandatoryErrorMessage = GetLabel("Err.0016"); txFirstName.MandatoryErrorMessage = GetLabel("Err.0017"); txLastName.MandatoryErrorMessage = GetLabel("Err.0018"); synapseErrorProvider1.ShowMessageBox = true; return(synapseErrorProvider1.ValidateControls()); }
private void treeMain_SelectedIndexChanged(object sender, EventArgs e) { //olvGroupUsers.Items.Clear(); if (treeMain.SelectedObject != null) { if (treeMain.SelectedObject is string) { if ((string)treeMain.SelectedObject == "USERS") { lbSelected.Text = "USERS"; olvGroupUsers.SetObjects(SynapseUser.Load().OrderBy(x => x.UserID.ToString()).ToList()); olvGroupUsers.Visible = true; lbEmpty.Visible = false; return; } } if (treeMain.SelectedObject is SynapseProfile) { if (treeMain.GetParent(treeMain.SelectedObject) is UserGroups) { } else { lbSelected.Text = ((SynapseProfile)treeMain.SelectedObject).TECHNICALNAME; olvGroupUsers.SetObjects(getUsers(((SynapseProfile)treeMain.SelectedObject).ID)); olvGroupUsers.Visible = true; lbEmpty.Visible = false; return; } } lbEmpty.Visible = true; lbSelected.Text = ""; olvGroupUsers.Visible = false; } }
public IList <SynapseUser> GetOwners() { return(SynapseUser.LoadFromQuery("SELECT DISTINCT dbo.Synapse_Security_User.* FROM dbo.Synapse_Security_Profile INNER JOIN dbo.[Synapse_Security_User Profile] ON dbo.Synapse_Security_Profile.ID = dbo.[Synapse_Security_User Profile].FK_SECURITY_PROFILE INNER JOIN dbo.Synapse_Security_User ON dbo.[Synapse_Security_User Profile].FK_SECURITY_USER = dbo.Synapse_Security_User.ID WHERE (dbo.Synapse_Security_Profile.IS_OWNER = 1) and dbo.Synapse_Security_Profile.FK_MODULEID=" + this.ID.ToString())); }
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; }
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 }
private void btn_analyse_Click(object sender, EventArgs e) { Presentation.Clear(); string[] ids = (from id in olv_Modules.CheckedObjects.Cast <SynapseModule>() select id.ID.ToString()).ToArray(); string str_id = string.Join(",", ids); Prd_Users = SynapseUser.Load(); Acc_Users = ACCSynapseUser.Load(); obj_sync pr = new obj_sync(); pr.Name = typeof(SynapseUser).FullName; pr.PrdCnt = Prd_Users.Count; pr.AccCnt = Acc_Users.Count; pr.Link = (from l in AccToPrdID where l.OBJECTTYPE == typeof(ACCSynapseUser).Name select l).Count(); Presentation.Add(pr); Prd_Profiles = SynapseProfile.Load("WHERE FK_MODULEID in (" + str_id + ")"); Acc_Profiles = ACCSynapseProfile.Load("WHERE FK_MODULEID in (" + str_id + ")"); pr = new obj_sync(); pr.Name = typeof(SynapseProfile).FullName; pr.PrdCnt = Prd_Profiles.Count; pr.AccCnt = Acc_Profiles.Count; IList <Int64> Acc_Profiles_IDs = (from i in Acc_Profiles select i.ID).ToList(); pr.Link = (from l in AccToPrdID where l.OBJECTTYPE == typeof(ACCSynapseProfile).Name && Acc_Profiles_IDs.Contains(l.ACCID) select l).Count(); Presentation.Add(pr); string Prd_ProfilesID = string.Join(",", (from p in Prd_Profiles select p.ID.ToString()).ToArray()); string Acc_ProfilesID = string.Join(",", (from p in Acc_Profiles select p.ID.ToString()).ToArray()); Prd_Controls = SynapseControl.Load("WHERE FK_MODULE_ID in (" + str_id + ")"); Acc_Controls = ACCSynapseControl.Load("WHERE FK_MODULE_ID in (" + str_id + ")"); pr = new obj_sync(); pr.Name = typeof(SynapseControl).FullName; pr.PrdCnt = Prd_Controls.Count; pr.AccCnt = Acc_Controls.Count; IList <Int64> Acc_Controls_IDs = (from i in Acc_Controls select i.ID).ToList(); pr.Link = (from l in AccToPrdID where l.OBJECTTYPE == typeof(ACCSynapseControl).Name && Acc_Controls_IDs.Contains(l.ACCID) select l).Count(); Presentation.Add(pr); string Prd_ControlsID = string.Join(",", (from c in Prd_Controls select c.ID.ToString()).ToArray()); string Acc_ControlsID = string.Join(",", (from c in Acc_Controls select c.ID.ToString()).ToArray()); if (Prd_ControlsID.Length <= 0) { Prd_ProfileControls = new List <SynapseProfile_Control>(); } else { Prd_ProfileControls = SynapseProfile_Control.Load("WHERE FK_CONTROLID in (" + Prd_ControlsID + ")"); } try { Acc_ProfileControls = ACCSynapseProfile_Control.Load("WHERE FK_CONTROLID in (" + Acc_ControlsID + ")"); } catch { Acc_ProfileControls = new List <ACCSynapseProfile_Control>(); } pr = new obj_sync(); pr.Name = typeof(SynapseProfile_Control).FullName; pr.PrdCnt = Prd_ProfileControls.Count; pr.AccCnt = Acc_ProfileControls.Count; IList <Int64> Acc_ProfileControls_IDs = (from i in Acc_ProfileControls select i.ID).ToList(); pr.Link = (from l in AccToPrdID where l.OBJECTTYPE == typeof(ACCSynapseProfile_Control).Name && Acc_ProfileControls_IDs.Contains(l.ACCID) select l).Count(); Presentation.Add(pr); if (Prd_ProfilesID.Length <= 0) { Prd_UserProfiles = new List <SynapseUser_Profile>(); } else { Prd_UserProfiles = SynapseUser_Profile.Load("WHERE FK_SECURITY_PROFILE in (" + Prd_ProfilesID + ")"); } Acc_UserProfiles = ACCSynapseUser_Profile.Load("WHERE FK_SECURITY_PROFILE in (" + Acc_ProfilesID + ")"); pr = new obj_sync(); pr.Name = typeof(SynapseUser_Profile).FullName; pr.PrdCnt = Prd_UserProfiles.Count; pr.AccCnt = Acc_UserProfiles.Count; IList <Int64> Acc_UserProfiles_IDs = (from i in Acc_UserProfiles select i.ID).ToList(); pr.Link = (from l in AccToPrdID where l.OBJECTTYPE == typeof(ACCSynapseUser_Profile).Name && Acc_UserProfiles_IDs.Contains(l.ACCID) select l).Count(); Presentation.Add(pr); olv_analyse.SetObjects(Presentation); }
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 btn_Sync_Click(object sender, EventArgs e) { AccToPrdID = ACCTOPRD.Load("WHERE PRDID<>0"); Int64 UsersCount = 0; Int64 ControlsCount = 0; Int64 ProfilesCount = 0; Int64 ProfileControlsCount = 0; Int64 UserAssignmentCount = 0; richTextBox1.Clear(); if (chk_SyncUser.Checked) { // ======= Create user in prod ======== foreach (ACCSynapseUser A_user in from au in Acc_Users where au.PrdID(AccToPrdID) == 0 select au) { if (chk_verbose.Checked) { richTextBox1.AppendText(A_user.GetType().Name + ": " + A_user.UserID + "\n"); } SynapseUser user = new SynapseUser(); CopyProperties(user, A_user); user.ID = 0; if (chk_save.Checked) { user.save(); } UsersCount++; CreateLinkEntry(A_user, A_user.ID, user.ID); } } // ======= Create controls in prod ======== foreach (ACCSynapseControl A_ctrl in from ac in Acc_Controls where ac.PrdID(AccToPrdID) == 0 select ac) { if (chk_verbose.Checked) { richTextBox1.AppendText(A_ctrl.GetType().Name + ": " + A_ctrl.CTRL_NAME + "\n"); } SynapseControl ctrl = new SynapseControl(); CopyProperties(ctrl, A_ctrl); ctrl.ID = 0; if (chk_save.Checked) { ctrl.save(); } ControlsCount++; CreateLinkEntry(A_ctrl, A_ctrl.ID, ctrl.ID); } // ======= Create profiles in prod ======== foreach (ACCSynapseProfile A_prof in from ap in Acc_Profiles where ap.PrdID(AccToPrdID) == 0 select ap) { if (chk_verbose.Checked) { richTextBox1.AppendText(A_prof.GetType().Name + ": " + A_prof.TECHNICALNAME + "\n"); } SynapseProfile prof = new SynapseProfile(); CopyProperties(prof, A_prof); prof.ID = 0; if (chk_save.Checked) { prof.save(); } ProfilesCount++; CreateLinkEntry(A_prof, A_prof.ID, prof.ID); } // ======= Create link control-profile in prod ======== foreach (ACCSynapseProfile_Control A_profControl in from apc in Acc_ProfileControls where apc.PrdID(AccToPrdID) == 0 select apc) { if (chk_verbose.Checked) { richTextBox1.AppendText(A_profControl.GetType().Name + ": " + A_profControl.FK_PROFILEID + "=>" + A_profControl.FK_CONTROLID + "\n"); } SynapseProfile_Control ProfControl = new SynapseProfile_Control(); ProfControl.IS_ACTIVE = A_profControl.IS_ACTIVE; ProfControl.IS_VISIBLE = A_profControl.IS_VISIBLE; try { ProfControl.FK_CONTROLID = AccToPrdID.ConvertID(typeof(ACCSynapseControl), A_profControl.FK_CONTROLID); ProfControl.FK_PROFILEID = AccToPrdID.ConvertID(typeof(ACCSynapseProfile), A_profControl.FK_PROFILEID); if (chk_save.Checked) { ProfControl.save(); } ProfileControlsCount++; CreateLinkEntry(A_profControl, A_profControl.ID, ProfControl.ID); } catch (MissingFieldException ex) { richTextBox1.AppendText("ERROR(" + ex.Message + "): " + A_profControl.GetType().Name + ": " + A_profControl.FK_PROFILEID + "=>" + A_profControl.FK_CONTROLID + "\n", Color.Red); richTextBox1.ScrollToCaret(); } catch (KeyNotFoundException ex) { richTextBox1.AppendText("WARNING(" + ex.Message + "): " + A_profControl.GetType().Name + ": " + A_profControl.FK_PROFILEID + "=>" + A_profControl.FK_CONTROLID + "\n", Color.Orange); richTextBox1.ScrollToCaret(); } } if (chk_UserAssignment.Checked) { // ======= Create link user-profile in prod ======== foreach (ACCSynapseUser_Profile A_userP in from aup in Acc_UserProfiles where aup.PrdID(AccToPrdID) == 0 select aup) { if (chk_verbose.Checked) { richTextBox1.AppendText(A_userP.GetType().Name + ": " + A_userP.FK_SECURITY_PROFILE + "=>" + A_userP.FK_SECURITY_USER + "\n"); } SynapseUser_Profile UserProf = new SynapseUser_Profile(); try { UserProf.FK_SECURITY_PROFILE = AccToPrdID.ConvertID(typeof(ACCSynapseProfile), A_userP.FK_SECURITY_PROFILE); UserProf.FK_SECURITY_USER = AccToPrdID.ConvertID(typeof(ACCSynapseUser), A_userP.FK_SECURITY_USER); if (chk_save.Checked) { UserProf.save(); } UserAssignmentCount++; CreateLinkEntry(A_userP, A_userP.ID, UserProf.ID); } catch (MissingFieldException ex) { richTextBox1.AppendText("ERROR(" + ex.Message + "): " + A_userP.GetType().Name + ": " + A_userP.FK_SECURITY_PROFILE + "=>" + A_userP.FK_SECURITY_USER + "\n", Color.Red); richTextBox1.ScrollToCaret(); } catch (KeyNotFoundException ex) { richTextBox1.AppendText("WARNING(" + ex.Message + "): " + A_userP.GetType().Name + ": " + A_userP.FK_SECURITY_PROFILE + "=>" + A_userP.FK_SECURITY_USER + "\n", Color.Orange); richTextBox1.ScrollToCaret(); } } } if (chk_save.Checked) { foreach (ACCTOPRD atp in from l in AccToPrdID where l.ID == 0 select l) { atp.save(); } } Int64 lnk = 0; richTextBox1.AppendText(UsersCount + " Users will be added", Color.Blue); lnk = AccToPrdID.Where(l => l.ID == 0 && l.OBJECTTYPE == typeof(ACCSynapseUser).Name).Count(); richTextBox1.AppendText(" with " + lnk + " new links\n", UsersCount == lnk ? Color.Blue : Color.Red); richTextBox1.AppendText(ControlsCount + " Controls will be added", Color.Blue); lnk = AccToPrdID.Where(l => l.ID == 0 && l.OBJECTTYPE == typeof(ACCSynapseControl).Name).Count(); richTextBox1.AppendText(" with " + lnk + " new links\n", ControlsCount == lnk ? Color.Blue : Color.Red); richTextBox1.AppendText(ProfilesCount + " Profiles will be added", Color.Blue); lnk = AccToPrdID.Where(l => l.ID == 0 && l.OBJECTTYPE == typeof(ACCSynapseProfile).Name).Count(); richTextBox1.AppendText(" with " + lnk + " new links\n", ProfilesCount == lnk ? Color.Blue : Color.Red); richTextBox1.AppendText(ProfileControlsCount + " Profile-Control link will be added", Color.Blue); lnk = AccToPrdID.Where(l => l.ID == 0 && l.OBJECTTYPE == typeof(ACCSynapseProfile_Control).Name).Count(); richTextBox1.AppendText(" with " + lnk + " new links\n", ProfileControlsCount == lnk ? Color.Blue : Color.Red); richTextBox1.AppendText(UserAssignmentCount + " Users assignments will be added", Color.Blue); lnk = AccToPrdID.Where(l => l.ID == 0 && l.OBJECTTYPE == typeof(ACCSynapseUser_Profile).Name).Count(); richTextBox1.AppendText(" with " + lnk + " new links\n", UserAssignmentCount == lnk ? Color.Blue : Color.Red); richTextBox1.ScrollToCaret(); }
private async Task <SynapseUser> AutoProvisionUserAsync(string provider, string providerUserId, IEnumerable <Claim> claims) { // create a list of claims that we want to transfer into our store var filtered = new List <Claim>(); // user's display name var name = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.Name)?.Value ?? claims.FirstOrDefault(x => x.Type == ClaimTypes.Name)?.Value; if (name != null) { filtered.Add(new Claim(JwtClaimTypes.Name, name)); } else { var first = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.GivenName)?.Value ?? claims.FirstOrDefault(x => x.Type == ClaimTypes.GivenName)?.Value; var last = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.FamilyName)?.Value ?? claims.FirstOrDefault(x => x.Type == ClaimTypes.Surname)?.Value; if (first != null && last != null) { filtered.Add(new Claim(JwtClaimTypes.Name, first + " " + last)); } else if (first != null) { filtered.Add(new Claim(JwtClaimTypes.Name, first)); } else if (last != null) { filtered.Add(new Claim(JwtClaimTypes.Name, last)); } } // email var email = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.Email)?.Value ?? claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value; if (email != null) { filtered.Add(new Claim(JwtClaimTypes.Email, email)); } var user = new SynapseUser { UserName = Guid.NewGuid().ToString(), }; var identityResult = await _userManager.CreateAsync(user); if (!identityResult.Succeeded) { throw new Exception(identityResult.Errors.First().Description); } if (filtered.Any()) { identityResult = await _userManager.AddClaimsAsync(user, filtered); if (!identityResult.Succeeded) { throw new Exception(identityResult.Errors.First().Description); } } identityResult = await _userManager.AddLoginAsync(user, new UserLoginInfo(provider, providerUserId, provider)); if (!identityResult.Succeeded) { throw new Exception(identityResult.Errors.First().Description); } return(user); }