none
ayuda con copiar un fichero RRS feed

  • Pregunta

  • buenos dias tengo estas duda en mi codigo como pueden ver recibo  idpeido  y la ruta  donde quiero copiar el fichero de dicho pedido ahora bueno el pedido puedete tner 2 lineas de pedido una con fichero otra  sin el en raros casos tienen los 2 lo que quiero saber es  como comprobar los 2 idlinea  para ver si tienen fichero 


                public string comppdf(int idped,string ficherodestino)
            {
                string mensaje, ficherorigen,ruta3="Adjuntos",id2;
                id2 = Convert.ToString(idped);
                
                string ruta = @"Ficheros\Pedidos\Pedido_" + id2.PadLeft(7, '0');

                ficherorigen = @"select idlinea from tblinea_pedido
                               where   idpedido=@idped ";
                SqlCommand sqlcmd = new SqlCommand(ficherorigen, conn);
                sqlcmd.Parameters.Clear();
                sqlcmd.Parameters.AddWithValue("@idped", idped);
                string pathPedido = @"linea_" + ficherorigen;
                string combilinea = Path.Combine(ruta, pathPedido,ruta3);
                if (File.Exists(combilinea))
                {
                    File.Copy(combilinea, ficherodestino);
                    mensaje = "TIENE CERTIFICADO.ADJUNTAMOS CERTIFICADO";
                }


                return mensaje;
            }


    lunes, 11 de enero de 2016 9:53

Todas las respuestas

  • Hola, buenas.

    Para eso tendrás que ejecutar tu consulta y leer las filas devueltas. Para eso podrías hacerlo con el método ExecuteReader del SqlCommand. Aquí un ejemplo.

    Depués para cada resultado tratarlo con la lógica adecuada en función de lo que hayas leído. Para aumentar la claridad del código yo generaría una clase que te permita encapsular esa funcionalidad, que la "rellenes" en el acceso a datos y luego ella solita tenga los métodos y propiedades para saber qué hacer.

    Intentá con estas cosas y si te atascás avisanos y te seguimos ayudando.

    Salu2

    PD: para que nos sea más fácil de leer cuando envíes un mensaje con código hay un botón en la ventana de nuevo mensaje que te permite meter código formateado.

    lunes, 11 de enero de 2016 10:29
  • buenas no te entendí muy bien  después de lo que subí me di cuenta que faltaba execute como dije antes el problema solo ese tengo 2 lineas de pedido se podria usar una vector y almacenar las 2 lineas para poder despues comparar y ver si tienen pdf y si no tiene una pues ya esta el problema es que en algunos casos las 2 lineas tienen pdf nose que me podrían recomendar usar en ese caso

            public string comppdf(int idped,string ficherodestino)
            {
                string mensaje=null, ficherorigen,ruta3="Adjuntos",id2;
                id2 = Convert.ToString(idped);
                
                string ruta = @"\Ficheros\Pedidos\Pedido_" + id2.PadLeft(7, '0');
                using (SqlConnection conn = new SqlConnection(CONN))
                {
                    conn.Open();
                    ficherorigen = @"select idlinea from tblinea_pedido
                               where   idpedido=@idped ";
                    SqlCommand sqlcmd = new SqlCommand(ficherorigen, conn);
                    sqlcmd.Parameters.Clear();
                    sqlcmd.Parameters.AddWithValue("@idped", idped);
                    string pathPedido = @"linea_" + ficherorigen;
                    string combilinea = Path.Combine(ruta, pathPedido, ruta3);
                    if (File.Exists(combilinea))
                    {
                        File.Copy(combilinea, ficherodestino);
                        mensaje = "TIENE CERTIFICADO.ADJUNTAMOS CERTIFICADO";
                    }
                    conn.Close();
                }
                return mensaje;
            }

    lunes, 11 de enero de 2016 11:18
  • No entiendo tu pregunta. ¿Podrías intentar explicarlo de otra forma?

    ¿En la tabla tblinea_pedido hay un campo que te indique si tiene fichero o no? De ser así añadile al SQL la condición de que tenga fichero, entonces después ejecutas la consulta como en el ejemplo que te pasé y para cada fila de esa consulta realizas la copia.

    Salu2

    lunes, 11 de enero de 2016 11:42
  • no lo hay por eso eh ahi mi dilema nose como gestionar  el id linea ser 2 
    lunes, 11 de enero de 2016 11:47