none
recorer un list con un foreach RRS feed

  • Pregunta

  • como recorrer una lista de directorios  .   buenas tardes lo que quiero es recorrer unos directorios asociados a un id  en una base de datos yo hago la  consulta me devuelve una lista de ids  como ven esa se la paso  uno a  uno para que lo  juente con otra palabra   digamos en mi base de datos tengo 15943   que es el id del pedido  pero la carpeta se llama pedidos_15943

     listaIdsPedidos -> contiene diferentes id  por eso tengo que ir recoriendo y igualando  a un string para despues poder combiar con la palabra pedido asi poder borrar  esta la funcion de combianado  

     public string combi(string listaIdsPedidos, string ruta)
            {
                string pathPedido = @"Pedido_" + listaIdsPedidos.PadLeft(7, '0');
                string pathToDelete = Path.Combine(ruta, pathPedido);

                return pathToDelete;
            }


    es la q llamo                                                             

     private void button1_Click(object sender, EventArgs e)
            {
                pedido P = new pedido();
                recuperar_tareas R = new recuperar_tareas();
                SqlConnection con = new SqlConnection(pedido.CONN);
                comando.Connection = con;

                string pathBase= Convert.ToString(textBox1.Text); ;
                string comienzo = Convert.ToString(tarea.Text);
                DateTime fecha = DateTime.Today;

                string []resultado=P.cortaruta( pathBase);
                string ruta = resultado[0];//almaceno la ruta 
                string dias = resultado[1];//almaceno la dias
                List<string> listaIdsPedidos = new List<string>(); ;
                R.insertarinicio(comienzo, pathBase, fecha);//inserta en la tabla los datos de comienzo del borrado

                if (Directory.Exists(ruta))
                {
                    try
                    {
                        listaIdsPedidos = P.busqueda2(dias);
                        foreach( dir in listaIdsPedidos )// nose como hacerlo  y ir cambiando el valor de la list 
                        string idp = listaIdsPedidos[i];
                        string pathToDelete = P.combi(idp, ruta);
                        Directory.Delete(pathToDelete, true);

                        DateTime fecha2 = DateTime.Today;//fecha y horacuando acabo la tarea 
                        R.insertarfin(fecha2);
                    }

                    catch (IOException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
                else
                {
                    DateTime fecha3 = DateTime.Today;//fecha y hora cuando comenzo y comprobacion para que no lo haga el mismo dia 
                    DateTime fechaanterio = Convert.ToDateTime(R.recufecha());
                    if (fechaanterio != fecha3)
                    {
                        R.insertardiario(fecha3);
                        string recuperado = R.recupera();
                        string []recp=P.cortaruta(recuperado);
                        ruta = recp[0];
                        dias = recp[1];
                        IdPedido = P.busqueda2(dias);
                        string pathToDelete = P.combi(IdPedido, ruta);
                        Directory.Delete(pathToDelete, true);
                        if ()//comprobacion que a borrado todo 
                        {
                            DateTime fecha4 = DateTime.Today;//fecha y horacuando acabo la tarea 
                            R.insertarfin(fecha4);
                        }


                    }


                }
                    con.Close();
            }

    jueves, 29 de octubre de 2015 14:50

Respuestas