/// <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)); }
/// <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)); }
/// <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)); }
/// <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); }
/// <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); }
/// <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); }