public CargaLogica(string archivo, string pathSave) { rootPath = pathSave; FullNombreArchivo = archivo; NombreArchivo = Path.GetFileName(archivo); string nombreArchivo = null; string extensionArchivo = null; nombreArchivo = Path.GetFileNameWithoutExtension(NombreArchivo); extensionArchivo = Path.GetExtension(NombreArchivo); if (extensionArchivo.Contains("CAM")) { if (NombreArchivo.Split('_')[0] == "NOMINA" | NombreArchivo.Split('_')[0] == "INOMINA") { extensionArchivo = ".CSV"; // SE COMENTA ESTA LINEA PARA EVITAR QUE SE RENOMBRE EL ARCHIVO NOMINA NombreArchivo = nombreArchivo + extensionArchivo; } ValidaNombre = ValidaNombreArchivo(NombreArchivo); } else { ValidaNombre = false; } MensajeExcepcion = ""; }
public void CargarArchivo(int contratoId) { if (!NombreArchivo.Distinct().Any()) { return; } if (ValidaNombre) { ObtieneTipoLinea(NombreArchivo.Split('_')[0]); var idestado = 0; idestado = LeeArchivo(NombreArchivo.Split('_')[0], TipoLinea, contratoId); // if (idestado > 2) { MensageError = "No se puede procesar archivo por estar aprobado/pagado"; ContadorErrores = ContadorErrores + 1; } else { if (idestado == 2) { MensageError = "No se puede procesar archivo por tener Checklists"; ContadorErrores = ContadorErrores + 1; } } } else { MensageError = "Nombre de archivo no cumple formato"; ContadorErrores = ContadorErrores + 1; NombreArchivo = string.Empty; } }
private void ProcesarErrores(string tipoArchivo) { if (ValidacionesArchivo(tipoArchivo, 2) == false) { //COMENTADO ESTA VALIDACION SE USA EN EL ANTIGUO SISTEMA //using (var context = new DISEntities()) //{ // Resultado = context.pa_file_ObtieneErrorArchivo(IdArchivo); // var result = context.pa_file_ObtieneErrorArchivo(IdArchivo); // var nombre = ""; // var largo = 0; // foreach (var datoLoopVariable in result) // { // var dato = datoLoopVariable; // if (dato.NumeroLinea.Value > 0) // { // nombre = dato.NombreArchivo; // largo = dato.LargoCampo.Value; // } // } // if (nombre != string.Empty & largo != null) // { // //If largo = 25 Then // var valor1 = context.pa_valida_CodigoTransferenciaNomina(nombre, IdArchivo, largo); // var resultado = 0; // resultado = valor1.FirstOrDefault().Value; // if (resultado == 0) // { // Resultado = null; // Observacion = // "No existe liquidación, debe cargar liquidación y despúes la nómina"; // //End If // } // } //} } //if (ContadorErrores == 0) //{ using (var context = new DISEntities()) { var cantidadRes = context.pa_file_CantidadRegistroArchivo(IdArchivo).FirstOrDefault(); moneda = cantidadRes.Moneda; importe = string.Format(formatoMoneda, cantidadRes.Importe); ContadorExito = Convert.ToInt32(cantidadRes.cantidad); Observacion = "<br> Registros procesados correctamente :" + ContadorExito.ToString() + " <br> Datos observados :" + ContadorErrores.ToString(); //insrtar auditoria } //} //esto válida que los montos por cuspp no sean mayor a lo establecido //en la entidad: negocio.MontoAlto if (NombreArchivo.Substring(0, 3).ToLower() == "liq") { using (var context = new DISEntities()) { var monto = context.pa_valida_MontoAlto(IdArchivo, Convert.ToInt32(UsuarioModificacion)); string montoAlto = null; montoAlto = monto.ToString(); if (montoAlto == "1") { dynamic monto1 = context.pa_devuelveresultado(IdArchivo); var correo = ""; foreach (var registroLoopVariable in monto1) { var registro = registroLoopVariable; correo = registro.correo; Observacion = Observacion + "\\n Monto alto cargado al CUSPP: " + registro.Cuspp + ", por valor = " + registro.Valor.ToString; InsertaAuditoria(Convert.ToInt32(UsuarioModificacion), Observacion, NombreArchivo, IdArchivo); } Correo = correo; } } } }
private void btnRutaCarpeta_Click(object sender, EventArgs e) { if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { txtRutaCarpeta.Text = folderBrowserDialog1.SelectedPath; // Ruta Directorio dirPath = folderBrowserDialog1.SelectedPath; #region Variables // Creamos una Variable Tipo Lista para almacenar los nombres de los archivos List <string> ListaArchivos = new List <string>(); // Creamos una lista para almacenar los numeros de Factura Temporales List <string> ListaNumerosFactura = new List <string>(); // Creamos una lista para almacenar los numeros de Factura Unicos List <string> ListaNumerosFacturaUnicos = new List <string>(); // Creamos una variable tipo lista para obtener el numbre completo de cada archvio, que incluye la ruta List <string> ListaArchivosFullName = new List <string>(); // Cremos una variable tipo Lista para almacenar los nombres de los directorios nuevos creados //List<string> ListaDirectorios = new List<string>(); #endregion // Almacenamos en la variable Tipo Lista los nombres de los archivos ListaArchivos = Lista.ListarArchivosName(dirPath, "*.txt"); // Almacenamos los nombres completos de los archivos en la variable ListaArchivosFullName ListaArchivosFullName = Lista.ListarArchivosFullName(dirPath, "*.txt"); foreach (var NombreArchivo in ListaArchivos) { String IdFactura; // Obtener el Numero de la Factura IdFactura = NombreArchivo.Substring(2, 6); // Agregamos los IdFactura a la Lista de Numeros de Factura ListaNumerosFactura.Add(IdFactura); } // Leemos los Nombres de las Facturas almacendads en ListaNumerosFacturas // Si en ListaNumerosFacturaUnicos estiste el Numero de ListaNumerosFactura, no hace nada // Si no existe lo ingresa en ListaNumerosFacturaUnicos foreach (var Numeros in ListaNumerosFactura) { if (ListaNumerosFacturaUnicos.Contains(Numeros)) { //MessageBox.Show("Contiene el numero " + Numeros); } else { //MessageBox.Show("No Contiene el numero " + Numeros); ListaNumerosFacturaUnicos.Add(Numeros); } } // Leemos los numeros unicos y creamos las carpetas con cada nombre foreach (var NumeroUnico in ListaNumerosFacturaUnicos) { // Directorio string folderName = dirPath; // SubCarpetas - Nombres de Facturas Unicas string pathString = System.IO.Path.Combine(folderName, NumeroUnico); //Creacion de Carpetas System.IO.Directory.CreateDirectory(pathString); } // Mover Archivos a sus Respectivos Directorios // Almacenamos en un arreglo el listado de los Directorios Nuevos string[] ListaDirectorios = System.IO.Directory.GetDirectories(dirPath); foreach (var Directorios in ListaDirectorios) { foreach (var Archivo in ListaArchivosFullName) { // NOMBRE CARPETA // Obtenemos la posicion del ultimo BackSlach para identificar donde empieza el nombre del Directorio // Se añade 1 para no obtener el BackSlach int PosicionUltimoSlash = Directorios.LastIndexOf("\\") + 1; // Obtenemos la longitud total de la cadena int LongitudNombre = Directorios.Length; // Obtenemos el Nombre de la Carpeta string nombreDirectorio = Directorios.Substring(PosicionUltimoSlash, LongitudNombre - PosicionUltimoSlash); // NOMBRE ARCHIVO // Obtenemos la posicion del ultimo BackSlach para identificar donde empieza el nombre del Archivo // Se suman dos posiciones para quitar el BackSlach y las Iniciales del Archivo de RIPS int PosicionUltimoSlashArchivo = Archivo.LastIndexOf("\\") + 3; // Obtenemos la longitud total de la cadena // Se restan 4 posiciones por la extension de los archivos int LongitudNombreArchivo = Archivo.Length - 4; // Obtenemos el Nombre del Archivo string nombreArchivo = Archivo.Substring(PosicionUltimoSlashArchivo, LongitudNombreArchivo - PosicionUltimoSlashArchivo); // Obtenemos el Nombre del Archivo incluida la Extension int Slash = Archivo.LastIndexOf("\\") + 1; int Longitud = Archivo.Length; string nombreCompleto = Archivo.Substring(Slash, Longitud - Slash); if (nombreArchivo == nombreDirectorio) { string archivoOrigen = Archivo; string archivoDestino = System.IO.Path.Combine(Directorios, nombreCompleto); System.IO.File.Move(archivoOrigen, archivoDestino); } } } } }