示例#1
0
        private void PopulateData(ISession s)
        {
            for (var i = 0; i < 2; i++)
            {
                var p = new HierarchyModel
                {
                    Hid  = string.Format("/{0}/", i + 1),
                    Name = string.Format("Parent {0}", i + 1)
                };

                s.Save(p);

                var childs = new List <string>();

                for (var j = 0; j < 10; j++)
                {
                    var c = new HierarchyModel
                    {
                        Hid  = string.Format("/{0}/{1}/", i + 1, j + 1),
                        Name = string.Format("Child {0}/{1}", i + 1, j + 1)
                    };

                    childs.Add(c.Hid);
                    s.Save(c);
                }

                Items.Add(p.Hid, childs);
            }
        }
    public void UIFor(HierarchyModel model, Transform parent)
    {
        if (model == null)
        {
            return;
        }

        if (model.uiObject != null)
        {
            model.uiObject.transform.parent = parent;
        }
        else
        {
            GameObject hierarchyUIElement = pool.GetItem();
            hierarchyUIElement.transform.SetParent(parent);
            activeItems.Add(hierarchyUIElement);

            GUIHierarchyItem guihi = hierarchyUIElement.GetComponent <GUIHierarchyItem>();
            guihi.data = model.data;

            foreach (var child in model.GetChildren())
            {
                UIFor(child, guihi.childTransfrom);
            }
        }
    }
        protected HierarchyModel ParseHierarchicalFile(string fileName)
        {
            string   methodName = new StackTrace().GetFrame(1).GetMethod().Name.Replace("_", "-");
            FileInfo file       = new FileInfo(fileName);

            Assert.That(file.Exists, Is.True, "File doesn't exist {0}", fileName);

            FileReader          reader = new FileReader(fileName);
            List <IModelParser> list   = new List <IModelParser> {
                modelParser
            };

            IDataParser dataParser = new DataParser(reader, list.ToArray());

            dataParser.OnMissingParser = s =>
            {
                Assert.Fail("Unable to Parse: {0}", reader);
                return(false);
            };
            dataParser.Parse();

            Assert.That(dataParser.Results, Is.Not.Empty, "Results should not be empty");
            Assert.That(dataParser.Results[0], Is.TypeOf <HierarchyModel>(), "Expected a Cobol Model");

            HierarchyModel hierarchyModel = dataParser.Results[0] as HierarchyModel;

            Assert.That(hierarchyModel, Is.Not.Null, "Class Model not found: {0}", dataParser.Results[0]);
            if (hierarchyModel != null)
            {
                StringModel model = (StringModel)hierarchyModel.Model;
                Assert.That(file.Name, Is.StringContaining(model.Data), "Class name doesn't match the filename");
                Assert.That(model.Data, Is.EqualTo(methodName), "Class name doesn't match the method name");
            }
            return(hierarchyModel);
        }
        public IModel Parse(IReader reader)
        {
            IModel currentModel = modelParser.Parse(reader);
            IModel childModel   = childrenParser.Parse(reader);

            List <IModel> children = new List <IModel>();

            while (childModel != null)
            {
                children.Add(childModel);
                childModel = childrenParser.Parse(reader);
            }

            HierarchyModel currentHierarchy = currentModel as HierarchyModel;

            if (currentHierarchy != null && children.Count > 0)
            {
                if (currentHierarchy.ChildModels.Length == 1)
                {
                    return(new HierarchyModel(currentHierarchy.Model, new IModel[]
                    {
                        new HierarchyModel(currentHierarchy.ChildModels[0], children.ToArray())
                    }));
                }
            }
            return(children.Count == 0 ? currentModel : new HierarchyModel(currentModel, children.ToArray()));
        }
示例#5
0
        public async Task <ActionResult> Edit(HierarchyModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var entiry = Mapper.Map <HierarchyModel, Hierarchy>(model);

                    _hierarchyService.UpdateDetalhe(entiry.HierarchyDetalhe, CurrentUser.UserId);
                    _hierarchyService.Update(entiry, CurrentUser.UserId, referenceCircular: true);
                    ShowMessageDialog(MensagensResource.SucessoAtualizar, Message.MessageKind.Success);
                }
                else
                {
                    model.HierarchyTypeDictionary = await _dictionaryAllService.GetHierarchyTypeDictionaryAsync();

                    return(View(model));
                }
            }
            catch (Exception e)
            {
                ShowMessageDialog(MensagensResource.ErroAtualizar, e);
            }

            return(RedirectToAction("Index"));
        }
