Ejemplo n.º 1
0
        public void AddMesh()
        {
            MeshViewModel mesh = new MeshViewModel();

            MeshList.Add(mesh);
            RootLevel.Add(mesh);
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            var obj = new RootLevel
            {
                Id       = "1",
                MyObject = new SimpleObject
                {
                    Id   = 5,
                    User = "******"
                },
                ListOfStuff = new ListObject
                {
                    Id    = 5,
                    Items = new List <ListItemObject>
                    {
                        new ListItemObject
                        {
                            Id   = 4,
                            Name = "Daniel",
                            Date = DateTime.Now
                        }
                    }
                }
            };

            /*Console.WriteLine("Validating.");
             * Validate(obj);
             * Console.WriteLine("Done validating.");*/

            Console.WriteLine("Custom validation.");
            CustomValidate(obj);
            Console.WriteLine("Custom validation done.");

            Console.ReadKey();
        }
Ejemplo n.º 3
0
 private void Drop(MeshViewModel child)
 {
     if (child.Parent != null)
     {
         child.SetNewParent(null);
         RootLevel.Add(child);
     }
 }
Ejemplo n.º 4
0
        public void AddDescriptorNode(NodeBase node)
        {
            var metafile = RootLevel.OfType <MetafileViewModel>().FirstOrDefault();

            if (metafile == null)
            {
                throw new InvalidOperationException("Got a Metafile Descriptor element without a Metafile");
            }
            metafile.Descriptor.Nodes.Add(node);
        }
Ejemplo n.º 5
0
        private void Mesh_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "Parent")
            {
                //clean the root
                RootLevel.Where(x => x.Parent != null).ToList().All(x => RootLevel.Remove(x));

                // add the mesh to the root if necessary
                if (((MeshViewModel)sender).Parent == null && !RootLevel.Contains(((MeshViewModel)sender)))
                {
                    RootLevel.Add((MeshViewModel)sender);
                }
            }
        }
Ejemplo n.º 6
0
        public void RemoveMesh(MeshViewModel mesh)
        {
            foreach (MeshViewModel vm in mesh.Children)
            {
                vm.Parent = mesh.Parent;
            }

            if (mesh.Parent == null)
            {
                RootLevel.Remove(mesh);
            }
            else
            {
                mesh.Parent.Children.Remove(mesh);
            }
        }
Ejemplo n.º 7
0
        public void AddUnsupportedNode(UnsupportedCommand unsupportedCommand)
        {
            var counterNode = RootLevel.OfType <UnsupportedCounter>().FirstOrDefault();

            if (counterNode == null)
            {
                counterNode = new UnsupportedCounter();
                RootLevel.Add(counterNode);
            }
            counterNode.Count(unsupportedCommand);

            var level     = CurrentLevelNodes;
            var container = level.OfType <UnsupportedContainer>().FirstOrDefault();

            if (container == null)
            {
                container = new UnsupportedContainer();
                level.Insert(0, container);
            }
            container.Add(new UnsupportedNode(unsupportedCommand));
        }
Ejemplo n.º 8
0
        private void ToXml()
        {
            Load(FilePath, CurrentDocumentType);
            var         rootLevelJson = new RootLevel();
            XmlDocument xml;
            string      xmlString;

            rootLevelJson.root.Add(JsonObject);

            xml       = (XmlDocument)JsonConvert.DeserializeXmlNode(JsonConvert.SerializeObject(rootLevelJson));
            xmlString = JsonConvert.SerializeXmlNode(xml);


            XmlElement root    = xml.DocumentElement;
            XmlComment comment = xml.CreateComment("Comment");

            root.AppendChild(comment);

            using (MemoryStream mStream = new MemoryStream())
                using (XmlTextWriter writer = new XmlTextWriter(mStream, Encoding.UTF8))
                {
                    writer.Formatting = Formatting.Indented;
                    writer.WriteStartDocument();
                    xml.WriteContentTo(writer);
                    writer.Flush();
                    mStream.Flush();
                    mStream.Position = 0;
                    StreamReader sReader      = new StreamReader(mStream);
                    string       formattedXml = sReader.ReadToEnd();
                    xmlString = formattedXml;
                }

            FilePath = Path.Combine(Path.GetDirectoryName(FilePath),
                                    Path.GetFileNameWithoutExtension(FilePath) + "." + GetFutureDocType(FutureDocumentType));

            Save(xmlString, FilePath);

            Publish(FilePath);
        }