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); } }
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; } }