示例#6
0
        public IModel Parse(IModel model)
        {
            IModel         parsed  = parentParser.Parse(model);
            HierarchyModel hParsed = parsed as HierarchyModel;

            if (hParsed != null)
            {
                IModel childModel = hParsed.ChildModels.Length > 0 ? hParsed.ChildModels[0] : null;
                if (childModel != null)
                {
                    IModel child = childParser.Parse(childModel);
                    return(new HierarchyModel(hParsed.Model, new[] { child }));
                }
            }
            return(model);
        }
示例#7
0
        public void SingleDataParser()
        {
            IImpliedModelParser modelParser = new DataParser();
            IModel model = new CobolModel("Parent", "NAME SHOULD SEPARATE TEST DATA 1", "This is test data");

            Assert.That(modelParser.Matches(model), Is.True);

            IModel child = modelParser.Parse(model);

            Assert.That(child, Is.Not.Null);
            Assert.That(child, Is.Not.SameAs(model));

            IModel expected = new HierarchyModel(new CobolModel("Parent", "NAME SHOULD SEPARATE TEST", "This is test data"), new IModel[]
            {
                new CobolModel("Data", "1", "Implied")
            });

            AssertModelIsSame(child, expected, true);
        }
    public virtual List <HierarchyModel> GetRoot()
    {
        List <HierarchyModel> root = new List <HierarchyModel>();

        HierarchyModel mroot = new HierarchyModel(new HierarchyData {
            name = "Root"
        });

        mroot.AddChild(new HierarchyModel(new HierarchyData {
            name = "Node 1"
        }));
        mroot.AddChild(new HierarchyModel(new HierarchyData {
            name = "Node 2"
        }));

        root.Add(mroot);

        return(root);
    }
示例#9
0
        private List <HierarchyModel> CreateHierarchy(string rootId, List <Hierarchy> data)
        {
            List <HierarchyModel> result = new List <HierarchyModel>();

            var element  = data.Where(p => p.RowGuid.Equals(rootId)).FirstOrDefault();
            var elements = data.Where(d => d.IdentPuesto.Equals(rootId)).ToList();

            HierarchyModel m = new HierarchyModel()
            {
                Area = element.Area
            };

            elements.ForEach(g =>
            {
                var t = CreateHierarchy(g.RowGuid, data);
                m.SubArea.AddRange(t);
            });

            result.Add(m);

            return(result);
        }
示例#10
0
        public async Task <ActionResult> Create(HierarchyModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _hierarchyService.Add(Mapper.Map <HierarchyModel, Hierarchy>(model), CurrentUser.UserId);
                    ShowMessageDialog(MensagensResource.SucessoCadastrar, Message.MessageKind.Success);
                }
                else
                {
                    model.HierarchyTypeDictionary = await _dictionaryAllService.GetHierarchyTypeDictionaryAsync();

                    return(View(model));
                }
            }
            catch (Exception e)
            {
                ShowMessageDialog(MensagensResource.ErroCadastrar, e);
            }

            return(RedirectToAction("Index"));
        }
    public override List <HierarchyModel> GetRoot()
    {
        List <HierarchyModel> root = new List <HierarchyModel>();

        var parents = new Dictionary <string, HierarchyModel>();
        var childs  = new Dictionary <string, List <HierarchyModel> >();

        foreach (var sgoKVp in SessionManager.Instance.sceneGameObjects)
        {
            SceneGameObject scgo = sgoKVp.Value;

            bool           selected = SessionManager.Instance.selectedSceneObject?.data.id == sgoKVp.Key;
            HierarchyModel model    = new HierarchyModel(new HierarchyData {
                name = scgo.sceneObject.GetDisplayName(), key = sgoKVp.Key, selected = selected
            });

            if (childs.ContainsKey(sgoKVp.Key))
            {
                List <HierarchyModel> scgoChilds = childs[sgoKVp.Key];

                foreach (HierarchyModel hm in scgoChilds)
                {
                    model.AddChild(hm);
                }

                childs.Remove(sgoKVp.Key);
            }

            if (scgo.parent != null)
            {
                string parentKey = scgo.parent.data.id;

                if (parents.ContainsKey(parentKey))
                {
                    parents[scgo.parent.data.id].AddChild(model);
                }
                else
                {
                    if (childs.ContainsKey(parentKey))
                    {
                        List <HierarchyModel> scgoChilds = childs[parentKey];
                        scgoChilds.Add(model);
                        childs[parentKey] = scgoChilds;
                    }
                    else
                    {
                        List <HierarchyModel> scgoChilds = new List <HierarchyModel>();
                        scgoChilds.Add(model);
                        childs.Add(parentKey, scgoChilds);
                    }
                }
            }
            else
            {
                root.Add(model);
            }

            parents.Add(sgoKVp.Key, model);
        }

        return(root);
    }
