示例#1
0
        public Symbol ConvertToSymbol(SymbolData symbolData)
        {
            Symbol symbol = new Symbol();

            CreateParts(symbol, symbolData);
            return(symbol);
        }
示例#2
0
        public SymbolData ConvertFromSymbol(Symbol symbol)
        {
            SymbolData symbolData = new SymbolData(symbol.Name);

            CreatePartData(symbolData, symbol);
            return(symbolData);
        }
示例#3
0
        /// <summary>
        /// Serializes a SymbolData object to a XML file
        /// </summary>
        /// <param name="fileName">The filename of the file</param>
        /// <param name="symbolData">The symbol to serialize</param>
        public static void SerializeSymbol(string fileName, SymbolData symbolData)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(SymbolData));
            FileStream    fs         = new FileStream(fileName, FileMode.Create);

            serializer.Serialize(fs, symbolData);
            fs.Close();
        }
示例#4
0
 private void CreateParts(Symbol symbol, SymbolData symbolData)
 {
     foreach (SymbolPartData partData in symbolData.SymbolParts)
     {
         SymbolPart part = ConvertPartData(partData);
         if (part != null)
         {
             symbol.AddPart(part);
         }
     }
 }
示例#5
0
        /// <summary>
        /// Deserializes a XML file to a SymbolCollection
        /// </summary>
        /// <param name="fileName">The filename of the file</param>
        /// <returns>The deserialized SymbolData object</returns>
        public static SymbolData DeserializeSymbol(string fileName)
        {
            if (File.Exists(fileName) == false)
            {
                return(new SymbolData());
            }
            XmlSerializer serializer = new XmlSerializer(typeof(SymbolData));
            FileStream    fs         = new FileStream(fileName, FileMode.Open, FileAccess.Read);
            SymbolData    symbolData = (SymbolData)serializer.Deserialize(fs);

            fs.Close();
            return(symbolData);
        }
示例#6
0
        private void CreatePartData(SymbolData symbolData, Symbol symbol)
        {
            List <SymbolPartData> parts = new List <SymbolPartData>();

            foreach (SymbolPart sp in symbol)
            {
                SymbolPartData partData = ConvertSymbolPart(sp);
                if (sp != null)
                {
                    parts.Add(partData);
                }
            }
            symbolData.SymbolParts = parts.ToArray();
        }