/// <summary> /// Inserta en la DB un producto, recibiendo por parametro su información /// El código/id que es autoincremental, lo hace desde el script BD /// </summary> /// <param name="descripcion"></param> /// <param name="precio"></param> /// <param name="stock"></param> /// <returns></returns> public static bool Insertar(string descripcion, double precio, int stock) { bool retorno = false; try { string consulta = string.Format( "INSERT INTO Comiqueria (Descripcion, Precio, Stock, Codigo) VALUES ('{0}','{1}','{2}')", descripcion, precio, stock); comando.CommandText = consulta; conexion.Open(); comando.ExecuteNonQuery(); retorno = true; } catch (Exception e) { ComiqueriaException ex = new ComiqueriaException("No se pudo insertar el producto"); ArchivoTexto.Escribir(ex.Ruta, ex.Texto, true); throw ex; } finally { conexion.Close(); } return(retorno); }
/// <summary> /// Guarda datos en un archivo xml /// </summary> /// <param name="archivo">Ubicación en donde guardar</param> /// <param name="datos">Información a guardar</param> /// <returns>Retorna falso si hubo alguna excepción</returns> public bool GuardarXML(string archivo, T datos) { Directory.CreateDirectory("outArchivos"); try { XmlSerializer s = new XmlSerializer(typeof(T)); using (XmlTextWriter xw = new XmlTextWriter("outArchivos/" + archivo, null)) { s.Serialize(xw, datos); } } catch (ArgumentException e) { throw e; } catch (DirectoryNotFoundException e) { ComiqueriaException ex = new ComiqueriaException("Error: Directorio no encontrado"); ArchivoTexto.Escribir(ex.Ruta, ex.Texto, true); } catch (Exception e) { throw new Exception("Ocurrió un error, contacte al administrador"); } return(true); }
//Crear un método que permita serializar el tipo genérico de la clase a formato xml. public static bool SerializarXML(T dato, string path) { try { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } using (StreamWriter streamWriter = new StreamWriter("serializacionXML")) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); xmlSerializer.Serialize(streamWriter, dato); } return(true); } catch (DirectoryNotFoundException e) { ComiqueriaException c = new ComiqueriaException("Error: Directorio no encontrado.", e); ArchivoTexto.Escribir(c, true); throw c; } catch (ArgumentException) { throw; } catch (Exception) { throw new Exception("Ocurrió un error, contacte al administrador"); } }
/// <summary> /// Es horrible, sin terminar /// </summary> /// <param name="p"></param> /// <returns></returns> public static bool Quitar(Producto p) { List <Producto> productosAux = new List <Producto>(); bool retorno = false; try { string consulta = String.Format("Select * from Comiqueria"); comando.CommandText = consulta; conexion.Open(); SqlDataReader oDr = comando.ExecuteReader(); while (oDr.Read()) { int codigo = int.Parse(oDr["Codigo"].ToString()); string descripcion = oDr["Descripcion"].ToString(); int stock = int.Parse(oDr["Stock"].ToString()); double precio = double.Parse(oDr["Precio"].ToString()); //int codigo, string descripcion, int stock, double precio) p = new Producto(codigo, descripcion, stock, precio); productosAux.Add(p); } for (int i = 0; i < productosAux.Count; i++) { if (productosAux[i].ToString() == p.ToString()) { //asddddddddddd break; } } } catch (Exception e) { ComiqueriaException ex = new ComiqueriaException("Hubo un error al quitar los productos"); ArchivoTexto.Escribir(ex.Ruta, ex.Texto, true); throw ex; } finally { conexion.Close(); } return(retorno); }
static ComiqueriaDAO() { try { conexion = new SqlConnection(@"Data Source=.\SQLEXPRESS; Initial Catalog=Comiqueria; Integrated Security = True"); comando = new SqlCommand(); comando.CommandType = CommandType.Text; comando.Connection = conexion; } catch (Exception e) { ComiqueriaException ex = new ComiqueriaException("No se agregar el producto"); ArchivoTexto.Escribir(ex.Ruta, ex.Texto, true); throw ex; } }
public static List <Producto> LeerProductos() { List <Producto> productoAux = new List <Producto>(); Producto producto; string consulta = String.Format("Select * from Comiqueria"); try { comando.CommandText = consulta; conexion.Open(); SqlDataReader oDr = comando.ExecuteReader(); while (oDr.Read()) { int codigo = int.Parse(oDr["Codigo"].ToString()); string descripcion = oDr["Descripcion"].ToString(); int stock = int.Parse(oDr["Stock"].ToString()); double precio = double.Parse(oDr["Precio"].ToString()); producto = new Producto(codigo, descripcion, stock, precio); productoAux.Add(producto); } } catch (Exception e) { ComiqueriaException ex = new ComiqueriaException("Hubo un error al leer los productos"); ArchivoTexto.Escribir(ex.Ruta, ex.Texto, true); throw ex; } finally { conexion.Close(); } return(productoAux); }