コード例 #1
0
        /// <summary>
        /// Encripta los archivos planos.
        /// </summary>
        /// <param name="FechaInicio"></param>
        /// <param name="Str_Turno_block"></param>
        /// <param name="IdPlazaCobro"></param>
        /// <param name="Arch1"></param>
        /// <param name="Arch2"></param>
        /// <param name="Arch3"></param>
        /// <param name="Arch4"></param>
        /// <param name="Arch5"></param>


        public void EncriptarArchivos(DateTime FechaInicio, string Str_Turno_block, string IdPlazaCobro, string Arch1, string Arch2, string Arch3, string Arch4, string Arch5, string Plaza)
        {
            try
            {
                var Mes = FechaInicio.ToString("MM");
                var Año = FechaInicio.ToString("yyyy");

                switch (Mes)
                {
                case "01":
                    Mes = "enero";
                    break;

                case "02":
                    Mes = "febrero";
                    break;

                case "03":
                    Mes = "marzo";
                    break;

                case "04":
                    Mes = "abril";
                    break;

                case "05":
                    Mes = "mayo";
                    break;

                case "06":
                    Mes = "junio";
                    break;

                case "07":
                    Mes = "julio";
                    break;

                case "08":
                    Mes = "agosto";
                    break;

                case "09":
                    Mes = "septiembre";
                    break;

                case "10":
                    Mes = "octubre";
                    break;

                case "11":
                    Mes = "noviembre";
                    break;

                case "12":
                    Mes = "diciembre";
                    break;
                }

                //Cambio para Mostrar la carpeta de la plaza correspondiente
                //string Dir_archivo_sinEncriptar2 = Ruta + Plaza.Substring(3) + "\\" + Año + "\\" + Mes + "\\" + FechaInicio.ToString("dd") + "\\" + "SinEncriptar\\";
                //string Dir_archivo_sinEncriptar = Ruta + Plaza.Substring(3) + "\\" + Año + "\\" + Mes + "\\" + FechaInicio.ToString("dd") + "\\" + "SinEncriptar\\";
                string Dir_archivo_sinEncriptar2 = Ruta + "\\" + "SinEncriptar\\";
                string Dir_archivo_sinEncriptar  = Ruta + "\\" + "SinEncriptar\\";

                //string Nombre_archivo_de_errores = Format(dt_Fecha_Inicio, "dd") & "_errores.txt"

                string Nombre_archivo = string.Empty;

                int Int_turno = 0;

                if (Str_Turno_block.Substring(0, 2) == "06")
                {
                    Int_turno = 5;
                }
                else if (Str_Turno_block.Substring(0, 2) == "14")
                {
                    Int_turno = 6;
                }
                else if (Str_Turno_block.Substring(0, 2) == "22")
                {
                    Int_turno = 4;
                }



                using (ZipFile zipOriginales = new ZipFile())
                {
                    zipOriginales.Password   = "******";
                    zipOriginales.Encryption = EncryptionAlgorithm.WinZipAes256;

                    zipOriginales.AddFile(Ruta + Arch1, "");
                    zipOriginales.AddFile(Ruta + Arch2, "");
                    zipOriginales.AddFile(Ruta + Arch3, "");
                    zipOriginales.AddFile(Ruta + Arch4, "");
                    zipOriginales.AddFile(Ruta + Arch5, "");


                    if (IdPlazaCobro.Length == 3)
                    {
                        if (IdPlazaCobro == "108")
                        {
                            Nombre_archivo = "0001";
                        }
                        else if (IdPlazaCobro == "109")
                        {
                            Nombre_archivo = "001B";
                        }
                        else if (IdPlazaCobro == "107")
                        {
                            Nombre_archivo = "0107";
                        }
                        else if (IdPlazaCobro == "061")
                        {
                            Nombre_archivo = "061B";
                        }
                        else if (IdPlazaCobro == "086" || IdPlazaCobro == "083" || IdPlazaCobro == "027")
                        {
                            Nombre_archivo = Nombre_archivo + "01" + IdPlazaCobro.Substring(1, 2);
                        }
                        else
                        {
                            Nombre_archivo = "0" + IdPlazaCobro;
                        }
                    }

                    Nombre_archivo = Nombre_archivo + FechaInicio.ToString("MM") + FechaInicio.ToString("dd") + ".Z" + Int_turno + StrIdentificador;

                    if (!Directory.Exists(Dir_archivo_sinEncriptar))
                    {
                        Directory.CreateDirectory(Dir_archivo_sinEncriptar);
                    }


                    zipOriginales.Save(Dir_archivo_sinEncriptar + Nombre_archivo);
                    //ArchivoZip = Dir_archivo_sinEncriptar + Nombre_archivo;
                }


                EncriptCapufe.EncriptCapufe encripta = new EncriptCapufe.EncriptCapufe();
                encripta.EncriptarFile(Ruta + Arch1);
                encripta.EncriptarFile(Ruta + Arch2);
                encripta.EncriptarFile(Ruta + Arch3);
                encripta.EncriptarFile(Ruta + Arch4);
                encripta.EncriptarFile(Ruta + Arch5);
                //Message = "TODO BIEN";
            }
            catch (Exception ex)
            {
                Message = ex.Message + " " + ex.StackTrace;
                Message = Message.Replace(System.Environment.NewLine, "  ");
            }
        }
