public List <AplicacionDTO> SelectAplicacion(int aplicacion_id)
        {
            List <AplicacionDTO> listaAplicaciones = new List <AplicacionDTO>();
            StringBuilder        query             = new StringBuilder().Append(@"SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
							SELECT 
							APLICACION_ID,
							NOMBRE,
							ES_WEB,
							DESCRIPCION
							FROM APLICACION"                            );

            if (aplicacion_id != 0)
            {
                query.Append(" WHERE APLICACION_ID=@AplicacionID");
            }

            using (var con = ConectarDB())
            {
                con.Open();
                try
                {
                    using (SqlCommand command = new SqlCommand(query.ToString(), con))
                    {
                        if (aplicacion_id != 0)
                        {
                            command.Parameters.Add(new SqlParameter("@AplicacionID", aplicacion_id));
                        }

                        using (var reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                AplicacionDTO aplicacion = new AplicacionDTO()
                                {
                                    Aplicacion_ID = Convert.ToInt32(reader[0]),
                                    Nombre        = reader[1].ToString(),
                                    Es_Web        = Convert.ToInt32(reader[2]) == 1 ? true : false,
                                    Descripcion   = reader[3].ToString()
                                };
                                listaAplicaciones.Add(aplicacion);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("No se encontró el registro.");
                }
                finally
                {
                    con.Close();
                }
            }
            return(listaAplicaciones);
        }
 public ReturnMessage UpdateAplicacion(AplicacionDTO aplicacion)
 {
     try
     {
         //logica de negocio aquí
         AplicacionBehavior aplicacionBehavior = new AplicacionBehavior();
         return(aplicacionBehavior.UpdateAplicacion(aplicacion));
     }
     catch (Exception ex)
     {
         ReturnMessage message = new ReturnMessage();
         message.TipoMensaje = TipoMensaje.Error;
         message.Mensaje     = ex.Message;
         return(message);
     }
 }
        /// <summary>
        /// Crea una estrategia
        /// </summary>
        /// <param name="aplicacion"></param>
        public ReturnMessage CreateAplicacion(AplicacionDTO aplicacion)
        {
            ReturnMessage mensaje = new ReturnMessage();
            string        query   = @"SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
                            INSERT INTO APLICACION (NOMBRE,ES_WEB,DESCRIPCION) VALUES (@NOMBRE,@ES_WEB,@DESCRIPCION)

                            SELECT @@IDENTITY AS 'Identity';";

            using (var con = ConectarDB())
            {
                con.Open();

                try
                {
                    using (SqlCommand command = new SqlCommand(query, con))
                    {
                        command.Parameters.Add(new SqlParameter("@NOMBRE", !string.IsNullOrEmpty(aplicacion.Nombre) ? aplicacion.Nombre : string.Empty));
                        command.Parameters.Add(new SqlParameter("@ES_WEB", aplicacion.Es_Web));
                        command.Parameters.Add(new SqlParameter("@DESCRIPCION", !string.IsNullOrEmpty(aplicacion.Descripcion)?aplicacion.Descripcion:string.Empty));

                        using (var reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                aplicacion.Aplicacion_ID = Convert.ToInt32(reader[0]);
                            }
                        }
                    }

                    mensaje.Mensaje     = "La aplicación se creó correctamente";
                    mensaje.TipoMensaje = TipoMensaje.Correcto;
                    mensaje.obj         = aplicacion;
                }
                catch (Exception ex)
                {
                    Console.WriteLine("No se pudo insertar");
                    mensaje.Mensaje     = ex.Message;
                    mensaje.TipoMensaje = TipoMensaje.Error;
                    mensaje.obj         = aplicacion;
                }
                finally
                {
                    con.Close();
                }
                return(mensaje);
            }
        }
        /// <summary>
        /// Consulta una estrategia
        /// </summary>
        /// <param name="estrategiaID"></param>
        /// <returns></returns>
        public List <EstrategiaDTO> SelectEstrategia(int estrategiaID)
        {
            List <EstrategiaDTO> listEstrategias = new List <EstrategiaDTO>();
            StringBuilder        query           = new StringBuilder().Append(@"SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
                            SELECT 
                            T0.ESTRATEGIA_ID,
                            T0.NOMBRE,
                            T2.ESTADO_ID,
                            T2.NOMBRE NOMBREESTADO,
                            T1.APLICACION_ID,
                            T5.NUMERO,
                            T1.DESCRIPCION,
                            T1.ES_WEB,
                            T1.NOMBRE NOMBREAPLICACION,
                            T5.RUTA_APLICACION,
							T3.TIPOPRUEBA_ID,
							T4.NOMBRE,
							T4.MQTIPOPRUEBA_ID,
							T4.CANTIDAD_EJECUCIONES,
							T4.TIEMPO_EJECUCION,
							T4.SEMILLA,
							T4.API_CONTROLLER,
							T4.API_KEY,
							T4.PARAMETROS
                            FROM ESTRATEGIA T0 
                            INNER JOIN APLICACION T1 ON T0.APLICACION_ID=T1.APLICACION_ID
                            INNER JOIN ESTADO T2 ON T0.ESTADO_ID=T2.ESTADO_ID
							INNER JOIN APPVERSION T5 ON T5.ID=T0.APPVERSION_ID
							LEFT JOIN ESTRATEGIA_TIPOPRUEBA T3 ON T0.ESTRATEGIA_ID=T3.ESTRATEGIA_ID
							LEFT JOIN TIPOPRUEBA T4 ON T3.TIPOPRUEBA_ID=T4.TIPOPRUEBA_ID"                            );

            if (estrategiaID != 0)
            {
                query.Append(" WHERE T0.ESTRATEGIA_ID=@ESTRATEGIA_ID");
            }

            using (var con = ConectarDB())
            {
                con.Open();

                try
                {
                    using (SqlCommand command = new SqlCommand(query.ToString(), con))
                    {
                        if (estrategiaID != 0)
                        {
                            command.Parameters.Add(new SqlParameter("@ESTRATEGIA_ID", estrategiaID));
                        }

                        using (var reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                if (!listEstrategias.Exists(e => e.Estrategia_ID == Convert.ToInt32(reader[0])))
                                {
                                    EstrategiaDTO estrategia = new EstrategiaDTO();

                                    estrategia.Estrategia_ID = Convert.ToInt32(reader[0]);
                                    estrategia.Nombre        = reader[1].ToString();
                                    EstadoDTO estado = new EstadoDTO();

                                    //diccionario de estado
                                    var estadoDictionary = GetEstrategiaStatus(estrategia.Estrategia_ID);
                                    //estados
                                    estado.ID     = estadoDictionary.First().Key;
                                    estado.Nombre = estadoDictionary.First().Value;
                                    //agregar el estado
                                    estrategia.Estado = estado;

                                    AplicacionDTO aplicacion = new AplicacionDTO();
                                    aplicacion.Aplicacion_ID   = Convert.ToInt32(reader[4]);
                                    aplicacion.Version         = reader[5].ToString();
                                    aplicacion.Descripcion     = reader[6].ToString();
                                    aplicacion.Es_Web          = Convert.ToInt32(reader[7]) == 1 ? true : false;
                                    aplicacion.Nombre          = reader[8].ToString();
                                    aplicacion.Ruta_Aplicacion = reader[9].ToString();
                                    estrategia.Aplicacion      = aplicacion;
                                    listEstrategias.Add(estrategia);
                                }

                                if (!string.IsNullOrEmpty(reader[10].ToString()))
                                {
                                    TipoPruebaDTO tipoPrueba = new TipoPruebaDTO();

                                    tipoPrueba.ID     = Convert.ToInt32(reader[10]);
                                    tipoPrueba.Nombre = reader[11].ToString();
                                    tipoPrueba.CantidadEjecuciones = Convert.ToInt32(reader[13]);
                                    tipoPrueba.TiempoEjecucion     = Convert.ToDouble(reader[14]);
                                    tipoPrueba.Semilla             = string.IsNullOrEmpty(reader[15].ToString()) ? string.Empty : reader[15].ToString();
                                    tipoPrueba.ApiController       = string.IsNullOrEmpty(reader[16].ToString()) ? string.Empty : reader[16].ToString();
                                    tipoPrueba.ApiKey     = string.IsNullOrEmpty(reader[17].ToString()) ? string.Empty : reader[17].ToString();
                                    tipoPrueba.Parametros = string.IsNullOrEmpty(reader[18].ToString()) ? string.Empty : reader[18].ToString();


                                    MQTipoPruebaDTO mqTipo = new MQTipoPruebaDTO();
                                    if (!string.IsNullOrEmpty(reader[12].ToString()))
                                    {
                                        mqTipo.ID = Convert.ToInt32(reader[12]);
                                        tipoPrueba.MQTipoPrueba = mqTipo;
                                    }
                                    listEstrategias.Find(e => e.Estrategia_ID == Convert.ToInt32(reader[0])).TipoPruebas.Add(tipoPrueba);
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Count not insert.");
                }
                finally
                {
                    con.Close();
                }
            }
            return(listEstrategias);
        }
Esempio n. 5
0
 private void obtenerDatosAppBD(int codApp)
 {
     aplicacion = Mongodb.getAplicaciones(codApp);
 }
Esempio n. 6
0
 // PUT: api/Aplicacion/5
 public ReturnMessage Put([FromBody] AplicacionDTO aplicacion)
 {
     ControllerVulkano.AplicacionController aplicacionController = new ControllerVulkano.AplicacionController();
     return(aplicacionController.UpdateAplicacion(aplicacion));
 }
        public ReturnMessage UpdateAplicacion(AplicacionDTO aplicacion)
        {
            ReturnMessage mensaje = new ReturnMessage();
            StringBuilder query   = new StringBuilder();


            int flagUpdate = 0;

            query.Append(@"SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
                            UPDATE APLICACION SET");

            //valida que los campos tengan un valor para actualizar.
            if (!string.IsNullOrEmpty(aplicacion.Nombre))
            {
                query.Append(" NOMBRE=@NOMBRE");
                flagUpdate = 1;
            }
            if (!string.IsNullOrEmpty(aplicacion.Version))
            {
                if (flagUpdate == 1)
                {
                    query.Append(",");
                }
                query.Append(" APLICACION_VERSION=@APLICACION_VERSION");
                flagUpdate = 1;
            }
            if (!string.IsNullOrEmpty(aplicacion.Ruta_Aplicacion))
            {
                if (flagUpdate == 1)
                {
                    query.Append(",");
                }
                query.Append(" RUTA_APLICACION=@RUTA_APLICACION");
                flagUpdate = 1;
            }
            if (aplicacion.Es_Web != true)
            {
                if (flagUpdate == 1)
                {
                    query.Append(",");
                }
                query.Append(" ES_WEB=@ES_WEB");
                flagUpdate = 1;
            }
            if (!string.IsNullOrEmpty(aplicacion.Descripcion))
            {
                if (flagUpdate == 1)
                {
                    query.Append(",");
                }
                query.Append(" DESCRIPCION=@DESCRIPCION");
                flagUpdate = 1;
            }
            if (flagUpdate == 1)
            {
                query.Append(" WHERE APLICACION_ID=@APLICACION_ID;");
            }
            if (flagUpdate == 1)
            {
                using (var con = ConectarDB())
                {
                    con.Open();

                    try
                    {
                        using (SqlCommand command = new SqlCommand(query.ToString(), con))
                        {
                            command.Parameters.Add(new SqlParameter("@APLICACION_ID", aplicacion.Aplicacion_ID));

                            if (!string.IsNullOrEmpty(aplicacion.Nombre))
                            {
                                command.Parameters.Add(new SqlParameter("@NOMBRE", aplicacion.Nombre));
                            }
                            if (!string.IsNullOrEmpty(aplicacion.Version))
                            {
                                command.Parameters.Add(new SqlParameter("@APLICACION_VERSION", aplicacion.Version));
                            }
                            if (!string.IsNullOrEmpty(aplicacion.Ruta_Aplicacion))
                            {
                                command.Parameters.Add(new SqlParameter("@RUTA_APLICACION", aplicacion.Ruta_Aplicacion));
                            }
                            if (aplicacion.Es_Web != true)
                            {
                                command.Parameters.Add(new SqlParameter("@ES_WEB", aplicacion.Es_Web));
                            }
                            if (!string.IsNullOrEmpty(aplicacion.Descripcion))
                            {
                                command.Parameters.Add(new SqlParameter("@DESCRIPCION", aplicacion.Descripcion));
                            }
                            command.ExecuteNonQuery();
                        }
                        mensaje.Mensaje     = "La aplicacion se actualizó correctamente";
                        mensaje.TipoMensaje = TipoMensaje.Correcto;
                        mensaje.obj         = aplicacion;
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("No se pudo actualizar.");
                        mensaje.Mensaje     = ex.Message;
                        mensaje.TipoMensaje = TipoMensaje.Error;
                        mensaje.obj         = aplicacion;
                    }
                    finally
                    {
                        con.Close();
                    }
                }
            }
            return(mensaje);
        }
 public ReturnMessage Post([FromBody] AplicacionDTO aplicacion)
 {
     Controller.AplicacionController aplicacionController = new Controller.AplicacionController();
     return(aplicacionController.CreateAplicacion(aplicacion));
 }