private void setAtributeClass(string path) { FullNombreArchivo = path; fileName = Path.GetFileName(FullNombreArchivo); var listNameFile = fileName.Split('_'); var nroContrato = listNameFile[0].Equals("NOMINA") ? listNameFile[3].ToString() : listNameFile[2].ToString(); IdContrato = contratoSis.listByNroContrato(new CONTRATO_SYS { NRO_CONTRATO = nroContrato }).IDE_CONTRATO; var archivo = new Archivo() { NombreArchivo = fileName }; var existeArchivo = new nArchivo().listExisteArchivo(archivo); //validando que el archivo a un no se haya cargado anteriormente if (existeArchivo.Count > 0) { lineMessageLog.AppendLine("El archivo: " + fileName + " ya fue cargado correctamente, si desea reemplazar haga click en: <br> Permitir reemplazar archivo existente."); return; } //validando para la nomina se haya cargado la liquidacion correspondiente if (listNameFile[0].Equals("NOMINA")) { var existePagoNomina = new nArchivo().listExistePagoNomina(archivo); if (existePagoNomina == 0) { lineMessageLog.AppendLine(string.Format("archivo {0} - {1}", fileName, " Para cargar el archivo de nóminas debe cargar previamente los archivos de liquidaciones en forma correcta y sin errores")); return; } } SaveFile(listNameFile); }
private void cargarValidarArchivo() { var pathRoot = Server.MapPath(string.Format(@"~\{0}\", ConfigurationManager.AppSettings["CarpetaArchivos"].ToString())); try { //david choque 27 12 2015 nombreArchivo = fileUpload.FileName.ToString().ToUpper().Replace(" ", "").Replace(" ", ""); //VALIDA SI EL NUMERO CONTRATO SELECCIONADO COICEDE CON EL ARCHIVO A CARGAR if (validarNumeroContratoXArchivo(nombreArchivo, ddl_conrato1.SelectedItem.Value) == 0) { MessageBox("El archivo que se está intentando cargar pertenece a un número de contrato diferente."); return; } //validar que el archivo seleccionado corresponde al mismo tipo al que esta seleccionado el combo combo string[] nombreArchivoValido = nombreArchivo.Split('_'); if (!nombreArchivoValido[0].ToString().ToUpper().Equals(ddl_tipo_archivo.SelectedItem.Value.ToUpper())) { MessageBox("El archivo seleccionado no corresponde al Tipo de Archivo eligido"); return; } var archivo = new Archivo() { NombreArchivo = nombreArchivo }; //aqui se verifica que, el archivo que se está cargandose ya fue cargado previamente con el mismo nombre. var existeArchivo = new nArchivo().listExisteArchivo(archivo); if (existeArchivo.Count > 0) { if (chk_permitir.Checked) { new nArchivo().actualizarEstadoArchivo(existeArchivo[0]); chk_permitir.Checked = false; chk_permitir.Visible = false; } else { MessageBox("El archivo: " + nombreArchivo + " ya fue cargado correctamente, si desea reemplazar haga click en: <br> Permitir reemplazar archivo existente."); chk_permitir.Visible = true; return; } } //si el tipo de archivo es nomina validar que se haya cargado un equivalente de pago y que se haya cargado correctamente. if (ddl_tipo_archivo.SelectedItem.Value.Equals("NOMINA")) { var existePagoNomina = new nArchivo().listExistePagoNomina(archivo); if (existePagoNomina == 0) { MessageBox("Para cargar el archivo de nóminas debe cargar previamente los archivos de liquidaciones en forma correcta y sin errores"); return; } } //fin david choque 27 12 2015 var fileName = string.Format("{0}/{1}", Server.MapPath("~/Temp/Archivos"), nombreArchivo); fileUpload.SaveAs(fileName); var cargaLogica = new CargaLogica(fileName, pathRoot) { UsuarioModificacion = /*Session["usernameId"].ToString() */ "2" }; cargaLogica.formatoMoneda = ConfigurationManager.AppSettings.Get("Float").ToString(); cargaLogica.CargarArchivo(Convert.ToInt32(ddl_conrato1.SelectedValue)); //david choque 27 12 2015 tipoArchivo = ddl_tipo_archivo.SelectedItem.Value; setCargarReglaArchivo(); //insertar log nlog.setLLenarEntidad(Convert.ToInt32(ddl_conrato1.SelectedItem.Value), "I", (tipoArchivo.Equals("NOMINA") ? "I05" : "I04"), cargaLogica.IdArchivo.ToString(), Session["username"].ToString(), "Archivo"); txt_moneda.Text = cargaLogica.moneda; txt_registro_procesado.Text = cargaLogica.ContadorExito.ToString(); txt_total_importe.Text = string.IsNullOrEmpty(cargaLogica.importe) ? "0.00" : cargaLogica.importe; txt_registro_observado.Text = cargaLogica.ContadorErrores.ToString(); filters[3] = cargaLogica.IdArchivo; //fin david choque 27 12 2015 if ((cargaLogica.MensajeExcepcion != "")) { var mensaje = "Se produjo un error al cargar el archivo.<br> " + cargaLogica.MensajeExcepcion; MessageBox(mensaje.Replace(Environment.NewLine, "").Replace("'", "")); } else { string nombre; if ((cargaLogica.NombreArchivo.Split('_')[0] == "NOMINA")) { nombre = string.Format("Nomina cargada {0} <br> {1}", (cargaLogica.ContadorErrores > 0 ? "incorrectamente" : "correctamente"), cargaLogica.Observacion); if ((cargaLogica.MensageError != String.Empty)) { nombre = (nombre + (", " + cargaLogica.MensageError)); MessageBox(nombre.Replace(Environment.NewLine, "")); } else { MessageBox(nombre.Replace(Environment.NewLine, "")); } } else if ((cargaLogica.NombreArchivo.Split('_')[0] == "INOMINA")) { nombre = string.Format("Nomina procesada {0}", (cargaLogica.ContadorErrores > 0 ? "incorrectamente" : "correctamente")); if ((cargaLogica.MensageError != String.Empty)) { nombre = (nombre + (", " + cargaLogica.MensageError)); MessageBox(nombre.Replace(Environment.NewLine, "")); } else { MessageBox(nombre.Replace(Environment.NewLine, "")); } } else { nombre = cargaLogica.ContadorErrores > 0? "Archivo procesado incorrectamente": "Archivo procesado correctamente"; if ((cargaLogica.Observacion != String.Empty)) { nombre = (nombre + (", " + cargaLogica.Observacion)); MessageBox(nombre.ToString().Replace(Environment.NewLine, "")); if (cargaLogica.Observacion.Contains("alto")) { string respuesta = setEnviarCorreo(cargaLogica); } } else if ((cargaLogica.MensageError != String.Empty)) { nombre = (nombre + (", " + cargaLogica.MensageError)); MessageBox(nombre.Replace(Environment.NewLine, "")); } else { MessageBox(nombre.Replace(Environment.NewLine, "")); } } } //david choque 27 12 2015 setMostrarRegistroCargadosOK(tipoArchivo); setMostrarRegistroCargadosObservado(tipoArchivo); multiTabs.ActiveViewIndex = 1; menuTabs.Items[1].Selected = true; control_grid.Value = "1"; //fin david choque } catch (Exception s) { MessageBox("ERROR =>" + s.Message.Replace("'", "-")); } }