Beispiel #1
0
        public static XMLFlujograma Transformar(IFlujograma flujograma)
        {
            XMLFlujograma sol = null;

            if (flujograma is XMLFlujograma)
            {
                sol = flujograma as XMLFlujograma;
            }
            else
            {
                sol         = new XMLFlujograma();
                sol.Entidad = flujograma.Entidad;

                XMLEstado[] estados = new XMLEstado[flujograma.Estados.Length];
                for (int i = 0; i < estados.Length; i++)
                {
                    estados[i] = XMLEstado.Tranformar(flujograma.Estados[i]);
                }
                sol.XMLEstados = estados;
                sol.IdEntidad  = flujograma.IdEntidad;
                sol.Nombre     = flujograma.Nombre;
                XMLTransicion[] transiciones = new XMLTransicion[flujograma.Transiciones.Length];
                for (int i = 0; i < transiciones.Length; i++)
                {
                    transiciones[i] = XMLTransicion.Transformar(flujograma.Transiciones[i]);
                }
                sol.XMLTransiciones = transiciones;
            }

            return(sol);
        }
Beispiel #2
0
 public void Add(IEstado estado)
 {
     foreach (var item in _estados)
     {
         if (item.Estado == estado.Estado)
         {
             throw new ClaveDuplicadaException();
         }
     }
     _estados.Add(XMLEstado.Tranformar(estado));
 }
Beispiel #3
0
        public void Add(ITransicion transicion)
        {
            if (!transicion.Flujograma.Equals(this))
            {
                throw new NoMismoFlujogramaException();
            }

            if (!_estados.Contains(XMLEstado.Tranformar(transicion.Origen)) ||
                !_estados.Contains(XMLEstado.Tranformar(transicion.Destino)))
            {
                throw new NoSuchElementException();
            }

            XMLTransicion tr = XMLTransicion.Transformar(transicion);

            if (!_transiciones.Contains(tr))
            {
                _transiciones.Add(tr);
            }
        }