public Resultado <InfoSolicitudes> Guardar(InfoSolicitudes Entidad) { var ObjetoResultado = new Resultado <InfoSolicitudes>(); try { //Entidad.UsuarioModificacion_Id = (int)Administracion.NegUsuarios.UsuarioId; ObjetoResultado = AccesoDatos.Operacion <InfoSolicitudes>(ref Entidad, Documental.Data.Global.SP.prc_ProcesarCargaMasiva, Data.Global.Accion.Guardar, "ConexionSQL_WF"); if (Entidad != null) { ObjetoResultado.Objeto = new InfoSolicitudes(); ObjetoResultado.Objeto = Entidad; } return(ObjetoResultado); } catch (Exception) { ObjetoResultado.ResultadoGeneral = false; ObjetoResultado.Mensaje = ArchivoRecursos.ObtenerValorNodo(Constantes.MensajesUsuario.ErrorGuardar.ToString()) + " CargaMasivaInfo"; return(ObjetoResultado); } }
private void LeerArchivo(string Archivo, string extencion, string Tipo = "Existe") { OleDbConnection conexion = null; DataSet dataSet = null; OleDbDataAdapter dataAdapter = null; NegCargaMasiva oNegCarga = new NegCargaMasiva(); Resultado <InfoSolicitudes> resultCarga = new Resultado <InfoSolicitudes>(); string consultaHojaExcel = "Select * from [Solicitudes$]"; var Ruta = Archivo; string cadenaConexionArchivoExcel = ""; if (extencion == ".xlsx") { cadenaConexionArchivoExcel = "provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + Ruta + "';Extended Properties=Excel 12.0;"; } else { cadenaConexionArchivoExcel = "provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + Ruta + "';Extended Properties=Excel 8.0;"; } //Validamos que el usuario ingrese el nombre de la hoja del archivo de excel a leer try { //Si el usuario escribio el nombre de la hoja se procedera con la busqueda conexion = new OleDbConnection(cadenaConexionArchivoExcel); //creamos la conexion con la hoja de excel conexion.Open(); //abrimos la conexion dataAdapter = new OleDbDataAdapter(consultaHojaExcel, conexion); //traemos los datos de la hoja y las guardamos en un dataSdapter dataSet = new DataSet(); // creamos la instancia del objeto DataSet dataAdapter.Fill(dataSet, "Solicitudes"); //llenamos el dataset conexion.Close(); //cerramos la conexion InfoSolicitudes objInt = new InfoSolicitudes(); List <InfoSolicitudes> lstSolicitudes = new List <InfoSolicitudes>(); InfoSolicitudes objSolicitud = new InfoSolicitudes(); DateTime FechaAprobacion = DateTime.MinValue; decimal MontoAprobado = decimal.Zero; foreach (DataRow dr in dataSet.Tables[0].Rows) { if (Convert.ToString(dr["Rut"]).Length == 0) { break; } objSolicitud = new InfoSolicitudes(); objSolicitud.Rut = dr["Rut"].ToString(); objSolicitud.Nombre = dr["Nombre"].ToString(); objSolicitud.Paterno = dr["Paterno"].ToString(); objSolicitud.Materno = dr["Materno"].ToString(); objSolicitud.Canal = dr["Canal"].ToString(); objSolicitud.CodigoSucursal = dr["CodigoSucursal"].ToString(); objSolicitud.EjecutivoCuentas = "0"; objSolicitud.TipoCredito = dr["TipoCredito"].ToString(); if (DateTime.TryParse(dr["FechaAprobacion"].ToString(), out FechaAprobacion)) { objSolicitud.FechaAprobacion = FechaAprobacion; } else { objSolicitud.Validado = false; objSolicitud.MensajeError = "Error en el Formato de la Fecha (DD/MM/AAAA)"; } if (decimal.TryParse(dr["MontoAprobado"].ToString(), out MontoAprobado)) { objSolicitud.MontoAprobado = MontoAprobado; } else { objSolicitud.Validado = false; objSolicitud.MensajeError = "Error en el Formato del Monto Aprobado"; } objSolicitud.Plazo = dr["Plazo"].ToString(); objSolicitud.TipoGarantia = dr["TipoGarantia"].ToString(); objSolicitud.IndRenegociacion = dr["IndRenegociacion"].ToString(); objSolicitud.OperacionRenegociada = dr["OperacionRenegociada"].ToString(); lstSolicitudes.Add(objSolicitud); } foreach (InfoSolicitudes c in lstSolicitudes) { if (c.Validado) { c.IndCarga = false; resultCarga = oNegCarga.Guardar(c); if (resultCarga.ResultadoGeneral) { if (resultCarga.Objeto.ResultadoCarga == "1") { c.MensajeError = resultCarga.Objeto.MensajeError; c.Validado = false; } } } } NegCargaMasiva.lstNomina = new List <InfoSolicitudes>(); NegCargaMasiva.lstNomina = lstSolicitudes; Controles.CargarGrid <InfoSolicitudes>(ref gvNomina, lstSolicitudes, new string[] { "Rut" }); lblTotal.Text = lstSolicitudes.Count().ToString(); lblAprobados.Text = lstSolicitudes.Where(x => x.Validado == true).Count().ToString(); lblRechazados.Text = lstSolicitudes.Where(x => x.Validado == false).Count().ToString(); Controles.MostrarMensajeExito("Lectura de Nómina Exitosa"); } catch (Exception ex) { Controles.MostrarMensajeError(ex.Message); } }