public void ExportClicked(object sender, EventArgs e) { WriteLog("Starting export"); List<Role> roles = new List<Role>(); URM.UserRoleManager urmServer = new URM.UserRoleManager(); using (urmServer.CreateConnection()) { urmServer.Connection.Open(ConnectionString); WriteLog("Connected to K2 server"); string[] serverRoles = urmServer.GetRoleNameList(); foreach (string role in serverRoles) { WriteLog("Exporting role {0}", role); URM.Role urmRole = urmServer.GetRole(role); Role r = this.CopyToLocalRole(urmRole); roles.Add(r); } WriteLog("Writing {0} roles to XML file", roles.Count); XmlSerializer xmlSer = new XmlSerializer(roles.GetType()); XmlTextWriter writer = new XmlTextWriter(txtFileLocation.Text, Encoding.Unicode); writer.Formatting = Formatting.Indented; xmlSer.Serialize(writer, roles); writer.Flush(); writer.Close(); WriteLog("Closing K2 connection."); } }
public void ImportClicked(object sender, EventArgs e) { WriteLog("Starting import"); XmlSerializer xmlSer = new XmlSerializer(typeof(List<Role>)); XmlTextReader reader = new XmlTextReader(txtFileLocation.Text); List<Role> roles = (List<Role>)xmlSer.Deserialize(reader); reader.Close(); WriteLog("Read {0} roles", roles.Count); URM.UserRoleManager urmServer = new URM.UserRoleManager(); using (urmServer.CreateConnection()) { urmServer.Connection.Open(ConnectionString); WriteLog("Connected to K2 server"); foreach (Role importRole in roles) { WriteLog("Importing {0}", importRole.Name); URM.Role editRole = this.CopyToURMRole(importRole); if (urmServer.GetRole(editRole.Name) != null) { urmServer.UpdateRole(editRole); } else { urmServer.CreateRole(editRole); } } WriteLog("Closing K2 connection."); } }