private bool isOwnerElements(AccessMatrixElement matrixElement)
 {
     if (isNotEmpty(ownerElements))
     {
         foreach (AccessMatrixElement ownerElement in ownerElements)
         {
             if (matrixElement.compareElementPosition(ownerElement))
             {
                 return(true);
             }
         }
     }
     return(false);
 }
 private bool isAdministratorElements(AccessMatrixElement matrixElement)
 {
     if (isNotEmpty(administratorElements))
     {
         foreach (AccessMatrixElement administratorElement in administratorElements)
         {
             if (matrixElement.compareElementPosition(administratorElement))
             {
                 return(true);
             }
         }
     }
     return(false);
 }
        private void CreateNodes(string[][] conjMatrix)
        {
            int conjMatrixLenght = conjMatrix.Length;

            _nodes = Enumerable
                     .Range(0, conjMatrixLenght)
                     .Select(
                i => new Node
            {
                Label    = graphVertexs[i].Name,
                IsObject = graphVertexs[i].IsObject
            })
                     .ToList();
            for (int i = 0; i < conjMatrixLenght; i++)
            {
                for (int j = 0; j < conjMatrixLenght; j++)
                {
                    if (conjMatrix[i][j] != "0")
                    {
                        _nodes[i].Linked.Add(_nodes[j]);
                        AccessMatrixElement matrixElement = new AccessMatrixElement(i, j);
                        if (isAdministratorElements(matrixElement))
                        {
                            _nodes[i].IsAdministrator = true;
                            _nodes[j].IsAdministrator = true;
                        }
                        else if (isOwnerElements(matrixElement))
                        {
                            _nodes[i].IsOwner = true;
                            _nodes[j].IsOwner = true;
                        }
                    }
                }
            }
            ArrangeNodes();
        }
Esempio n. 4
0
 public bool compareElementPosition(AccessMatrixElement element)
 {
     return(Row.Equals(element.Row) && Column.Equals(element.Column));
 }