コード例 #1
0
        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.");
            }
        }
コード例 #2
0
        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.");
            }
        }