/**
  * Descripción: Realiza la consulta SQL de modificación de un caso de prueba en la base de datos, modifica tabla CasoPrueba
  * Recibe los atributos del caso de prueba a modificar
  * Devuelve un valor entero dependiendo del resultado de la consulta:
  * 0:  Actualización correcta de ambas tablas
  * -1: Error actualizando en tabla casoPrueba
  * 2627: Error de atributo duplicado (id de caso).
  */
 public int modificaCaso(string id, string proposito, string entrada, string resultadoEsperado, string flujoCentral, int idDise, int idProy, string idV, int idDiseV)
 {
     EntidadCaso modCaso = new EntidadCaso(id, proposito, entrada, resultadoEsperado, flujoCentral, idDise, idProy);
     try
     {
         return controlBDCasos.modificaCaso(modCaso, idV, idDiseV);
     }
     catch (SqlException ex)
     {
         //se devuelve el numero de la excepcion: 2627-violacion propiedad unica
         return ex.Number;
     }
 }
        /*
         * Descripción: Inserta un nuevo Caso de Prueba. Llama a la controladora de base de datos de Casos, la cual se encarga posteriormente de la consulta SQL.
         * Recibe: Los atributos del caso nuevo a ingresar.
         * Devuelve: una hilera de caracteres indicando si la insercion tuvo exito.
         */
        public int insertarCaso(string id, string proposito, string entrada, string resultadoEsperado, string flujoCentral, int idDise, int idProy)
        {
            EntidadCaso casoNuevo = new EntidadCaso(id, proposito, entrada, resultadoEsperado, flujoCentral, idDise, idProy);

            try
            {
                return controlBDCasos.insertarCaso(casoNuevo);
            }
            catch (SqlException ex)
            {
                return ex.Number;
                //throw ex;
            }
        }
        public EntidadCaso consultaCaso(string id, string idDis)
        {
            //Hace la consulta de todos los campos
            string consulta = "SELECT c.id, c.proposito, c.entrada, c.resultadoEsperado, c.flujoCentral, d.id, d.idProy FROM Diseno d, CasoPrueba c WHERE c.id = '" + id + "' AND c.idDise = '" + idDis + "' AND c.idDise = d.id";

            //Inicialice variables locales
            EntidadCaso caso = null;

            String idCaso = "";
            String proposito = "";
            String entrada = "";
            String resultadoEsperado = "";
            String flujoCentral = "";
            int idDise = 0;
            int idProy = 0;

            try
            {
                SqlDataReader reader = baseDatos.ejecutarConsulta(consulta);
                try
                {
                    if (reader.Read())
                    {
                        //Si pudo leer, obtenga los datos de forma segura
                        idCaso = SafeGetString(reader, 0);
                        proposito = SafeGetString(reader, 1);
                        entrada = SafeGetString(reader, 2);
                        resultadoEsperado = SafeGetString(reader, 3);
                        flujoCentral = SafeGetString(reader, 4);
                        idDise = SafeGetInt32(reader, 5);
                        idProy = SafeGetInt32(reader, 6);

                    }
                    reader.Close();
                }
                catch (SqlException ex)
                {
                    throw ex;
                }

                //Encapsulo los datos
                caso = new EntidadCaso(idCaso, proposito, entrada, resultadoEsperado, flujoCentral, idDise, idProy);
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return caso;
        }
        /*
         * Descripción: Inserta un caso en la BD.
         * Recibe:
         * Retorna: n/a.
         */
        public int modificaCaso(EntidadCaso caso, string idV, int idDiseV)
        {
            //Si no se modificó el usuario correctamente se devuelve -1
            int resultado = -1;
            string consulta = "";

            try
            {
                consulta = " UPDATE CasoPrueba Set id= '" + caso.Id + "', proposito= '" + caso.Proposito + "', entrada='" + caso.Entrada + "', resultadoEsperado = '" + caso.ResultadoEsperado + "', flujoCentral='" + caso.FlujoCentral + "' WHERE id = '" + idV + "' AND idDise = " + idDiseV + "; ";

                SqlDataReader reader = baseDatos.ejecutarConsulta(consulta);

                if (reader.RecordsAffected > 0)
                {
                    resultado = 0;
                }
                reader.Close();
            }
            //En caso de una excepcion SQL se tira para tratarla en la capa superior
            catch (SqlException ex)
            {
                throw ex;
            }
            return resultado;
        }
        /*
         * Descripción: Inserta un caso en la BD.
         * Recibe: el objeto Entidad Caso.
         * Retorna: n/a.
         */
        public int insertarCaso(EntidadCaso caso)
        {
            int resultado = 1;
            string consulta = "";

            consulta = "INSERT INTO CasoPrueba (id,proposito,entrada,resultadoEsperado,flujoCentral,idDise) VALUES (@0, @1, @2, @3, @4, @5);";
            Object[] args = new Object[6];
            args[0] = caso.Id;
            args[1] = caso.Proposito;
            args[2] = caso.Entrada;
            args[3] = caso.ResultadoEsperado;
            args[4] = caso.FlujoCentral;
            args[5] = caso.IdDise;

            try
            {

                SqlDataReader res = baseDatos.ejecutarConsulta(consulta, args);
                res.Close();
            }
            catch (SqlException ex)
            {
                //resultado = "Error al insertar. Error 1: " + ex.Message;
                throw ex;
            }

            return resultado;
        }
示例#6
0
        protected void llenaCampos(EntidadCaso caso)
        {
            //Se guarda el id del último usuario consultado
            ViewState["idcaso"] = caso.Id;

            String idC = caso.Id;
            idCaso.Value = idC;

            String prop = caso.Proposito;
            proposito.Value = prop;

            String en = caso.Entrada;
            var elements = en.Split(new[] { ',' }, System.StringSplitOptions.RemoveEmptyEntries);

            listEntradas.Items.Clear();
            foreach (string s in elements)
            {
                listEntradas.Items.Add(s);
            }

            String res = caso.ResultadoEsperado;
            resultadoEsperado.Value = res;

            String flujoCentral = caso.FlujoCentral;
            flujo.Value = flujoCentral;

            int idDise = caso.IdDise;
            //TextDiseno.Value = idDise.ToString();

            int idProy = caso.IdProy;
            //TextProyecto.Value = idProy.ToString();
        }