private void cmbLibraryName_SelectedIndexChanged(object sender, EventArgs e)
 {
     HourGlass.Enabled = true;
     try
     {
         if (cmbLibraryName.SelectedItem != null)
         {
             try
             {
                 var pair = (KeyValuePair<String, dbTSFLibrary>) cmbLibraryName.SelectedItem;
                 byte[] byteArray = Encoding.UTF8.GetBytes(pair.Value.content);
                 var stream = new MemoryStream(byteArray);
                 SignalModelLibrary = new SignalModelLibrary(stream);
                 Text = String.Format("Signal Model Library - {0}", SignalModelLibrary.TSFLibrary.name);
             }
             catch (Exception ee)
             {
                 LogManager.Error(ee);
                 MessageBox.Show(@"An error occurred trying to opn this Signal Model Library");
             }
         }
     }
     finally
     {
         HourGlass.Enabled = false;
     }
 }
 public void LoadSignalModelLibraryCache()
 {
     SignalDAO dao = new SignalDAO();
     List<dbTSFLibrary> list = dao.getTSFLibraries();
     _signalModelLibraryCache.Clear();
     foreach (dbTSFLibrary library in list)
     {
         string xmlns = library.targetNamespace;
         string content = library.content;
         if (string.IsNullOrEmpty(xmlns))
         {
             LogManager.Warn("A namespace does not exist for {0} and therefore not added to the schema cache.", library.libraryName );
         }
         else
         {
             MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(content));
             SignalModelLibrary sml = new SignalModelLibrary(ms);
             _signalModelLibraryCache.Add(xmlns, sml);
         }
     }
 }
 private void btnImportTSF_Click(object sender, EventArgs e)
 {
     String xml = "";
     String fileName = "";
     try
     {
         if (FileManager.OpenXmlFile(out xml, out fileName))
         {
             byte[] byteArray = Encoding.UTF8.GetBytes(xml);
             var stream = new MemoryStream(byteArray);
             SignalModelLibrary = new SignalModelLibrary(stream);
             SaveSelectedSignalModel();
             MessageBox.Show(String.Format("Finished Importing Signal Model Library \"{0}\"",
                 SignalModelLibrary.TSFLibrary.name));
         }
     }
     catch (Exception err )
     {
         StringBuilder sb = new StringBuilder(System.Web.HttpUtility.HtmlEncode(Encoding.UTF8.GetBytes(err.Message))).Append("\r\n");
         while (err.InnerException != null)
         {
             sb.Append(System.Web.HttpUtility.HtmlEncode(Encoding.UTF8.GetBytes(err.InnerException.Message))).Append("\r\n");
             err = err.InnerException;
         }
         LogManager.Error("An error has occurred attempting to import file \"{0}\"\r\nError:\r\n{1}", fileName, sb.ToString() );
     }
 }
        public static SignalModel GetSignalModel(string nameSpace, string signalName)
        {
            SignalModel model = null;
            SignalModelLibrary library = null;
            SignalManager sm = Instance;
            if (sm._signalModelLibraryCache.ContainsKey(nameSpace))
            {
                library = sm._signalModelLibraryCache[nameSpace];
            }
            else
            {
                SignalDAO dao = new SignalDAO();
                dbTSFLibrary tsfLib = dao.getTSFLibraryByNameSpace(nameSpace);
                if (tsfLib != null)
                {
                    string content = tsfLib.content;
                    MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(content));
                    library = new SignalModelLibrary(ms);
                    sm._signalModelLibraryCache.Add(nameSpace, library);
                }
            }
            if (library != null)
                model = library.GetSignalModel(signalName);

            return model;
        }