Пример #1
0
        public int InsertarProceso(string CadenaConexion, EntidadProyMDIBFGestionTasasDP.proceso Entidad)
        {
            int insertar = 0;

            try
            {
                SqlConnection cnn = new SqlConnection();
                cnn.ConnectionString = CadenaConexion;
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = cnn;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "MDIBF_Proceso_Insertar";
                SqlParameter prm = new SqlParameter();

                prm           = cmd.Parameters.Add("@responsableId", SqlDbType.Int);
                prm.Direction = ParameterDirection.Input;
                prm.Value     = Entidad.responsableId;

                prm           = cmd.Parameters.Add("@nombrearchivo", SqlDbType.VarChar, 2000);
                prm.Direction = ParameterDirection.Input;
                prm.Value     = Entidad.nombrearchivo;

                prm           = cmd.Parameters.Add("@tipo", SqlDbType.VarChar, 20);
                prm.Direction = ParameterDirection.Input;
                prm.Value     = Entidad.tipo;

                cnn.Open();
                cmd.ExecuteNonQuery();
                cnn.Close();
            }
            catch (Exception ex)
            {
                if (ex.Message != "")
                {
                    insertar = 1;
                }
            }
            return(insertar);
        }
Пример #2
0
        private void ProcesoCuentaSueldoDP()
        {
            objclsfrmBases.MensajeProceso = "Procesando carga cuenta sueldo DP...";
            int     porcentaje = 0;
            int     intTotal   = 1000000;
            decimal j          = 0;

            try
            {
                //Eliminar los registros de Cuenta Sueldo DP
                bool resultado = _mProcesoCuentaSueldoDp.EliminarCuentaSueldoDP(_conexion);

                #region Crear dataTable

                DataTable dtDP = new DataTable();

                dtDP.Columns.Add("llave", typeof(string));
                dtDP.Columns.Add("fechaaperturaCS", typeof(string));

                #endregion

                using (var sr = new StreamReader(objclsfrmBases.pathNombreArchivosCuentaSueldoDP))
                {
                    var reader = new CsvReader(sr);
                    IEnumerable <EntidadProyMDIBFGestionTasasDP.ProcesoCuentaSueldoDP> records = reader.GetRecords <EntidadProyMDIBFGestionTasasDP.ProcesoCuentaSueldoDP>();

                    objclsfrmBases.BotonMenuMantenimientos = false;
                    objclsfrmBases.BotonMenuProcesos       = false;
                    objclsfrmBases.BotonProcesar           = false;
                    objclsfrmBases.BotonLimpiar            = false;
                    objclsfrmBases.BotonSalir          = false;
                    objclsfrmBases.BotonAgregarDP      = false;
                    objclsfrmBases.BotonClienteCMRDP   = false;
                    objclsfrmBases.BotonCuentaSueldoDP = false;

                    dtDP.Rows.Clear();

                    foreach (EntidadProyMDIBFGestionTasasDP.ProcesoCuentaSueldoDP record in records)
                    {
                        DataRow drDP = dtDP.NewRow();

                        #region Asignar valores dataTable

                        drDP["llave"]           = record.llave.Trim();
                        drDP["fechaaperturaCS"] = record.fechaaperturaCS.Trim();
                        #endregion

                        dtDP.Rows.Add(drDP);

                        j++;

                        porcentaje = Convert.ToInt32((j / intTotal) * 100);
                        bw1.ReportProgress(porcentaje);
                    }
                }

                using (var conexionBulkCopy = new SqlConnection(_conexion))
                {
                    conexionBulkCopy.Open();
                    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(_conexion))
                    {
                        bulkCopy.BulkCopyTimeout      = int.MaxValue;
                        bulkCopy.DestinationTableName = "dbo.CuentaSueldoDP";

                        #region Datatable bullcopy
                        bulkCopy.ColumnMappings.Add("llave", "llave");
                        bulkCopy.ColumnMappings.Add("fechaaperturaCS", "fechaaperturaCS");
                        #endregion

                        bulkCopy.WriteToServer(dtDP);
                    }
                }

                objclsfrmBases.BotonMenuMantenimientos = true;
                objclsfrmBases.BotonMenuProcesos       = true;
                objclsfrmBases.BotonProcesar           = true;
                objclsfrmBases.BotonLimpiar            = true;
                objclsfrmBases.BotonSalir        = true;
                objclsfrmBases.BotonAgregarDP    = true;
                objclsfrmBases.BotonClienteCMRDP = true;

                bw1.ReportProgress(100);

                //Insertar el proceso
                EntidadProyMDIBFGestionTasasDP.proceso _proceso = new EntidadProyMDIBFGestionTasasDP.proceso();
                _proceso.responsableId = objclsfrmBases.Responsable;
                _proceso.nombrearchivo = Path.GetFileName(objclsfrmBases.pathNombreArchivosCuentaSueldoDP);
                _proceso.tipo          = "DP - Cuenta Sueldo";

                _intretorno = _mProceso.InsertarProceso(_conexion, _proceso);


                MessageBox.Show("Archivo(s) Cuenta Sueldo procesados con éxito.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrió un error en el proceso: " + ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                objclsfrmBases.BotonMenuMantenimientos = true;
                objclsfrmBases.BotonMenuProcesos       = true;
                objclsfrmBases.BotonProcesar           = true;
                objclsfrmBases.BotonLimpiar            = true;
                objclsfrmBases.BotonSalir          = true;
                objclsfrmBases.BotonClienteCMRDP   = true;
                objclsfrmBases.BotonCuentaSueldoDP = true;
                bw1.ReportProgress(100);
            }
        }
