/// <summary>
 /// elimina el inventario
 /// </summary>
 /// <param name="dato"></param>
 public void eliminar(Inventario dato)
 {
     using (Database db = DatabaseFactory.openDatabase("inventario_web_db"))
     {
         MySqlCommand comando = new MySqlCommand("sp_inventario_DELETE");
         comando.CommandType = CommandType.StoredProcedure;
         comando.Parameters.AddWithValue("p_idInventario", dato.idInventario);
         db.executeNonQuery(comando);
     }
 }
 /// <summary>
 /// crea un inventario
 /// </summary>
 /// <param name="dato"></param>
 public void nuevo(Inventario dato)
 {
     if (!this.existe(dato))
     {
         this.inventarioDao.nuevo(dato);
     }
     else
     {
         throw new Exception("Ya existe el registro.");
     }
 }
 /// <summary>
 /// modifica un inventario
 /// </summary>
 /// <param name="dato"></param>
 public void modificar(Inventario dato)
 {
     using (Database db = DatabaseFactory.openDatabase("inventario_web_db"))
     {
         MySqlCommand comando = new MySqlCommand("sp_inventario_UPDATE");
         comando.CommandType = CommandType.StoredProcedure;
         comando.Parameters.AddWithValue("p_idInventario", dato.idInventario);
         comando.Parameters.AddWithValue("p_descripcion", dato.descripcion);
         comando.Parameters.AddWithValue("p_marca", dato.marca);
         comando.Parameters.AddWithValue("p_modelo", dato.modelo);
         comando.Parameters.AddWithValue("p_serie", dato.serie);
         comando.Parameters.AddWithValue("p_ubicacion", dato.ubicacion); ;
         comando.Parameters.AddWithValue("p_registrado", dato.registrado);
         comando.Parameters.AddWithValue("p_modoAdquisicion", dato.modoAdquisicion);
         comando.Parameters.AddWithValue("p_usuarioModificacion", dato.usuarioModificacion);
         comando.Parameters.AddWithValue("p_estado", dato.estado);
         comando.Parameters.AddWithValue("p_precio", dato.precio); 
          
         db.executeNonQuery(comando);
     }
 }
        /// <summary>
        /// actualiza un registro
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ASPxGridView1_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e)
        {
            try
            {
                Inventario inventario = new Inventario();
                //llena el objeto con los valores
                inventario.idInventario = int.Parse(e.NewValues["idInventario"].ToString());
                inventario.descripcion = e.NewValues["descripcion"].ToString();
                inventario.usuarioCreacion = Session["usuario"].ToString();
                inventario.estado =  Int32.Parse(e.NewValues["estado"].ToString());
                inventario.marca = Int32.Parse(e.NewValues["marca"].ToString());
                inventario.modelo = e.NewValues["modelo"].ToString();
                inventario.precio = Double.Parse(e.NewValues["precio"].ToString());
                inventario.serie = e.NewValues["serie"].ToString();
                inventario.ubicacion = Int32.Parse((e.NewValues["ubicacion"].ToString()));
                inventario.registrado = e.NewValues["registrado"].ToString();
                inventario.modoAdquisicion = Int32.Parse(e.NewValues["modoAdquisicion"].ToString());

                inventarioBo.modificar(inventario);//agrega el objeto a la base de datos

                e.Cancel = true;//manejo de execpcion no controlada BUSCAR SOLUCION
                this.ASPxGridView1.CancelEdit();

                this.cargarDatos();//refescar los datos
            }
            catch (Exception ex)
            {
                Session["ErrorGenerado"] = ex.ToString();
            }
        }
 /// <summary>
 /// verifica si existe un inventario
 /// </summary>
 /// <param name="dato"></param>
 /// <returns>TRUE si existe FALSE en caso contrario</returns>
 public bool existe(Inventario dato)
 {
     Inventario objeto = new Inventario();
     using (Database db = DatabaseFactory.openDatabase("inventario_web_db"))
     {
         MySqlCommand comando = new MySqlCommand("sp_inventario_SELECT_ByID");
         comando.CommandType = CommandType.StoredProcedure;
         comando.Parameters.AddWithValue("p_idInventario", dato.idInventario);
         DataSet ds = db.executeReader(comando, "inventario");
         if (ds.Tables[0].Rows.Count > 0)
         {
             DataRow row = ds.Tables[0].Rows[0];
             objeto.idInventario = int.Parse(row["idInventario"].ToString());
         }
         else
         {
             objeto = null;
         }
     }
     if (objeto != null)
         return true;
     else
         return false;
 }
        /// <summary>
        /// consulta todo el inventario
        /// </summary>
        /// <returns>DataSet</returns>
        public List<Inventario> consultarTodos()
        {
            List<Inventario> lista = new List<Inventario>();
            Database db = DatabaseFactory.openDatabase("inventario_web_db");
            MySqlCommand comando = new MySqlCommand("sp_inventario_SELECT_all");
            comando.CommandType = CommandType.Text;
            DataSet ds = db.executeReader(comando, "inventario");
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                Inventario dato = new Inventario();
                dato.idInventario = int.Parse(row["idInventario"].ToString());
                dato.descripcion = row["descripcion"].ToString();
                dato.estado = int.Parse(row["estado"].ToString());

                dato.usuarioCreacion = row["usuarioCreacion"].ToString();
                dato.usuarioModificacion = row["usuarioModificacion"].ToString();
                if (!row["fechaCreacion"].ToString().Equals(""))
                    dato.fechaCreacion = DateTime.Parse(row["fechaCreacion"].ToString());
                if (!row["fechaModificacion"].ToString().Equals(""))
                    dato.fechaModificacion = DateTime.Parse(row["fechaModificacion"].ToString());
                lista.Add(dato);
            }
            return lista;
        }
        /// <summary>
        /// consulta un inventario
        /// </summary>
        /// <param name="dato"></param>
        /// <returns></returns>
        public Inventario consultarId(Inventario dato)
        {

            using (Database db = DatabaseFactory.openDatabase("inventario_web_db"))
            {
                MySqlCommand comando = new MySqlCommand("sp_inventario_SELECT_ByID");
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.AddWithValue("p_idInventario", dato.idInventario);
                DataSet ds = db.executeReader(comando, "inventario");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    DataRow row = ds.Tables[0].Rows[0];
                    dato.idInventario = int.Parse(row["idInventario"].ToString());
                    dato.descripcion = row["descripcion"].ToString();
                    dato.estado = int.Parse(row["estado"].ToString());

                    dato.usuarioCreacion = row["usuarioCreacion"].ToString();
                    dato.usuarioModificacion = row["usuarioModificacion"].ToString();
                    if (!row["fechaCreacion"].ToString().Equals(""))
                        dato.fechaCreacion = DateTime.Parse(row["fechaCreacion"].ToString());
                    if (!row["fechaModificacion"].ToString().Equals(""))
                        dato.fechaModificacion = DateTime.Parse(row["fechaModificacion"].ToString());
                }
                else
                {
                    dato = null;
                }
                return dato;
            }
        }
 /// <summary>
 /// modifica el inventario
 /// </summary>
 /// <param name="dato"></param>
 public void modificar(Inventario dato)
 {
     if (this.existe(dato))
     {
         this.inventarioDao.modificar(dato);
     }
     else
     {
         throw new Exception("No existe el registro.");
     }
 }
 /// <summary>
 /// verifica si existe una inventario
 /// </summary>
 /// <param name="dato"></param>
 /// <returns>TRUE si existe FALSE en caso contrario</returns>
 public bool existe(Inventario dato)
 {
     return this.inventarioDao.existe(dato);
 } 
 /// <summary>
 /// consulta un inventario
 /// </summary>
 /// <param name="dato"></param>
 /// <returns></returns>
 public Inventario consultarId(Inventario dato)
 {
     return this.inventarioDao.consultarId(dato);
 }