Пример #1
0
        private bool GenerarArchivoOmitidos()
        {
            try
            {
                if ((this.lngOmitidos > 0) || (this.lngErroneos > 0))
                {
                    string strProceso = "ImportacionMasiva";
                    string strFolder  = Path.Combine(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase).ToString().Replace("file:\\", ""),
                                                     "files");
                    string strNombre = "ERR_" + this.strUsuario + "_" + strProceso + ".csv";
                    string strRuta   = Path.Combine(strFolder, strNombre);

                    ComprobarRuta(strFolder);

                    this.archivoDesviaciones = new INF_Archive(strRuta, 3);

                    this.archivoDesviaciones.Separador = ",";
                    this.archivoDesviaciones.Proceso   = strProceso;

                    this.archivoDesviaciones.CrearArchivoTexto(false, true);

                    using (StreamWriter pfile = new StreamWriter(this.archivoDesviaciones.Ruta))
                    {
                        DataRow[] rowFind = this.resultados.Select("RES_ROM = true OR RES_RER = true", "NUM_REGISTRO ASC");

                        pfile.WriteLine("RENGLON,OBSERVACIONES");

                        foreach (DataRow row in rowFind)
                        {
                            string strLine = row["NUM_REGISTRO"].ToString() +
                                             this.archivoDesviaciones.Separador +
                                             row["OBSERVACIONES"].ToString();

                            pfile.WriteLine(strLine);
                        }
                    }

                    return(true);
                }
                else
                {
                    // No se creo archivo
                    return(false);
                }
            }
            catch (Exception Error)
            {
                string strMsgError = Error.Message;
                return(false);
            }
        }
Пример #2
0
        //----------------------------

        #region Constructor

        public CL_ImportacionMasiva(int IdNegocio, int IdLayout, INF_Archive Archivo, string Usuario = "SYS")
        {
            // Inicializa variables
            archivo          = Archivo;
            strUsuario       = Usuario;
            intIdNegocio     = IdNegocio;
            intIdLayout      = IdLayout;
            dteInicio        = DateTime.Now;
            dteTermino       = null;
            lngCorrectos     = 0;
            lngOmitidos      = 0;
            lngErroneos      = 0;
            strObservaciones = string.Empty;
            encabezados      = null;

            if (cnf.Estatus == Configuracion.Status.Correcto)
            {
                db.DBConString = cnf.CnnString;

                CL_Layout loadLayout = new CL_Layout(IdNegocio, IdLayout, db);
                this.layout = loadLayout;
                strNegocio  = this.layout.Negocio;
                strLayout   = this.layout.Nombre;

                // Prepara contenedor de resultados
                this.resultados = new DataTable();

                this.resultados.Columns.Add("NUM_REGISTRO", Type.GetType("System.Int64"));
                this.resultados.Columns.Add("RES_ROK", Type.GetType("System.Boolean"));
                this.resultados.Columns.Add("RES_ROM", Type.GetType("System.Boolean"));
                this.resultados.Columns.Add("RES_RER", Type.GetType("System.Boolean"));
                this.resultados.Columns.Add("OBSERVACIONES", Type.GetType("System.String"));

                // Carga archivo
                CargarArchivo();

                dteTermino = DateTime.Now;

                // Registra en base de datos
                registrarDatosEnBD();

                File.Delete(archivo.Ruta);
            }
        }
Пример #3
0
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            // Ruta de archivos temporales en servidor
            string strFolder = Server.MapPath("../Files/tmp/");

            if (getArchivo.Value != "")
            {
                // Recepción de archivo
                INF_Archive arcSorce = new INF_Archive(getArchivo.PostedFile.FileName);

                // En caso de no existir el folder, lo crea
                if (!Directory.Exists(strFolder))
                {
                    Directory.CreateDirectory(strFolder);
                }

                // Carga archivo en servidor
                INF_Archive arcTarget = new INF_Archive(strFolder + arcSorce.NombreCompleto);

                int i = 0;

                string nombreOriginal = arcTarget.Nombre;

                // Comprueba existencia en servidor
                while (File.Exists(arcTarget.Ruta))
                {
                    // Obtiene nombre de archivo consecutivo
                    i++;
                    arcTarget.Nombre = nombreOriginal + "(" + i + ")";
                }

                // Carga archivo en servidor
                try
                {
                    getArchivo.PostedFile.SaveAs(arcTarget.Ruta);

                    int IdNegocio = 1;
                    int IdLayout  = 1;

                    CL_ImportacionMasiva importar = new CL_ImportacionMasiva(IdNegocio, IdLayout, arcTarget);

                    if (importar.ExisteArchivoDesviaciones)
                    {
                        string strArchivo = importar.ArchivoDesviaciones.NombreCompleto;

                        Response.Clear();
                        Response.AddHeader("content-disposition", "attachment;filename=" + strArchivo);
                        Response.ContentType     = "application/vnd.csv";
                        Response.Charset         = "UTF-8";
                        Response.ContentEncoding = System.Text.Encoding.UTF8;
                        byte[] MyData = (byte[])System.IO.File.ReadAllBytes(Server.MapPath("~/bin/files/") + strArchivo);
                        Response.BinaryWrite(MyData);
                        Response.End();
                    }

                    lblUploadResult.Text = "Archivo cargado en: " + arcTarget.Ruta;
                }
                catch (Exception Error)
                {
                    lblUploadResult.Text = "Error al cargar archivo: " + Error.Message;
                }
            }
            else
            {
                lblUploadResult.Text = "Seleccione un archivo. De click en 'Explorar...'";
            }
            // Display the result of the upload.
            frmConfirmation.Visible = true;
        }