Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        //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");
            }
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
 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;
     }
 }
Beispiel #6
0
        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);
        }
Beispiel #7
0
 public ComiqueriaException(string mensaje, Exception innerException) : base(mensaje, innerException)
 {
     ArchivoTexto.Escribir(this, true);
 }