Exemple #1
0
        public bool ActualizarLaptopMemoria(int idLC, BindingList <Memoria> memorias, string usuario)
        {
            string sql    = "SET autocommit=0;";
            bool   commit = objManager.EjecutarNonQuery(sql);

            objManager.conexion.Close(); objManager.conexion.Dispose(); objManager.cmd.Dispose();
            bool error = false;

            if (commit)
            {
                sql = "Select * From memoria_LC where idLC=" + idLC + " ;";
                MySqlDataReader reader;
                reader = objManager.MostrarInformacion(sql);
                BindingList <Memoria> memoriasAux = new BindingList <Memoria>();
                while (reader.Read())
                {
                    Memoria memoria = new Memoria();
                    memoria.IdMemoria = reader.GetInt32("idMemoria");
                    memoria.Cantidad  = reader.GetInt32("cantidad");
                    memoriasAux.Add(memoria);
                }
                if ((reader.HasRows))
                {
                    parametrosEntrada          = new MySqlParameter[1];
                    parametrosEntrada[0]       = new MySqlParameter("@_idLC", MySqlDbType.Int32);
                    parametrosEntrada[0].Value = idLC;
                    error = objManager.EjecutarProcedure(parametrosEntrada, "delete_memoria_LC");
                    if (!error)
                    {
                        sql    = "ROLLBACk;";
                        commit = objManager.EjecutarNonQuery(sql);
                        objManager.conexion.Close(); objManager.conexion.Dispose(); objManager.cmd.Dispose();
                        return(error);
                    }
                    foreach (Memoria m in memoriasAux)
                    {
                        int _idMemoria = m.IdMemoria;
                        int _cantidad  = m.Cantidad;

                        parametrosEntrada          = new MySqlParameter[2];
                        parametrosEntrada[0]       = new MySqlParameter("@_idMemoria", MySqlDbType.Int32);
                        parametrosEntrada[1]       = new MySqlParameter("@_cantidad", MySqlDbType.Int32);
                        parametrosEntrada[0].Value = _idMemoria;
                        parametrosEntrada[1].Value = _cantidad;
                        error = objManager.EjecutarProcedure(parametrosEntrada, "update_memoria_cantidad");
                        if (!error)
                        {
                            sql    = "ROLLBACk;";
                            commit = objManager.EjecutarNonQuery(sql);
                            objManager.conexion.Close(); objManager.conexion.Dispose(); objManager.cmd.Dispose();
                            return(error);
                        }
                    }
                }
                objManager.conexion.Close(); objManager.conexion.Dispose(); objManager.cmd.Dispose();

                foreach (Memoria m in memorias)
                {
                    parametrosEntrada    = new MySqlParameter[4];
                    parametrosEntrada[0] = new MySqlParameter("@_idMemoria", MySqlDbType.Int32);
                    parametrosEntrada[1] = new MySqlParameter("@_idLC", MySqlDbType.Int32);
                    parametrosEntrada[2] = new MySqlParameter("@_cantidad", MySqlDbType.Int32);
                    parametrosEntrada[3] = new MySqlParameter("@_usuario_ins", MySqlDbType.VarChar, 100);

                    parametrosEntrada[0].Value = m.IdMemoria;
                    parametrosEntrada[1].Value = idLC;
                    parametrosEntrada[2].Value = m.Cantidad;
                    parametrosEntrada[3].Value = usuario;

                    error = objManager.EjecutarProcedure(parametrosEntrada, "insert_memoria_LC");
                    if (!error)
                    {
                        sql    = "ROLLBACk;";
                        commit = objManager.EjecutarNonQuery(sql);
                        objManager.conexion.Close(); objManager.conexion.Dispose(); objManager.cmd.Dispose();
                        return(error);
                    }
                }
            }
            sql    = "COMMIT; SET autocommit=1;";
            commit = objManager.EjecutarNonQuery(sql);
            objManager.conexion.Close(); objManager.conexion.Dispose(); objManager.cmd.Dispose();
            return(true);
        }