public override object Ejecutar(MasterBD master, LinkedList <Salida> log, LinkedList <Salida> respuesta, LinkedList <Error> errores) { if (!User.Equals("")) { Usuario user = master.GetUsuario(User); if (user != null) { if (!Data.Equals("")) { master.UsuarioActual = user; AnalizadorCQL analizador = new AnalizadorCQL(); if (analizador.AnalizarEntrada(Data)) { ASTCQL ast = (ASTCQL)analizador.GenerarArbol(analizador.Raiz.Root); if (ast != null) { try { ast.Ejecutar(log, errores, master); } catch (Exception ex) { respuesta.AddLast(new Salida(1, "[+MESSAGE]\n\t$Error en Data, revice las Instrucciones.\n" + ex.Message + "$[-MESSAGE]")); } } else { respuesta.AddLast(new Salida(1, "[+MESSAGE]\n\t$Error en Data, revice las Instrucciones.$\n[-MESSAGE]")); } } else { respuesta.AddLast(new Salida(1, "[+MESSAGE]\n\t$Error en Data, revice las Instrucciones.$\n[-MESSAGE]")); } } } else { respuesta.AddLast(new Salida(1, "[+MESSAGE]\n\t$El usuario que hizo la consulta no existe.$\n[-MESSAGE]")); } } else { respuesta.AddLast(new Salida(1, "[+MESSAGE]\n\t$El parametro User no puede estar vacío.$\n[-MESSAGE]")); } return(null); }
private void BtnRun_Click(object sender, EventArgs e) { rtbSalida.Clear(); if (!txtSource.Text.Equals(String.Empty)) { AnalizadorCQL analizador = new AnalizadorCQL(); if (analizador.AnalizarEntrada(txtSource.Text)) { ASTCQL ast = (ASTCQL)analizador.GenerarArbol(analizador.Raiz.Root); if (ast != null) { LinkedList <Salida> log = new LinkedList <Salida>(); LinkedList <Error> errores = new LinkedList <Error>(); //MessageBox.Show("Documento ok.", "Mensaje"); ReporteErrores(analizador.Raiz); ast.Ejecutar(log, errores); if (log.Count() > 0) { tabBottom.SelectedTab = pageLanguage; foreach (Salida l in log) { rtbSalida.Text += l.Contenido + "\n"; } } if (errores.Count() > 0) { foreach (Error error in errores) { gridErrors.Rows.Add(error.Valor, error.Descripcion, error.Linea); } } } } else { MessageBox.Show("El archivo contiene errores.", "Error"); tabBottom.SelectedTab = tabPage3; ReporteErrores(analizador.Raiz); } } }