示例#1
0
        public Resultado <InfoPostergado> Guardar(InfoPostergado Entidad)
        {
            var ObjetoResultado = new Resultado <InfoPostergado>();

            try
            {
                //Entidad.UsuarioModificacion_Id = (int)Administracion.NegUsuarios.UsuarioId;
                ObjetoResultado = AccesoDatos.Operacion <InfoPostergado>(ref Entidad, Documental.Data.Global.SP.prc_ProcesarCargaMasivaPostergados, Data.Global.Accion.Guardar, "ConexionSQL_WF");
                if (Entidad != null)
                {
                    ObjetoResultado.Objeto = new InfoPostergado();
                    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;
            NegCargaMasivaPostergados  oNegCarga   = new NegCargaMasivaPostergados();
            Resultado <InfoPostergado> resultCarga = new Resultado <InfoPostergado>();
            string consultaHojaExcel = "Select * from [CreditosPostergados$]";

            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, "CreditosPostergados");                //llenamos el dataset
                conexion.Close();                                                //cerramos la conexion

                InfoPostergado        objInt         = new InfoPostergado();
                List <InfoPostergado> lstPostergados = new List <InfoPostergado>();
                InfoPostergado        objPostergado  = new InfoPostergado();
                DateTime FechaAprobacion             = DateTime.MinValue;
                decimal  Tasa   = decimal.Zero;
                int      Plazo  = 0;
                int      Gracia = 0;
                int      NroDividendosAPostergar = 0;
                int      FechaEscritura          = 0;
                string   rutcliente = "";


                foreach (DataRow dr in dataSet.Tables[0].Rows)
                {
                    rutcliente = dr["Rut"].ToString();

                    if (rutcliente == null)
                    {
                        break;
                    }

                    objPostergado = new InfoPostergado();

                    objPostergado.Rut = rutcliente;

                    if (DateTime.TryParse(dr["FechaAprobacion"].ToString(), out FechaAprobacion))
                    {
                        objPostergado.FechaAprobacion = FechaAprobacion.ToShortDateString();
                    }
                    else
                    {
                        objPostergado.Validado     = false;
                        objPostergado.MensajeError = "Error en el Formato de la Fecha Aprobacion (DD/MM/AAAA)";
                    }
                    objPostergado.NroOperacion = dr["NroOperacion"].ToString();
                    if (int.TryParse(dr["Plazo"].ToString(), out Plazo))
                    {
                        objPostergado.Plazo = Plazo;
                    }
                    else
                    {
                        objPostergado.Validado     = false;
                        objPostergado.MensajeError = "Plazo no es numero entero";
                    }

                    if (int.TryParse(dr["Gracia"].ToString(), out Gracia))
                    {
                        objPostergado.Gracia = Gracia;
                    }
                    else
                    {
                        objPostergado.Validado     = false;
                        objPostergado.MensajeError = "Gracia no es numero entero";
                    }

                    if (int.TryParse(dr["NroDividendosAPostergar"].ToString(), out NroDividendosAPostergar))
                    {
                        objPostergado.NroDividendosAPostergar = NroDividendosAPostergar;
                    }
                    else
                    {
                        objPostergado.Validado     = false;
                        objPostergado.MensajeError = "Dividendos a Postergar no es numero entero";
                    }

                    if (decimal.TryParse(dr["Tasa"].ToString(), out Tasa))
                    {
                        objPostergado.Tasa = Tasa;
                    }
                    else
                    {
                        objPostergado.Validado     = false;
                        objPostergado.MensajeError = "Error en el Formato de la tasa";
                    }

                    if (int.TryParse(dr["FechaEscritura"].ToString(), out FechaEscritura))
                    {
                        objPostergado.FechaEscritura = FechaEscritura;
                    }
                    else
                    {
                        objPostergado.Validado     = false;
                        objPostergado.MensajeError = "Fecha Escritura no es numero entero";
                    }

                    lstPostergados.Add(objPostergado);
                }

                foreach (InfoPostergado c in lstPostergados)
                {
                    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;
                            }
                        }
                    }
                }

                NegCargaMasivaPostergados.lstNominaPostergados = new List <InfoPostergado>();
                NegCargaMasivaPostergados.lstNominaPostergados = lstPostergados;


                Controles.CargarGrid <InfoPostergado>(ref gvPostergados, lstPostergados, new string[] { "Rut" });

                lblTotal.Text      = lstPostergados.Count().ToString();
                lblAprobados.Text  = lstPostergados.Where(x => x.Validado == true).Count().ToString();
                lblRechazados.Text = lstPostergados.Where(x => x.Validado == false).Count().ToString();

                Controles.MostrarMensajeExito("Lectura de Créditos Postergados Exitosa");
            }
            catch (Exception ex)
            {
                Controles.MostrarMensajeError(ex.Message);
            }
        }