示例#12
0
 public void AddChild(HierarchyModel child)
 {
     children.Add(child);
 }
示例#13
0
        /// <summary>
        /// Save the Hierarchy details
        /// </summary>
        /// <param name="hierarchyModel"></param>
        /// <returns></returns>
        public JsonResult SetHierarchyDetails(HierarchyModel hierarchyModel)
        {
            Message result = oAdminManager.SetHierarchyDetails(hierarchyModel, CookieManager.GetCookie(CookieManager.CookieName).logindetail.EmpID);

            return(Json(new { result }, JsonRequestBehavior.AllowGet));
        }
        public void HierarchySystemTests()
        {
            IReader reader = new FileReader(@".\Resources\DataDictionary\datadict.rpt");

            IModelParser[] parsers = new IModelParser[] {
                new AccessInformationParser(),
                new DescriptionParser(),
                new DetailsParser(),
                new ModifiedParser(),
                new ModuleParser(),
                new PageHeaderParser(),
                new RecordLengthParser(),
                new RecordParser(),
                new TechnicalInformationParser(),
                CobolParser.CobolHierarchy(),
                new IgnoreParser(),
            };
            IDataParser dataParser = new DataParser(reader, parsers);

            dataParser.Corrections     = corrections;
            dataParser.OnMissingParser = (line) =>
            {
                throw new InvalidOperationException("No Parser for: " + reader);
            };
            dataParser.Parse();

            string typename  = GetType().Name;
            string directory = Path.Combine(".", typename);

            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            foreach (IModel model in dataParser.Results)
            {
                HierarchyModel hiearchyModel = model as HierarchyModel;
                if (hiearchyModel != null)
                {
                    ClassModel classModel = hiearchyModel.Model as ClassModel;
                    if (classModel != null)
                    {
                        ModelXmlFormatter formatter  = new ModelXmlFormatter(model);
                        string            xml        = formatter.Render();
                        string            objectName = classModel.Data;

                        string fileName = directory + @"\" + objectName + ".xml";
                        if (File.Exists(fileName))
                        {
                            File.Delete(fileName);
                        }

                        Assert.That(File.Exists(fileName), Is.False);
                        using (StreamWriter writer = new StreamWriter(fileName))
                        {
                            writer.Write(xml);
                        }
                    }
                }
            }
        }
示例#15
0
    public override List <HierarchyModel> GetRoot()
    {
        List <HierarchyModel> root = new List <HierarchyModel>();

        Dictionary <string, HierarchyModel> parents = new Dictionary <string, HierarchyModel>();

        foreach (Type t in ReflectionUtilities.nodeTypes)
        {
            if (t.IsAbstract || t.IsGenericType)
            {
                continue;
            }
            if (typeof(IVariableNode).IsAssignableFrom(t))
            {
                continue;
            }

            if (t == typeof(FlowNode) || t == typeof(NTNode))
            {
                continue;
            }

            //FIXME: Freindly names

            var node = (NTNode)Activator.CreateInstance(t);

            List <string> pathParts = node.GetPath();

            HierarchyModel parent = null;

            if (pathParts.Count > 1)
            {
                string fullPath = "";
                for (int i = 0; i < pathParts.Count - 1; i++)
                {
                    fullPath += "/" + pathParts[i];
                    if (parents.ContainsKey(fullPath))
                    {
                        parent = parents[fullPath];
                    }
                    else
                    {
                        if (parent == null)
                        {
                            parent = new HierarchyModel(new NodeHierarchyData {
                                name = pathParts[i]
                            });
                            root.Add(parent);
                            parents.Add(fullPath, parent);
                        }
                        else
                        {
                            HierarchyModel hm = new HierarchyModel(new NodeHierarchyData {
                                name = pathParts[i]
                            });
                            parent.AddChild(hm);
                            parent = hm;
                        }
                    }
                }
            }

            if (parent != null)
            {
                parent.AddChild(new HierarchyModel(new NodeHierarchyData {
                    name = pathParts[pathParts.Count - 1], nodeType = t
                }));
            }
            else
            {
                root.Add(new HierarchyModel(new NodeHierarchyData {
                    name = pathParts[pathParts.Count - 1], nodeType = t
                }));
            }
        }

        return(root);
    }