Пример #3
0
        private void ProcesoCarga()
        {
            objclsfrmBases.MensajeProceso = "Procesando carga de datos...";
            int     porcentaje = 0;
            int     intTotal   = 2400000;
            decimal j          = 0;

            try
            {
                //Eliminar los registros solicitados
                bool resultado = m_procesogestionDP.EliminarProcesoGestionTasas(conexion);

                #region Crear dataTable

                DataTable dtDP = new DataTable();

                dtDP.Columns.Add("codcategoria", typeof(string));
                dtDP.Columns.Add("categoria", typeof(string));
                dtDP.Columns.Add("codsubcategoria", typeof(string));
                dtDP.Columns.Add("subcategoria", typeof(string));
                dtDP.Columns.Add("cuenta", typeof(string));
                dtDP.Columns.Add("tipodocumento", typeof(string));
                dtDP.Columns.Add("numerodocumento", typeof(string));
                dtDP.Columns.Add("nombre", typeof(string));
                dtDP.Columns.Add("ejecutivo", typeof(string));
                dtDP.Columns.Add("estado", typeof(string));
                dtDP.Columns.Add("descestado", typeof(string));
                dtDP.Columns.Add("fecproceso", typeof(string));
                dtDP.Columns.Add("mesproceso", typeof(string));
                dtDP.Columns.Add("fecapertura", typeof(string));
                dtDP.Columns.Add("mesapertura", typeof(string));
                dtDP.Columns.Add("fecrenovacion", typeof(string));
                dtDP.Columns.Add("mesrenovacion", typeof(string));
                dtDP.Columns.Add("fecvencimiento", typeof(string));
                dtDP.Columns.Add("mesvencimiento", typeof(string));
                dtDP.Columns.Add("msaldo", typeof(string));
                dtDP.Columns.Add("tasa", typeof(string));
                dtDP.Columns.Add("numeradortasa", typeof(double));
                dtDP.Columns.Add("tipomoneda", typeof(string));
                dtDP.Columns.Add("plazo", typeof(string));
                dtDP.Columns.Add("plazoactual", typeof(string));
                dtDP.Columns.Add("numeradorplzpact", typeof(string));
                dtDP.Columns.Add("numeradorplzact", typeof(string));
                dtDP.Columns.Add("saldodisponible", typeof(string));
                dtDP.Columns.Add("rucempleador", typeof(string));
                dtDP.Columns.Add("codtienda", typeof(string));
                dtDP.Columns.Add("desctienda", typeof(string));
                dtDP.Columns.Add("montoconvenio", typeof(string));
                dtDP.Columns.Add("diacargo", typeof(string));
                dtDP.Columns.Add("fecinicioconv", typeof(string));
                dtDP.Columns.Add("cuentacmr", typeof(string));
                dtDP.Columns.Add("tarjetacmr", typeof(string));
                dtDP.Columns.Add("codigoejecutivo", typeof(string));
                dtDP.Columns.Add("tipocambio", typeof(decimal));
                #endregion

                using (var sr = new StreamReader(objclsfrmBases.pathNombreArchivosDP, System.Text.Encoding.Default, false))
                {
                    var reader = new CsvReader(sr);
                    IEnumerable <EntidadProyMDIBFGestionTasasDP.ProcesoGestionDP> records = reader.GetRecords <EntidadProyMDIBFGestionTasasDP.ProcesoGestionDP>();

                    objclsfrmBases.BotonMenuMantenimientos = false;
                    objclsfrmBases.BotonMenuProcesos       = false;
                    objclsfrmBases.BotonProcesar           = false;
                    objclsfrmBases.BotonLimpiar            = false;
                    objclsfrmBases.BotonSalir      = false;
                    objclsfrmBases.BotonAgregarDP  = false;
                    objclsfrmBases.TextoTipoCambio = false;

                    dtDP.Rows.Clear();

                    foreach (EntidadProyMDIBFGestionTasasDP.ProcesoGestionDP record in records)
                    {
                        DataRow drDP = dtDP.NewRow();

                        #region Asignar valores dataTable

                        drDP["codcategoria"]    = record.codcategoria.Trim();
                        drDP["categoria"]       = record.categoria.Trim();
                        drDP["codsubcategoria"] = record.codsubcategoria.Trim();
                        drDP["subcategoria"]    = record.subcategoria.Replace('ó', 'o').Replace('á', 'a').Replace('?', 'o');
                        drDP["cuenta"]          = record.cuenta.Trim();
                        drDP["tipodocumento"]   = record.tipodocumento.Trim();
                        if (record.numerodocumento.Length > 7)
                        {
                            drDP["numerodocumento"] = record.numerodocumento.Trim();
                        }
                        if (record.numerodocumento.Length == 7)
                        {
                            drDP["numerodocumento"] = "0" + record.numerodocumento.Trim();
                        }
                        if (record.numerodocumento.Length == 6)
                        {
                            drDP["numerodocumento"] = "00" + record.numerodocumento.Trim();
                        }
                        if (record.numerodocumento.Length == 5)
                        {
                            drDP["numerodocumento"] = "000" + record.numerodocumento.Trim();
                        }
                        drDP["nombre"]           = record.nombre.Replace(',', ' ');
                        drDP["ejecutivo"]        = record.ejecutivo.Trim();
                        drDP["estado"]           = record.estado.Trim();
                        drDP["descestado"]       = record.descestado.Trim();
                        drDP["fecproceso"]       = record.fecproceso.Trim();
                        drDP["mesproceso"]       = record.mesproceso.Trim();
                        drDP["fecapertura"]      = record.fecapertura.Trim();
                        drDP["mesapertura"]      = record.mesapertura.Trim();
                        drDP["fecrenovacion"]    = record.fecrenovacion.Trim();
                        drDP["mesrenovacion"]    = record.mesrenovacion.Trim();
                        drDP["fecvencimiento"]   = record.fecvencimiento.Trim();
                        drDP["mesvencimiento"]   = record.mesvencimiento.Trim();
                        drDP["msaldo"]           = record.msaldo.Trim();
                        drDP["tasa"]             = record.tasa.Trim();
                        drDP["numeradortasa"]    = record.numeradortasa.Trim();
                        drDP["tipomoneda"]       = record.tipomoneda.Trim();
                        drDP["plazo"]            = record.plazo.Trim();
                        drDP["plazoactual"]      = record.plazoactual.Trim();
                        drDP["numeradorplzpact"] = record.numeradorplzpact.Trim();
                        drDP["numeradorplzact"]  = record.numeradorplzact.Trim();
                        drDP["saldodisponible"]  = record.saldodisponible.Trim();
                        drDP["rucempleador"]     = record.rucempleador.Trim();
                        drDP["codtienda"]        = record.codtienda.Trim();
                        drDP["desctienda"]       = record.desctienda.Trim();
                        drDP["montoconvenio"]    = record.montoconvenio.Trim();
                        drDP["diacargo"]         = record.diacargo.Trim();
                        drDP["fecinicioconv"]    = record.fecinicioconv.Trim();
                        drDP["cuentacmr"]        = record.cuentacmr.Trim();
                        drDP["tarjetacmr"]       = record.tarjetacmr.Trim();
                        drDP["codigoejecutivo"]  = record.codigoejecutivo.Trim();
                        drDP["tipocambio"]       = objclsfrmBases.TipoCambio;
                        #endregion

                        dtDP.Rows.Add(drDP);

                        if (j == 1000000 || j == 1800000)
                        {
                            #region Inserciones temporales
                            using (var conexionBulkCopy = new SqlConnection(conexion))
                            {
                                conexionBulkCopy.Open();
                                using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conexion))
                                {
                                    bulkCopy.BulkCopyTimeout      = int.MaxValue;
                                    bulkCopy.DestinationTableName = "dbo.ProcesoGestionTasas";

                                    bulkCopy.ColumnMappings.Add("codcategoria", "codcategoria");
                                    bulkCopy.ColumnMappings.Add("categoria", "categoria");
                                    bulkCopy.ColumnMappings.Add("codsubcategoria", "codsubcategoria");
                                    bulkCopy.ColumnMappings.Add("subcategoria", "subcategoria");
                                    bulkCopy.ColumnMappings.Add("cuenta", "cuenta");
                                    bulkCopy.ColumnMappings.Add("tipodocumento", "tipodocumento");
                                    bulkCopy.ColumnMappings.Add("numerodocumento", "numerodocumento");
                                    bulkCopy.ColumnMappings.Add("nombre", "nombre");
                                    bulkCopy.ColumnMappings.Add("ejecutivo", "ejecutivo");
                                    bulkCopy.ColumnMappings.Add("estado", "estado");
                                    bulkCopy.ColumnMappings.Add("descestado", "descestado");
                                    bulkCopy.ColumnMappings.Add("fecproceso", "fecproceso");
                                    bulkCopy.ColumnMappings.Add("mesproceso", "mesproceso");
                                    bulkCopy.ColumnMappings.Add("fecapertura", "fecapertura");
                                    bulkCopy.ColumnMappings.Add("mesapertura", "mesapertura");
                                    bulkCopy.ColumnMappings.Add("fecrenovacion", "fecrenovacion");
                                    bulkCopy.ColumnMappings.Add("mesrenovacion", "mesrenovacion");
                                    bulkCopy.ColumnMappings.Add("fecvencimiento", "fecvencimiento");
                                    bulkCopy.ColumnMappings.Add("mesvencimiento", "mesvencimiento");
                                    bulkCopy.ColumnMappings.Add("msaldo", "msaldo");
                                    bulkCopy.ColumnMappings.Add("tasa", "tasa");
                                    bulkCopy.ColumnMappings.Add("numeradortasa", "numeradortasa");
                                    bulkCopy.ColumnMappings.Add("tipomoneda", "tipomoneda");
                                    bulkCopy.ColumnMappings.Add("plazo", "plazo");
                                    bulkCopy.ColumnMappings.Add("plazoactual", "plazoactual");
                                    bulkCopy.ColumnMappings.Add("numeradorplzpact", "numeradorplzpact");
                                    bulkCopy.ColumnMappings.Add("numeradorplzact", "numeradorplzact");
                                    bulkCopy.ColumnMappings.Add("saldodisponible", "saldodisponible");
                                    bulkCopy.ColumnMappings.Add("rucempleador", "rucempleador");
                                    bulkCopy.ColumnMappings.Add("codtienda", "codtienda");
                                    bulkCopy.ColumnMappings.Add("desctienda", "desctienda");
                                    bulkCopy.ColumnMappings.Add("montoconvenio", "montoconvenio");
                                    bulkCopy.ColumnMappings.Add("diacargo", "diacargo");
                                    bulkCopy.ColumnMappings.Add("fecinicioconv", "fecinicioconv");
                                    bulkCopy.ColumnMappings.Add("cuentacmr", "cuentacmr");
                                    bulkCopy.ColumnMappings.Add("tarjetacmr", "tarjetacmr");
                                    bulkCopy.ColumnMappings.Add("codigoejecutivo", "codigoejecutivo");
                                    bulkCopy.ColumnMappings.Add("tipocambio", "tipocambio");

                                    bulkCopy.WriteToServer(dtDP);
                                }
                            }
                            #endregion

                            dtDP.Rows.Clear();
                        }

                        j++;
                        porcentaje = Convert.ToInt32((j / intTotal) * 100);
                        bw1.ReportProgress(porcentaje);
                    }
                }
                using (var conexionBulkCopy = new SqlConnection(conexion))
                {
                    conexionBulkCopy.Open();
                    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conexion))
                    {
                        bulkCopy.BulkCopyTimeout      = int.MaxValue;
                        bulkCopy.DestinationTableName = "dbo.ProcesoGestionTasas";

                        #region Datatable bullcopy
                        bulkCopy.ColumnMappings.Add("codcategoria", "codcategoria");
                        bulkCopy.ColumnMappings.Add("categoria", "categoria");
                        bulkCopy.ColumnMappings.Add("codsubcategoria", "codsubcategoria");
                        bulkCopy.ColumnMappings.Add("subcategoria", "subcategoria");
                        bulkCopy.ColumnMappings.Add("cuenta", "cuenta");
                        bulkCopy.ColumnMappings.Add("tipodocumento", "tipodocumento");
                        bulkCopy.ColumnMappings.Add("numerodocumento", "numerodocumento");
                        bulkCopy.ColumnMappings.Add("nombre", "nombre");
                        bulkCopy.ColumnMappings.Add("ejecutivo", "ejecutivo");
                        bulkCopy.ColumnMappings.Add("estado", "estado");
                        bulkCopy.ColumnMappings.Add("descestado", "descestado");
                        bulkCopy.ColumnMappings.Add("fecproceso", "fecproceso");
                        bulkCopy.ColumnMappings.Add("mesproceso", "mesproceso");
                        bulkCopy.ColumnMappings.Add("fecapertura", "fecapertura");
                        bulkCopy.ColumnMappings.Add("mesapertura", "mesapertura");
                        bulkCopy.ColumnMappings.Add("fecrenovacion", "fecrenovacion");
                        bulkCopy.ColumnMappings.Add("mesrenovacion", "mesrenovacion");
                        bulkCopy.ColumnMappings.Add("fecvencimiento", "fecvencimiento");
                        bulkCopy.ColumnMappings.Add("mesvencimiento", "mesvencimiento");
                        bulkCopy.ColumnMappings.Add("msaldo", "msaldo");
                        bulkCopy.ColumnMappings.Add("tasa", "tasa");
                        bulkCopy.ColumnMappings.Add("numeradortasa", "numeradortasa");
                        bulkCopy.ColumnMappings.Add("tipomoneda", "tipomoneda");
                        bulkCopy.ColumnMappings.Add("plazo", "plazo");
                        bulkCopy.ColumnMappings.Add("plazoactual", "plazoactual");
                        bulkCopy.ColumnMappings.Add("numeradorplzpact", "numeradorplzpact");
                        bulkCopy.ColumnMappings.Add("numeradorplzact", "numeradorplzact");
                        bulkCopy.ColumnMappings.Add("saldodisponible", "saldodisponible");
                        bulkCopy.ColumnMappings.Add("rucempleador", "rucempleador");
                        bulkCopy.ColumnMappings.Add("codtienda", "codtienda");
                        bulkCopy.ColumnMappings.Add("desctienda", "desctienda");
                        bulkCopy.ColumnMappings.Add("montoconvenio", "montoconvenio");
                        bulkCopy.ColumnMappings.Add("diacargo", "diacargo");
                        bulkCopy.ColumnMappings.Add("fecinicioconv", "fecinicioconv");
                        bulkCopy.ColumnMappings.Add("cuentacmr", "cuentacmr");
                        bulkCopy.ColumnMappings.Add("tarjetacmr", "tarjetacmr");
                        bulkCopy.ColumnMappings.Add("codigoejecutivo", "codigoejecutivo");
                        bulkCopy.ColumnMappings.Add("tipocambio", "tipocambio");
                        #endregion

                        bulkCopy.WriteToServer(dtDP);
                    }
                }

                objclsfrmBases.BotonMenuMantenimientos = true;
                objclsfrmBases.BotonMenuProcesos       = true;
                //objclsfrmBases.BotonActualizar = true;
                objclsfrmBases.BotonProcesar   = true;
                objclsfrmBases.BotonLimpiar    = true;
                objclsfrmBases.BotonSalir      = true;
                objclsfrmBases.BotonAgregarDP  = true;
                objclsfrmBases.TextoTipoCambio = true;

                bw1.ReportProgress(100);

                //Insertar el proceso
                EntidadProyMDIBFGestionTasasDP.proceso _proceso = new EntidadProyMDIBFGestionTasasDP.proceso();
                _proceso.responsableId = 1;
                _proceso.nombrearchivo = Path.GetFileName(objclsfrmBases.pathNombreArchivosDP);
                _proceso.tipo          = "Archivo Stock BF";
                _intRetorno            = m_proceso.InsertarProceso(conexion, _proceso);

                MessageBox.Show("Archivo(s) procesados con éxito.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrió un error en el proceso: " + ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                objclsfrmBases.BotonMenuMantenimientos = true;
                objclsfrmBases.BotonMenuProcesos       = true;
                //objclsfrmBases.BotonActualizar = true;
                objclsfrmBases.BotonProcesar   = true;
                objclsfrmBases.BotonLimpiar    = true;
                objclsfrmBases.BotonSalir      = true;
                objclsfrmBases.BotonAgregarDP  = true;
                objclsfrmBases.TextoTipoCambio = true;
                bw1.ReportProgress(100);
            }
        }