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); }
public ITransicion Remove(ITransicion transicion) { ITransicion sol = null; if (_transiciones.Remove(XMLTransicion.Transformar(transicion))) { sol = transicion; } return(sol); }
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); } }
public bool EsValido(ITransicion transion) { return(_transiciones.Contains(XMLTransicion.Transformar(transion))); }