public object getValor(Entorno.Entorno ent) { if (Estatico.actualBase != null) { if (Estatico.actualBase.existeObjetoDefinido(tipo.tipo)) { if (!valores) { ObjetoDefinido declarar = Estatico.actualBase.GetObjetoDefinido(tipo.tipo); Entorno.Entorno atributos = new Entorno.Entorno(null); foreach (Declaracion declaracion in declarar.declaraciones) { declaracion.ejecutar(atributos); } Objeto ob = new Objeto(tipo, tipo.tipo, atributos); //ob.imprimirAtributos(); return(ob); } else { //Console.Write("entro aaaaaaaaaaaaaa"); ObjetoDefinido declarar = Estatico.actualBase.GetObjetoDefinido(tipo.tipo); if (declarar.declaraciones.Count == valores_obejeto.Count) { Entorno.Entorno atributos = new Entorno.Entorno(ent); int x = 0; foreach (Declaracion declaracion in declarar.declaraciones) { declaracion.valorInicial = valores_obejeto.ElementAt(x); declaracion.ejecutar(atributos); x++; } Entorno.Entorno atributos2 = new Entorno.Entorno(null); atributos2.tabla = atributos.tabla; Objeto ob = new Objeto(tipo, tipo.tipo, atributos2); ob.imprimirAtributos(); //atributos.imprimir(); return(ob); } else { Estatico.errores.Add(new ErrorCQL("Ejecucion", "Faltan valores en el objeto: " + tipo.tipo + " en la base: " + Estatico.actualBase.nombre, this.fila, this.columna)); } } } else { Estatico.errores.Add(new ErrorCQL("Ejecucion", "No existe el objeto: " + tipo.tipo + " en la base: " + Estatico.actualBase.nombre, this.fila, this.columna)); } } else { Estatico.errores.Add(new ErrorCQL("Ejecucion", "No hay base en uso", this.fila, this.columna)); } return(new Nulo()); }
public void imprimirDefiniciones() { Console.WriteLine("----- Inicio Definicion -----"); Console.WriteLine("* Base Nombre: " + this.nombre); foreach (DictionaryEntry item in ObjetosDefinido) { ObjetoDefinido sim = (ObjetoDefinido)(item.Value); Console.WriteLine("** Deficnion nombre: " + sim.identificador); } Console.WriteLine("----- Fin Definicion -----"); }
public void agregarObjetoDefinido(String identificador, ObjetoDefinido nuevo) { this.ObjetosDefinido.Add(identificador, nuevo); }