Ejemplo n.º 1
0
        public int generarArchivo(string rutaArchivo, DateTime fecha)
        {
            FondoDA   fondoDA       = new FondoDA();
            DataTable dtPortaPadres = fondoDA.ObtenerLista("PORTA_PADRE");
            DataTable dtProporciones;

            ComposicionPatrimonioDA composicionPatrimonioDA = new ComposicionPatrimonioDA();

            StringBuilder sbLinea;

            sbLinea = new StringBuilder();
            StringBuilder ruta = new StringBuilder();

            ruta.Append("");

            foreach (DataRow drPortaPadre in dtPortaPadres.Rows)
            {
                dtProporciones = composicionPatrimonioDA.ObtenerProporciones(fecha, drPortaPadre["LLAVE_TABLA"].ToString());
                StreamWriter sw;

                if (dtProporciones.Rows.Count > 0)
                {
                    if (ruta.Length > 0)
                    {
                        ruta.Remove(0, ruta.Length);
                    }

                    ruta.Append("PR_");
                    ruta.Append(dtProporciones.Rows[0]["PORTA_PADRE"].ToString() + "_");
                    ruta.Append(fecha.ToString("yyyyMMdd") + ".txt");
                    sw = new StreamWriter(rutaArchivo + "\\" + ruta.ToString());

                    if (sbLinea.Length > 0)
                    {
                        sbLinea.Remove(0, sbLinea.Length);
                    }

                    foreach (DataRow drProporcion in dtProporciones.Rows)
                    {
                        sbLinea.Append(drProporcion["PORTA_PADRE"].ToString() + ";");
                        sbLinea.Append(fecha.ToString("dd/MM/yyyy") + ";");
                        sbLinea.Append(drProporcion["CODIGO_SERIE"].ToString() + ";");
                        sbLinea.Append(drProporcion["PORCENTAJE"].ToString());
                        sbLinea.Append("\r\n");
                    }
                    sw.WriteLine(sbLinea);
                    sw.Close();
                }
            }
            return(dtPortaPadres.Rows.Count);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Retorna DataSet con la tabla LISTA que contiene los tipo fondo y la tabla FONDO
        /// que obtiene la lista de fondos con su fecha de precierre, valor cuota y si se ha ejecutado el
        /// proceso tributario.
        /// </summary>
        public DataSet obtenerFondos()
        {
            DataSet ds = new DataSet();

            FondoDA da = new FondoDA();

            ds.Tables.Add(da.ObtenerLista("TIPFON"));

            DataTable fondo = da.ObtenerFondosPrecierre();
            /*INICIO 8844*/
            TablaGeneralDA tgDa = new TablaGeneralDA();
            DataTable      dtFondosInversiones = tgDa.ListarTablaGeneral(ConstantesING.CODIGO_TABLA_FONDOS_INVERSIONES);

            /*FIN 8844*/

            if (da.obtenerParametroXCodigo("GENERAR_RETENCIONES").Equals("S"))
            {
                foreach (DataRow rw in fondo.Rows)
                {
                    //OT 4792 PSC2 Inicio------------------------------------------------------

                    /*da.Database = INGFondos.Constants.Conexiones.BaseDeDatosTributacion;
                     * da.Server = INGFondos.Constants.Conexiones.ServidorTributacion;*/
                    //OT 4792 PSC2 Fin---------------------------------------------------------

                    //rw["FLAG_EJECUTO_TRIBUTACION"] = da.verificarTributacionEjecutada(Int32.Parse(rw["ID_FONDO"].ToString()),Convert.ToDateTime(rw["FECHA_PRECIERRE"].ToString()))?"S":"N";
                    /*rw["FLAG_EJECUTO_TRIBUTACION"] = da.verificarTributacionEjecutada(Convert.ToInt32(rw["ID_FONDO"].ToString()),Convert.ToDateTime(rw["FECHA_PRECIERRE"]))?"S":"N";*/


                    da.Database = INGFondos.Constants.Conexiones.BaseDeDatosOperaciones;
                    da.Server   = INGFondos.Constants.Conexiones.ServidorOperaciones;

                    int resultado = 0;
                    resultado = da.ObtenerCantidadOperacionesTipoFlu(Convert.ToInt32(rw["ID_FONDO"].ToString()), Convert.ToDateTime(rw["FECHA_PRECIERRE"].ToString()));


                    if (resultado == 0)//!= null && pagoCupon.Equals("S"))
                    {
                        //OT 4792 PSC2 Inicio------------------------------------------------------
                        da.Database = INGFondos.Constants.Conexiones.BaseDeDatosTributacion;
                        da.Server   = INGFondos.Constants.Conexiones.ServidorTributacion;
                        //OT 4792 PSC2 Fin---------------------------------------------------------

                        //rw["FLAG_EJECUTO_TRIBUTACION"] = da.verificarTributacionEjecutada(Convert.ToInt32(rw["ID_FONDO"].ToString()), Convert.ToDateTime(rw["FECHA_PRECIERRE"])) ? "S" : "S";
                        rw["FLAG_EJECUTO_TRIBUTACION"] = "S";
                    }
                    else
                    {
                        //OT 4792 PSC2 Inicio------------------------------------------------------
                        da.Database = INGFondos.Constants.Conexiones.BaseDeDatosTributacion;
                        da.Server   = INGFondos.Constants.Conexiones.ServidorTributacion;
                        //OT 4792 PSC2 Fin---------------------------------------------------------
                        //rw["FLAG_EJECUTO_TRIBUTACION"] = da.verificarTributacionEjecutada(Int32.Parse(rw["ID_FONDO"].ToString()),Convert.ToDateTime(rw["FECHA_PRECIERRE"].ToString()))?"S":"N";
                        rw["FLAG_EJECUTO_TRIBUTACION"] = da.verificarTributacionEjecutada(Convert.ToInt32(rw["ID_FONDO"].ToString()), Convert.ToDateTime(rw["FECHA_PRECIERRE"])) ? "S" : "N";
                    }
                    /*INICIO 8844: Se obtienen los datos tributarios. No se incluyó en el método anterior porque la idea es que ya no se verifique la atribucion ejecutada.*/
                    DataRow[] dr = dtFondosInversiones.Select("LLAVE_TABLA = '" + rw["ID_FONDO"].ToString() + "'");
                    if (dr.Length == 1)
                    {
                        string   descripcionLarga = dr[0]["DESCRIPCION_LARGA"].ToString().Trim();
                        string[] portafolioSerie  = descripcionLarga.Split("|".ToCharArray());

                        rw["PORTAFOLIO"] = dr[0]["DESCRIPCION_CORTA"].ToString().Trim();
                        rw["SERIE"]      = portafolioSerie.Length == 2 ? portafolioSerie[1] : "";
                    }
                    /*FIN 8844*/
                }
            }
            ds.Tables.Add(fondo);

            return(ds);
        }
        public void PrepararPlantilla(string sourcePath, string savePath, string codigoUsuario)
        {
            ExcelApplication excelApplication = new ExcelApplication();
            ExcelWorkBook    workBook         = null;

            workBook = excelApplication.OpenWorkBook(sourcePath, ExcelMode.Full);

            ExcelWorkSheet sheet     = workBook.GetSheet(2);
            ExcelWorkSheet sheetCucs = workBook.GetSheet(3);

            //Obtiene los prospectos vacios
            CargaContratoDA cargaContratoDA = new CargaContratoDA();
            DataTable       dtProspectos    = cargaContratoDA.ObtenerListaProspectosVacios();

            sheetCucs.EscribirDatatable("B", 2, dtProspectos);
            DataTable dtDISTRITO = cargaContratoDA.ObtenerListaDistritos();
            int       indis      = 2;

            foreach (DataRow dr in dtDISTRITO.Rows)
            {
                sheet.SetValue(string.Format("W{0}", indis), dr["NOMBRE"]);
                sheet.SetValue(string.Format("X{0}", indis), dr["ID"]);
                sheet.SetValue(string.Format("Y{0}", indis++), dr["CIUDAD"]);
            }

            FondoDA   fondoDA           = new FondoDA();
            DataTable dtTiposDocumentos = fondoDA.ObtenerLista("TPDOCS");

            int index = 2;

            foreach (DataRow dr in dtTiposDocumentos.Rows)
            {
                sheet.SetValue(string.Format("K{0}", index), dr["DESCRIPCION_LARGA"]);
                sheet.SetValue(string.Format("L{0}", index++), dr["LLAVE_TABLA"]);
            }


            index = 2;

            DataTable dtAgenciasOrigen = fondoDA.ObtenerLista("AGEORI");

            foreach (DataRow dr in dtAgenciasOrigen.Rows)
            {
                sheet.SetValue(string.Format("H{0}", index), dr["DESCRIPCION_LARGA"]);
                sheet.SetValue(string.Format("I{0}", index++), dr["LLAVE_TABLA"]);
            }


            index = 2;
            DataTable dtFondos = cargaContratoDA.ObtenerListaFondos();

            DataRow[] drFondos = dtFondos.Select("1=1", "NOMBRE");

            foreach (DataRow dr in drFondos)
            {
                sheet.SetValue(string.Format("E{0}", index), dr["NOMBRE"]);
                sheet.SetValue(string.Format("F{0}", index++), dr["ID"]);
            }

            sheet.Hide();

            excelApplication.GetWorkBook(1).SaveAs(savePath);
            workBook.Close();

            excelApplication.Close();


            workBook = excelApplication.OpenWorkBook(savePath, ExcelMode.Full);
            excelApplication.Show();
        }