Example #1
0
        public static void insertarMetodo(Procedimiento procedimiento)
        {
            if (contieneMetodo(procedimiento))
            {
                throw new Exception("El metodo " + procedimiento.identificador + " ya existe con la misma cantidad" +
                                    " y tipos de parametros");
            }

            Data.procedimientos.Add(procedimiento);
        }
Example #2
0
        public static Procedimiento buscarProcedimiento(string identificador, List <Parametro> parametros)
        {
            Procedimiento acciones = null;

            if (parametros == null)
            {
                foreach (Procedimiento meth in Data.procedimientos)
                {
                    if (meth.identificador.Equals(identificador) && meth.parametros.Count == 0)
                    {
                        acciones = meth;
                    }
                }
                if (acciones != null)
                {
                    return(acciones);
                }
            }

            foreach (Procedimiento met in Data.procedimientos)
            {
                if (met.identificador.Equals(identificador))
                {
                    if (met.parametros.Count == parametros.Count)
                    {
                        if (validarParametros(parametros, met.parametros))
                        {
                            acciones = met;
                        }
                    }
                }
            }

            if (acciones == null)
            {
                throw new Exception("No existe tal metodo");
            }
            return(acciones);
        }
Example #3
0
 private static bool contieneMetodo(Procedimiento procedimiento)
 {
     foreach (Procedimiento proc in Data.procedimientos)
     {
         if (proc.identificador.Equals(procedimiento.identificador))
         {
             if (proc.parametros.Count == procedimiento.parametros.Count)
             {
                 bool flag = true;
                 for (int i = 0; i < proc.parametros.Count; i++)
                 {
                     flag = flag && validarParametros(proc.parametros[i], procedimiento.parametros[i]);
                 }
                 if (flag)
                 {
                     return(true);
                 }
             }
         }
     }
     return(false);
 }