Esempio n. 1
0
        public void LoadFile(string fileName)
        {
            // BCFFile retFile = new BCFFile();
            using (ZipFile z = ZipFile.Read(fileName))
            {
                Regex r = new Regex(@"(?<guid>.*?)/(?<fname>.*)");
                foreach (var zipentry in z)
                {
                    string tFName = System.IO.Path.GetTempFileName();
                    var    res    = r.Match(zipentry.FileName);
                    if (res.Success)
                    {
                        using (BinaryWriter writer = new BinaryWriter(File.Open(tFName, FileMode.Create)))
                        {
                            zipentry.Extract(writer.BaseStream);
                        }

                        string guid  = res.Groups["guid"].Value;
                        string fname = res.Groups["fname"].Value;
                        if (!Instances.Where(x => x.Markup.Topic.Guid == guid).Any())
                        {
                            Instances.Add(new BcfInstance(guid));
                        }

                        BcfInstance inst = Instances.Where(x => x.Markup.Topic.Guid == guid).FirstOrDefault();
                        switch (fname.ToLowerInvariant())
                        {
                        case MarkupFileName:
                            inst.Markup = Markup.LoadFromFile(tFName);
                            break;

                        case ViewpointFileName:
                            inst.VisualizationInfo = VisualizationInfo.LoadFromFile(tFName);
                            break;

                        case SnapshotFileName:
                            var bi = new System.Windows.Media.Imaging.BitmapImage();
                            bi.BeginInit();
                            bi.CacheOption = System.Windows.Media.Imaging.BitmapCacheOption.OnLoad;
                            bi.UriSource   = new Uri(tFName);
                            bi.EndInit();
                            inst.SnapShot = bi;
                            break;

                        default:
                            break;
                        }
                        File.Delete(tFName);
                    }
                }
            }
        }
Esempio n. 2
0
 private void Visinfo_Load_Click(object sender, RoutedEventArgs e)
 {
     VisualizationInfo.LoadFromFile(Filename(@"viewpoint.bcfv"));
 }