예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
            }
        }