SobekCM.Core.Configuration.QualityControl_Configuration.Save_To_Config_File C# (CSharp) 메소드

Save_To_Config_File() 공개 메소드

Save this quality control configuration to a XML config file
public Save_To_Config_File ( string FilePath ) : bool
FilePath string File/path for the resulting XML config file
리턴 bool
        public bool Save_To_Config_File(string FilePath)
        {
            bool returnValue = true;
            StreamWriter writer = null;
            try
            {
                writer = new StreamWriter(FilePath, false, Encoding.UTF8);
                writer.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
                writer.WriteLine("<SobekCM_Config xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ");
                writer.WriteLine("\txmlns=\"http://digital.uflib.ufl.edu/metadata/sobekcm_config\" ");
                writer.WriteLine("\txsi:schemaLocation=\"http://digital.uflib.ufl.edu/metadata/sobekcm_config ");
                writer.WriteLine("\t\thttp://digital.uflib.ufl.edu/metadata/sobekcm_config/sobekcm_config.xsd\">");
                writer.WriteLine("\t<QualityControl>");
                writer.WriteLine("\t\t<Profiles>");

                foreach (QualityControl_Profile profile in profilesDictionary.Values)
                {
                    writer.Write("\t\t\t<Profile ");
                    if (profile.Default_Profile)
                        writer.Write("isDefault=\"true\" ");
                    writer.Write("name=\"" + Convert_String_To_XML_Safe(profile.Profile_Name) + "\" ");
                    writer.WriteLine("description=\"" + Convert_String_To_XML_Safe(profile.Profile_Description) + "\">");

                    foreach (QualityControl_Division_Config thisConfig in profile.Division_Types)
                    {
                        writer.Write("\t\t\t\t<DivisionType DivisionID=\"" + thisConfig.ID + "\" type=\"" + Convert_String_To_XML_Safe(thisConfig.TypeName) + "\" ");
                        if ( !thisConfig.isActive ) writer.Write( "isActive=\"false\" ");
                        writer.Write(thisConfig.isNameable ? "isNameable=\"true\" " : "isNameable=\"false\" ");
                        if (thisConfig.BaseTypeName.Length > 0)
                            writer.Write("base=\"" + Convert_String_To_XML_Safe(thisConfig.BaseTypeName) + "\" ");

                        if (thisConfig.hasTranslations)
                        {
                            writer.WriteLine(">");

                            thisConfig.Write_Translations(writer);

                            writer.WriteLine("\t\t\t\t</DivisionType>");

                        }
                        else
                        {
                            writer.WriteLine(" />");
                        }
                    }

                    writer.WriteLine("\t\t\t</Profile>");
                }

                writer.WriteLine("\t\t</Profiles>");
                writer.WriteLine("\t</QualityControl>");
                writer.WriteLine("</SobekCM_Config>");
                writer.Flush();
                writer.Close();
            }
            catch
            {
                returnValue = false;
            }
            finally
            {
                if (writer != null)
                    writer.Close();
            }

            return returnValue;
        }