Beispiel #1
0
        //public void Test_EPP(string Archivo, string Reg)
        //{
        //    string Query = "";

        //    Query += "SELECT TOP " + Reg + " * FROM Acumulados_RH";

        //    Database db = EnterpriseLibraryContainer.Current.GetInstance<Database>("SAP");
        //    DbCommand selectCommand = null;
        //    const int LimitChunk = 100000;
        //    const int LimitRows = 500000;
        //    int Chunk = 0;
        //    int Row = 1;
        //    int ActualRow = 0;
        //    int Pagina = 1;
        //    bool ProcesarEncabezados = true;

        //    try
        //    {
        //        selectCommand = db.GetSqlStringCommand(Query);
        //        selectCommand.CommandType = CommandType.Text;

        //        using (IDataReader reader = db.ExecuteReader(selectCommand))
        //        {
        //            int TotCols = reader.FieldCount;
        //            DataTable Tabla = new DataTable();
        //            System.IO.FileInfo fi = new System.IO.FileInfo(Archivo);

        //            using (ExcelPackage pck = new ExcelPackage(fi))
        //            {
        //                ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Página " + Pagina.ToString().PadLeft(2, Convert.ToChar("0")));
        //                ws.Cells["A1"].Value = "";
        //                pck.Save();
        //            }

        //            while (reader.Read())
        //            {
        //                Chunk++;
        //                ActualRow++;

        //                string[] campos = new string[TotCols];
        //                var listOfArr = new List<string[]>();

        //                if (ProcesarEncabezados)
        //                {
        //                    Tabla = new DataTable();

        //                    for (int index = 0; index < reader.FieldCount; index++)
        //                    {
        //                        Tabla.Columns.Add(Convert.ToString(reader.GetName(index)));
        //                    }

        //                    ProcesarEncabezados = false;
        //                    //Guardar(Archivo, Row, Pagina, Tabla);
        //                }

        //                DataRow dr;

        //                dr = Tabla.NewRow();

        //                for (int index = 0; index < reader.FieldCount; index++)
        //                {
        //                    dr[index] = Convert.ToString(reader.GetValue(index));
        //                }

        //                Tabla.Rows.Add(dr);

        //                if (Chunk == LimitChunk)
        //                {
        //                    Tabla.AcceptChanges();
        //                    GuardarEPP(Archivo, Row, Pagina, Tabla);
        //                    Row += Chunk;
        //                    Chunk = 0;

        //                    Tabla = new DataTable();

        //                    for (int index = 0; index < reader.FieldCount; index++)
        //                    {
        //                        Tabla.Columns.Add(Convert.ToString(reader.GetName(index)));
        //                    }
        //                }

        //                if (ActualRow == LimitRows)
        //                {
        //                    Pagina++;
        //                    ActualRow = 0;
        //                    Row = 0;
        //                    ProcesarEncabezados = true;

        //                    using (ExcelPackage pck = new ExcelPackage(fi))
        //                    {
        //                        ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Página " + Pagina.ToString().PadLeft(2, Convert.ToChar("0")));
        //                        ws.Cells[1, 1].Value = 0;
        //                        pck.Save();
        //                    }
        //                }
        //            }

        //            if (Tabla.Rows.Count > 0)
        //            {
        //                if (Row == 0)
        //                    Row = 1;

        //                GuardarEPP(Archivo, Row, Pagina, Tabla);
        //            }

        //            reader.Close();
        //            reader.Dispose();
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        System.IO.FileInfo fi = new System.IO.FileInfo(Archivo);

        //        using (ExcelPackage pck = new ExcelPackage(fi))
        //        {
        //            ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Errores");
        //            ws.Cells[1, 1].Value = ex.Message;
        //            ws.Cells[2, 1].Value = ex.StackTrace;
        //            pck.Save();
        //        }
        //    }
        //}

        //private void GuardarEPP(string Archivo, int Row, int Pagina, DataTable Datos)
        //{
        //    System.IO.FileInfo fi = new System.IO.FileInfo(Archivo);

        //    if (Row == 0) { Row = 1; }

        //    using (ExcelPackage pck = new ExcelPackage(fi))
        //    {
        //        ExcelWorksheet ws = pck.Workbook.Worksheets["Página " + Pagina.ToString().PadLeft(2, Convert.ToChar("0"))];
        //        ws.Cells[Row, 1].LoadFromDataTable(Datos, true);
        //        pck.Save();
        //    }
        //}

        #endregion EPPlus

        #region BD

        public DataTable Catalogos(DatosGenerales.OpcionesCatalogosSAP Catalogo, int Id, bool IncluirValorInicial)
        {
            DataTable     Resultados    = new DataTable();
            DataSet       MensajeBD     = new DataSet();
            Database      db            = EnterpriseLibraryContainer.Current.GetInstance <Database>("SAP");
            StringBuilder sqlCommand    = new StringBuilder();
            DbCommand     selectCommand = null;

            try
            {
                selectCommand             = db.GetSqlStringCommand("sp_Catalogos");
                selectCommand.CommandType = CommandType.StoredProcedure;

                db.AddInParameter(selectCommand, "@Accion", DbType.Int32, (int)Catalogo);
                db.AddInParameter(selectCommand, "@IncluirValorInicial", DbType.Boolean, IncluirValorInicial);
                db.AddInParameter(selectCommand, "@Id", DbType.Int32, Id);

                MensajeBD = db.ExecuteDataSet(selectCommand);

                if (MensajeBD.Tables.Count > 0 && MensajeBD.Tables[0].Rows.Count > 0)
                {
                    Resultados = MensajeBD.Tables[0];
                }
            }
            catch { }

            return(Resultados);
        }
Beispiel #2
0
        private System.Data.DataTable Catalogos(DatosGenerales.OpcionesCatalogosSAP Catalogo, int Id, bool IncluirValorInicial = true)
        {
            DLSAP sap = new DLSAP();

            return(sap.Catalogos(Catalogo, Id, IncluirValorInicial));
        }