Пример #1
0
        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("'", "-"));
            }
        }