示例#1
0
        /// <summary>
        /// Añade (INSERT) un arma a la base de datos
        /// </summary>
        /// <param name="arma"></param>
        /// <returns>Retorna booleano (true) si se insertó el arma a la base de datos o (false) si no.</returns>
        public bool InsertarArma(Armamento arma)
        {
            //try
            //{

            string SQL = "INSERT INTO armamento(nombre, tipo, origen, precio, stock) VALUES (@nombre, @tipo, @origen, @precio, @stock)";

            comando.Parameters.Add(new SqlParameter("@nombre", arma.Nombre));

            if (arma.TipoArmamento.ToString() == "fusil")
            {
                comando.Parameters.Add(new SqlParameter("@tipo", "Fusil"));
            }
            else if (arma.TipoArmamento.ToString() == "pistola")
            {
                comando.Parameters.Add(new SqlParameter("@tipo", "Pistola"));
            }
            else if (arma.TipoArmamento.ToString() == "dron")
            {
                comando.Parameters.Add(new SqlParameter("@tipo", "Dron"));
            }
            else if (arma.TipoArmamento.ToString() == "explosivo")
            {
                comando.Parameters.Add(new SqlParameter("@tipo", "Explosivo"));
            }

            comando.Parameters.Add(new SqlParameter("@origen", arma.Origen));
            comando.Parameters.Add(new SqlParameter("@precio", arma.Precio));
            comando.Parameters.Add(new SqlParameter("@stock", arma.Stock));

            return(EjecutarNonQuery(SQL));
        }
示例#2
0
        /// <summary>
        /// Modifica/Actualiza (UPDATE) los datos de un arma en la base de datos
        /// </summary>
        /// <param name="arma"></param>
        /// <returns>Retorna booleano (true) si se actualizó el arma en la base de datos o (false) si no.</returns>
        public bool ModificarArma(Armamento arma)
        {
            string SQL = "UPDATE armamento SET nombre = @nombre, tipo = @tipo, origen = @origen, precio = @precio, stock = @stock WHERE id = @id";

            comando.Parameters.Add(new SqlParameter("@id", arma.Id));
            comando.Parameters.Add(new SqlParameter("@nombre", arma.Nombre));

            if (arma.TipoArmamento.ToString() == "fusil")
            {
                comando.Parameters.Add(new SqlParameter("@tipo", "Fusil"));
            }
            else if (arma.TipoArmamento.ToString() == "pistola")
            {
                comando.Parameters.Add(new SqlParameter("@tipo", "Pistola"));
            }
            else if (arma.TipoArmamento.ToString() == "dron")
            {
                comando.Parameters.Add(new SqlParameter("@tipo", "Dron"));
            }
            else if (arma.TipoArmamento.ToString() == "explosivo")
            {
                comando.Parameters.Add(new SqlParameter("@tipo", "Explosivo"));
            }

            comando.Parameters.Add(new SqlParameter("@origen", arma.Origen));
            comando.Parameters.Add(new SqlParameter("@precio", arma.Precio));
            comando.Parameters.Add(new SqlParameter("@stock", arma.Stock));

            return(EjecutarNonQuery(SQL));
        }
示例#3
0
        /// <summary>
        /// Elimina (DELETE) un arma de la base de datos
        /// </summary>
        /// <param name="arma"></param>
        /// <returns>Retorna booleano (true) si se eliminó el arma de la base de datos o (false) si no.</returns>
        public bool EliminarArma(Armamento arma)
        {
            string SQL = "DELETE armamento WHERE id = @id";

            comando.Parameters.Add(new SqlParameter("@id", arma.Id));


            return(EjecutarNonQuery(SQL));
        }
示例#4
0
        /// <summary>
        /// Selecciona el arma de la base de datos con el id especificado.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Armamento LeerPorID(int id)
        {
            Armamento arma = null;

            try
            {
                comando.CommandText = "SELECT * FROM armamento WHERE id = " + id.ToString();

                conexion.Open();

                SqlDataReader reader = comando.ExecuteReader();

                while (reader.Read())
                {
                    string tipo = reader["tipo"].ToString();

                    if (tipo == "Fusil")
                    {
                        arma = new Fusil(reader["nombre"].ToString(), Armamento.ETipo.fusil, reader["origen"].ToString(),
                                         int.Parse(reader["precio"].ToString()), int.Parse(reader["stock"].ToString()));
                    }
                    else if (tipo == "Pistola")
                    {
                        arma = new Pistola(reader["nombre"].ToString(), Armamento.ETipo.pistola, reader["origen"].ToString(),
                                           int.Parse(reader["precio"].ToString()), int.Parse(reader["stock"].ToString()));
                    }
                    else if (tipo == "Dron")
                    {
                        arma = new Dron(reader["nombre"].ToString(), Armamento.ETipo.dron, reader["origen"].ToString(),
                                        int.Parse(reader["precio"].ToString()), int.Parse(reader["stock"].ToString()));
                    }
                    else if (tipo == "Explosivo")
                    {
                        arma = new Explosivo(reader["nombre"].ToString(), Armamento.ETipo.explosivo, reader["origen"].ToString(),
                                             int.Parse(reader["precio"].ToString()), int.Parse(reader["stock"].ToString()));
                    }
                }
                reader.Close();
            }
            catch (Exception e)
            {
                throw new ArchivosException("Error: No se puede leer la base de datos", e);
            }
            finally
            {
                conexion.Close();
            }

            return(arma);
        }
示例#5
0
        /// <summary>
        /// Añade una nueva arma a la venta.
        /// </summary>
        /// <param name="venta"></param>
        /// <param name="id"></param>
        /// <returns>Retorna (Venta) la venta con el arma.</returns>
        public static Venta operator +(Venta venta, int id)
        {
            Armamento arma = (venta == id);

            if (arma != null)
            {
                venta.armas.Add(arma);
            }
            else
            {
                throw new CargarVentaException("Error: El arma no ha podido ser cargada a la lista.");
            }

            return(venta);
        }
示例#6
0
        /// <summary>
        /// Retornará la primer arma de la lista que no tenga el id pasado como parámetro
        /// </summary>
        /// <param name="venta"></param>
        /// <param name="id"></param>
        /// <returns>Retornará (Armamento) el arma que no tenga el id pasado.</returns>
        public static Armamento operator !=(Venta venta, int id)
        {
            Armamento arma = null;

            foreach (var item in Inventario.Armas)
            {
                if (item.Id != id)
                {
                    arma = item;
                    break;
                }
            }

            return(arma);
        }