コード例 #2
0
        public void SeleccionarArchivos(List <HttpPostedFileBase> lista, string ruta)
        {
            ControlesExportar model = new ControlesExportar();
            var cadena       = string.Empty;
            var nom_archivo  = string.Empty;
            var cadena2      = string.Empty;
            var ruta_Guardar = string.Empty;



            try
            {
                foreach (var item in lista)
                {
                    item.SaveAs(ruta + item.FileName);
                }

                //var url = ruta + lista.LastOrDefault().FileName;
                var url = ruta + lista[3].FileName;



                //Busca el año
                var objeReader = new StreamReader(url);
                var Line       = objeReader.ReadLine();
                var Fecha      = Line.Substring(20, 4);
                objeReader.Close();



                foreach (var indi in lista)
                {
                    //Encriptar los archivos
                    EncriptCapufe.EncriptCapufe encriptar = new EncriptCapufe.EncriptCapufe();
                    encriptar.EncriptarFile(ruta + indi.FileName);
                }


                //Agregar a Zip

                using (ZipFile zip = new ZipFile())
                {
                    foreach (var indi in lista)
                    {
                        zip.AddFile(ruta + indi.FileName + "");
                    }

                    //Creamos el nombre zip

                    ruta_Guardar = @"C:\ArchivosPlanosWeb\";
                    //string Carpeta = @"C:\Users\Desarrollo3\Desktop\ArchivosPlanosWebModel\ArchivosPlanosWeb\Descargas\";


                    string valida;
                    valida = url.Substring(url.Length - 3);
                    if (valida == "49A")
                    {
                        cadena      = lista.Find(x => x.FileName.Substring(9, 3) == "4PA").FileName;
                        nom_archivo = cadena.Substring(0, 8) + "." + "Z" + cadena.Substring(9, 1) + "A";
                    }
                    else if (valida == "59A")
                    {
                        cadena      = lista.Find(x => x.FileName.Substring(9, 3) == "5PA").FileName;
                        nom_archivo = cadena.Substring(0, 8) + "." + "Z" + cadena.Substring(9, 1) + "A";
                    }
                    else if (valida == "69A")
                    {
                        cadena      = lista.Find(x => x.FileName.Substring(9, 3) == "6PA").FileName;
                        nom_archivo = cadena.Substring(0, 8) + "." + "Z" + cadena.Substring(9, 1) + "A";
                    }


                    //Guardamos Zip

                    if (!System.IO.File.Exists(nom_archivo))
                    {
                        zip.Save(ruta_Guardar + nom_archivo);
                    }
                }
                //Creamos el archivo HASH


                HashClass.HashClass hash = new HashClass.HashClass();
                var    textoEncriptado   = hash.EncryptString(ruta_Guardar + "\\" + nom_archivo);
                string PathF             = ruta_Guardar + "\\HASH.txt";

                //Escribimos el archivo Hash

                using (StreamWriter sw = File.CreateText(PathF))
                {
                    sw.WriteLine("ValidaHASH");
                    sw.WriteLine(textoEncriptado);
                    sw.Close();
                }

                //Agregamos Zip

                using (ZipFile zip2 = new ZipFile())
                {
                    zip2.AddFile(ruta_Guardar + "\\" + nom_archivo, "");
                    zip2.AddFile(PathF, "");
                    string nombre_Archivo2 = nom_archivo.Substring(0, 8) + Fecha + nom_archivo.Substring(8);
                    //string ruta_Guardar3 = ruta_Guardar + nom_archivo;
                    if (!System.IO.File.Exists(nombre_Archivo2))
                    {
                        zip2.Save(ruta_Guardar + "\\" + nombre_Archivo2);

                        System.IO.File.Delete(PathF);
                        System.GC.Collect();
                        System.GC.WaitForPendingFinalizers();
                        File.Delete(ruta_Guardar + nom_archivo);
                    }
                }
                foreach (var indi in Directory.GetFiles(@"C:\Users\Desarrollo3\Desktop\ArchivosPlanosWeb\ArchivosPlanosWeb\Temp"))
                {
                    File.Delete(indi);
                }
                Message = "Archvios encriptados correctamente en :  ";
            }
            catch (Exception ex)
            {
                Message = ex.Message + " " + ex.StackTrace;
                Message = Message.Replace(System.Environment.NewLine, "  ");
            }
        }