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 ITransicion Remove(ITransicion transicion)
        {
            ITransicion sol = null;

            if (_transiciones.Remove(XMLTransicion.Transformar(transicion)))
            {
                sol = transicion;
            }

            return(sol);
        }
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);
            }
        }
Beispiel #4
0
 public bool EsValido(ITransicion transion)
 {
     return(_transiciones.Contains(XMLTransicion.Transformar(transion)));
 }