///<summary></summary> public static void Update(UserGroup group){ if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) { Meth.GetVoid(MethodBase.GetCurrentMethod(),group); return; } Crud.UserGroupCrud.Update(group); }
///<summary></summary> public UserGroup Copy() { UserGroup u=new UserGroup(); u.UserGroupNum=UserGroupNum; u.Description=Description; return u; }
///<summary></summary> public static long Insert(UserGroup group) { if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) { group.UserGroupNum=Meth.GetLong(MethodBase.GetCurrentMethod(),group); return group.UserGroupNum; } return Crud.UserGroupCrud.Insert(group); }
///<summary></summary> public FormUserGroupEdit(UserGroup curGroup) { // // Required for Windows Form Designer support // InitializeComponent(); Lan.F(this); CurGroup=curGroup.Copy(); }
private void butAddGroup_Click(object sender,EventArgs e) { UserGroup group=new UserGroup(); group.IsNew=true; FormCentralUserGroupEdit FormU=new FormCentralUserGroupEdit(group); FormU.ShowDialog(); if(FormU.DialogResult==DialogResult.Cancel) { return; } FillList(); }
///<summary>Only called from the CEMT in order to update a remote database with changes. This method will update rows based on the UserGroupNumCEMT instead of the typical UserGroupNum column.</summary> public static void UpdateCEMT(UserGroup userGroupCEMT) { if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) { Meth.GetVoid(MethodBase.GetCurrentMethod(),userGroupCEMT); return; } string command="UPDATE usergroup SET " +"Description = '"+POut.String(userGroupCEMT.Description)+"' " +"WHERE UserGroupNumCEMT = "+POut.Long(userGroupCEMT.UserGroupNum); Db.NonQ(command); }
///<summary>Checks for dependencies first</summary> public static void Delete(UserGroup group){ if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) { Meth.GetVoid(MethodBase.GetCurrentMethod(),group); return; } string command="SELECT COUNT(*) FROM userod WHERE UserGroupNum='" +POut.Long(group.UserGroupNum)+"'"; DataTable table=Db.GetTable(command); if(table.Rows[0][0].ToString()!="0"){ throw new Exception(Lans.g("UserGroups","Must move users to another group first.")); } command= "DELETE FROM usergroup WHERE UserGroupNum='" +POut.Long(group.UserGroupNum)+"'"; Db.NonQ(command); }
public FormCentralUserGroupEdit(UserGroup userGroup) { InitializeComponent(); _groupCur=userGroup; }
private void butOK_Click(object sender,EventArgs e) { if(listGroups.SelectedIndex==-1) { MsgBox.Show(this,"Select a group."); return; } UserGroup=_listUserGroups[listGroups.SelectedIndex]; DialogResult=DialogResult.OK; }
private void listGroups_DoubleClick(object sender,EventArgs e) { if(listGroups.SelectedIndex==-1) { return; } UserGroup=_listUserGroups[listGroups.SelectedIndex]; DialogResult=DialogResult.OK; }
public CentralUserData(UserGroup userGroup,List<Userod> listUsers,List<GroupPermission> listGroupPermissions) { UserGroup=userGroup; ListUsers=listUsers; ListGroupPermissions=listGroupPermissions; }
///<summary>Checks for dependencies first</summary> public static void Delete(UserGroup group){ if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) { Meth.GetVoid(MethodBase.GetCurrentMethod(),group); return; } string command="SELECT COUNT(*) FROM userod WHERE UserGroupNum='" +POut.Long(group.UserGroupNum)+"'"; DataTable table=Db.GetTable(command); if(table.Rows[0][0].ToString()!="0"){ throw new Exception(Lans.g("UserGroups","Must move users to another group first.")); } if(PrefC.GetLong(PrefName.SecurityGroupForStudents)==group.UserGroupNum) { throw new Exception(Lans.g("UserGroups","Group is the default group for students and cannot be deleted. Change the default student group before deleting.")); } if(PrefC.GetLong(PrefName.SecurityGroupForInstructors)==group.UserGroupNum) { throw new Exception(Lans.g("UserGroups","Group is the default group for instructors and cannot be deleted. Change the default instructors group before deleting.")); } command= "DELETE FROM usergroup WHERE UserGroupNum='" +POut.Long(group.UserGroupNum)+"'"; Db.NonQ(command); command="DELETE FROM grouppermission WHERE UserGroupNum='" +POut.Long(group.UserGroupNum)+"'"; Db.NonQ(command); }
///<summary>Updates all students/instructors to the specified user group. Surround with try/catch because it can throw exceptions.</summary> public static void UpdateUserGroupsForDentalSchools(UserGroup userGroup,bool isInstructor) { if(RemotingClient.RemotingRole==RemotingRole.ClientWeb) { Meth.GetVoid(MethodBase.GetCurrentMethod(),userGroup,isInstructor); return; } string command; //Check if the user group that the students or instructors are trying to go to has the SecurityAdmin permission. if(!GroupPermissions.HasPermission(userGroup.UserGroupNum,Permissions.SecurityAdmin)) { //We need to make sure that moving these users to the new user group does not eliminate all SecurityAdmin users in db. command="SELECT COUNT(*) FROM userod " +"INNER JOIN usergroup ON userod.UserGroupNum=usergroup.UserGroupNum " +"INNER JOIN grouppermission ON grouppermission.UserGroupNum=usergroup.UserGroupNum " +"WHERE userod.UserNum NOT IN " +"(SELECT userod.UserNum FROM userod,provider " +"WHERE userod.ProvNum=provider.ProvNum "; if(!isInstructor) { command+="AND provider.IsInstructor="+POut.Bool(isInstructor)+" "; command+="AND provider.SchoolClassNum!=0) "; } else { command+="AND provider.IsInstructor="+POut.Bool(isInstructor)+") "; } command+="AND grouppermission.PermType="+POut.Int((int)Permissions.SecurityAdmin)+" "; int lastAdmin=PIn.Int(Db.GetCount(command)); if(lastAdmin==0) { throw new Exception("Cannot move students or instructors to the new user group because it would leave no users with the SecurityAdmin permission."); } } command="UPDATE userod INNER JOIN provider ON userod.ProvNum=provider.ProvNum " +"SET UserGroupNum="+POut.Long(userGroup.UserGroupNum)+" " +"WHERE provider.IsInstructor="+POut.Bool(isInstructor); if(!isInstructor) { command+=" AND provider.SchoolClassNum!=0"; } Db.NonQ(command); }