using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BE;
using BL;
using Utilitaria;

using System.Data;
using System.Data.SqlClient;
using Telerik.Web.UI;
using System.Configuration;

using System.Data.OleDb;
using System.IO;

using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.ReportSource;

using System.Globalization;
using System.Threading;

public partial class ConsolidadoDiarioAuxiliarComprobante : System.Web.UI.Page
{
    String _Periodo;
    // DECLARACIONES DE EXPORTAR
    //ReportDocument cryRpt;
    //ReportDocument cryRpt = new ReportDocument();
    //ParameterField paramField = new ParameterField();
    //ParameterFields paramFields = new ParameterFields();
    //ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
    //string reportPath;

    protected void Page_Load(object sender, EventArgs e)
    {
        Thread.CurrentThread.CurrentCulture = new CultureInfo("es-PE");
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-PE");

        if (Session["Usuario"] == null)
        {
            Response.Redirect(Utilitaria.Cls_Enums.CerrarSesion.Salir);
        }
        tk_Grid.Columns[3].CurrentFilterFunction = GridKnownFunction.StartsWith;
        tk_Grid.Columns[5].CurrentFilterFunction = GridKnownFunction.StartsWith;
        tk_Grid.AllowPaging = true;

       
        
        if (!Page.IsPostBack)
        {
            ViewState["MonedaID"] = Session["MonedaID"].ToString();
            PopulateCombo_Moneda(ViewState["MonedaID"].ToString());

            ViewState["Click"] = "1";
            Cls_Propiedades.TempConsolidadoDiarioAxiliarComprobante.Clear();

            cbxMoneda.SelectedValue = ViewState["MonedaID"].ToString();
            if (ViewState["MonedaID"].ToString() == "") ViewState["MonedaID"] = "1";

            /////////////////////////// Inicio Parametros Cabecera 
            ViewState["FecDesde"] = Session["Desde"];
            ViewState["FecHasta"] = Session["Hasta"];
            this.lblMoneda.Text = Utilitaria.Cls_Utilitaria.f_MostraNombreMoneda(Convert.ToInt32(Session["MonedaID"].ToString()), 3);
            if (ViewState["FecDesde"] == "" || ViewState["FecDesde"] == null || ViewState["FecHasta"] == "" || ViewState["FecHasta"] == null)
            {
                this.lblDesde.Text = "--/--/----";
                this.lblHasta.Text = "--/--/----";
            }
            else
            {
                this.lblDesde.Text = String.Format("{0:dd/MM/yyyy}", Convert.ToDateTime(ViewState["FecDesde"]));
                this.lblHasta.Text = String.Format("{0:dd/MM/yyyy}", Convert.ToDateTime(ViewState["FecHasta"]));
            }
            /////////////////////////// Fin Parametros Cabecera 


            

            ViewState["SubDiarioID"] = Request.QueryString["DRO"];
            ViewState["Mes"] = "99";
        
            ViewState["FecDesde"] = Request.QueryString["FD"];
            ViewState["FecHasta"] = Request.QueryString["FH"];
            ViewState["CtaInicio"] = Request.QueryString["CI"];
            ViewState["CtaFin"] = Request.QueryString["CF"];

            ViewState["CPC1"] = Request.QueryString["CPC1"];
            ViewState["CPC2"] = Request.QueryString["CPC2"];
                    
            ViewState["HotelID"] = Request.QueryString["HTL"];
            ViewState["AsientocontableDetalleIDTransferencia"] = "";
            if (ViewState["HotelID"].ToString() == "") ViewState["HotelID"] = "0";
            if (ViewState["HotelID"].ToString() != "0")
            {
                BLHoteles oBLHoteles = new BLHoteles();
                List<BEHoteles> loHoteles;
                loHoteles = oBLHoteles.fnSelHotelesDin("Where HotelID=" + ViewState["HotelID"].ToString().Trim(), "");
                lblSucursal.Text = loHoteles[0].NombreHotel;
            }
            else
            {
                lblSucursal.Text = "Todas";
            }

            _Periodo = Request.QueryString["ANIO"];

            ViewState["UnidadNegocioID"] = Request.QueryString["UNG"];
            if (ViewState["UnidadNegocioID"].ToString() == "") ViewState["UnidadNegocioID"] = "0";
            if (ViewState["UnidadNegocioID"].ToString() != "0")
            {
                BLUnidadesDeNegocio oBLUnidadesDeNegocio = new BLUnidadesDeNegocio();
                BEUnidadesDeNegocio oBEUnidadesDeNegocio = new BEUnidadesDeNegocio();
                oBEUnidadesDeNegocio.EstablecimientoID = Convert.ToInt32(Session["EmpresaID"].ToString());
                List<BEUnidadesDeNegocio> loUnidadesDeNegocio;
                loUnidadesDeNegocio = oBLUnidadesDeNegocio.fnSelUnidadesDeNegocioDin(oBEUnidadesDeNegocio, "and UnidadNegocioID=" + ViewState["UnidadNegocioID"].ToString().Trim(), "");
                lblUnidadNegocio.Text = loUnidadesDeNegocio[0].NombreUnidadNegocio;
            }
            else
            {
                lblUnidadNegocio.Text = "Todas";
            }

            ViewState["AreaID"] = Request.QueryString["ARA"];
            if (ViewState["AreaID"].ToString() == "") ViewState["AreaID"] = "0";
            if (ViewState["AreaID"].ToString() != "0")
            {
                BLAreas oBLAreas = new BLAreas();
                List<BEAreas> loAreas;
                loAreas = oBLAreas.fnSelAreasDin("AreaID=" + ViewState["AreaID"].ToString().Trim(), "");
                lblArea.Text = loAreas[0].NombreArea;
            }
            else
            {
                lblArea.Text = "Todas";
            }



            cbxEstados.Items.Insert(0, new RadComboBoxItem("Todos"));
            cbxEstados.Items[0].Value = "";
            cbxEstados.Items.Insert(1, new RadComboBoxItem("Asientos"));
            cbxEstados.Items[1].Value = "1";
            cbxEstados.Items.Insert(2, new RadComboBoxItem("Asientos de Transferencia"));
            cbxEstados.Items[2].Value = "2";


        }
       // else tk_Grid.Rebind();
    }

    protected void RadGrid1_GridExporting(object source, GridExportingArgs e)
    {
        if (e.ExportType == ExportType.Excel)
        {
            //string customText = "<h2>" + Establecimientos(Session["EmpresaID"].ToString().Trim()) + "</h2>";
            //e.ExportOutput = e.ExportOutput.Replace("<body>", "<body>" + customText);
            //string customHTML = "<div width=\"100%\" style=\"clear:both;text-align:center;font-size:14px;font-family:Verdana;\">" + "Lista de asientos: " + this.lblDiarioAuxiliar.Text + "</div>";
            //string customHTML = "<table width=\"100%\"><tr><td width=\"33%\">1</td><td width=\"33%\">2</td><td width=\"33%\">3</td></tr></table>";
            //e.ExportOutput = e.ExportOutput.Replace("<body>", String.Format("<body>{0}", customHTML));
            string customHTML = "<table><tr><td colspan=\"5\"><b>" + Establecimientos(Session["EmpresaID"].ToString().Trim()) + "</b><br><b> CONSOLIDADO DIARIO AUXILIAR POR COMPROBANTE <b><br><b>Desde: " + lblDesde.Text + " Hasta: " + lblHasta.Text + " Moneda: " + lblMoneda.Text + "</b></td><td colspan=\"5\"></td><td><b>" + DateTime.Now.ToShortDateString() + "</b><br><b>" + DateTime.Now.ToShortTimeString() + "</b><br><b>" + Convert.ToString(Session["Usuario"]) + "</b></td></tr><table><hr>";
            e.ExportOutput = e.ExportOutput.Replace("<body>", String.Format("<body>{0}", customHTML));
        }
    }

    private String Establecimientos(String EstablecimientoId)
    {
        BEEstablecimientos objet_Establecimientos = new BEEstablecimientos();
        BLEstablecimientos objlg_Establecimientos = new BLEstablecimientos();
        List<BEEstablecimientos> Col_Establecimientos;
        String strRetorno = String.Empty;

        Col_Establecimientos = objlg_Establecimientos.fnSelEstablecimientosDin("where EstablecimientoId=" + EstablecimientoId, "");

        if (Col_Establecimientos.Count > 0)
        {
            strRetorno = Col_Establecimientos[0].NombreEstablecimiento.Trim();
        }

        objet_Establecimientos = null;
        objlg_Establecimientos = null;

        return strRetorno;

    }

    private void Perform_Consolidado()
    {
        Cls_Propiedades.variablesRpt.Clear();
        bEVariables objbebEVariables = new bEVariables();
        objbebEVariables.RootRPT = ConfigurationManager.AppSettings.Get("rptEstadoCuentaExporta");

        if (ViewState["Click"] == "1" && Cls_Propiedades.TempConsolidadoDiarioAxiliarComprobante.Count == 0)
        {
            BLAsientosContables oBLAsientosContables = new BLAsientosContables();

            String EmpresaID = Session["EmpresaID"].ToString();
            Int32 Ejercicio = Convert.ToInt32(Session["txtPeriodo"]);
            Int32 SubDiarioID = Convert.ToInt32(ViewState["SubDiarioID"]);
            Int32 UnidadNegocioID = Convert.ToInt32(ViewState["UnidadNegocioID"]);
            Int32 HotelID = Convert.ToInt32(ViewState["HotelID"]);
            Int32 AreaID = Convert.ToInt32(ViewState["AreaID"]);
            String AsientocontableDetalleIDTransferencia = ViewState["AsientocontableDetalleIDTransferencia"].ToString();
            DateTime? FechaDesde = (ViewState["FecDesde"].ToString() == "") ? (DateTime?)null : Convert.ToDateTime(ViewState["FecDesde"]);
            DateTime? FechaHasta = (ViewState["FecHasta"].ToString() == "") ? (DateTime?)null : Convert.ToDateTime(ViewState["FecHasta"]);
            String CodigoPlanCuenta1 = "", CodigoPlanCuenta2 = "";
            CodigoPlanCuenta1 = ViewState["CPC1"].ToString();
            CodigoPlanCuenta2 = ViewState["CPC2"].ToString();

            Cls_Propiedades.TempConsolidadoDiarioAxiliarComprobante = oBLAsientosContables.fnSelConsolidadoDetalleDin(EmpresaID, Ejercicio, SubDiarioID, UnidadNegocioID, HotelID, AreaID, AsientocontableDetalleIDTransferencia, FechaDesde, FechaHasta, CodigoPlanCuenta1, CodigoPlanCuenta2);

         objbebEVariables.NombreRPT = "rpt_ConsolidadoxComprobante.rpt";
        Cls_Propiedades.variablesRpt.Add(objbebEVariables);
           
            ViewState["EmpresaID"]=EmpresaID;
            ViewState["Ejercicio"]=Ejercicio;
            ViewState["SubDiarioID"]=SubDiarioID; 
            ViewState["UnidadNegocioID"]=UnidadNegocioID; 
            ViewState["HotelID"]=HotelID; 
            ViewState["AreaID"]=AreaID;
            ViewState["AsientocontableDetalleIDTransferencia"]=AsientocontableDetalleIDTransferencia; 
            ViewState["FechaDesde"]=FechaDesde;
            ViewState["FechaHasta"]=FechaHasta;
            ViewState["CodigoPlanCuenta1"]=CodigoPlanCuenta1;
            ViewState["CodigoPlanCuenta2"] = CodigoPlanCuenta2;

            oBLAsientosContables = null;
        }
        tk_Grid.DataSource = Cls_Propiedades.TempConsolidadoDiarioAxiliarComprobante;




        ViewState["Click"] = "";
    }
    protected void tk_Grid_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        ViewState["MonedaID"] = cbxMoneda.SelectedValue;
        cbxEstados_Selected(cbxEstados.SelectedValue);
        Perform_Consolidado();
    }


    String CurrUrl = "";
    String headertext;
    protected void tk_Grid_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridGroupHeaderItem)
        {
            GridGroupHeaderItem item = (GridGroupHeaderItem)e.Item;

            HyperLink hyperlnk = new HyperLink();
            System.Data.DataRowView groupDataRow = (System.Data.DataRowView)e.Item.DataItem;
            hyperlnk.NavigateUrl = "#";
            hyperlnk.Text = item.DataCell.Text.Substring(8, item.DataCell.Text.Length - 8);
            hyperlnk.CssClass = "gridtextbold";
            CurrUrl = "frmListaAsientos.aspx?ID=" + groupDataRow["SubDiarioID"].ToString().Trim() + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&FD=" + ViewState["FecDesde"].ToString() + "&FH=" + ViewState["FecHasta"].ToString();
            hyperlnk.Attributes.Add("OnClick", "return AbreVentana('" + CurrUrl + "','DetalleAsientos');");
            item.DataCell.Controls.Clear();
            item.DataCell.Controls.Add(hyperlnk);

            headertext = item.DataCell.Text.Substring(item.DataCell.Text.IndexOf(':') + 1);

        }

        if (e.Item is GridDataItem)
        {
            GridDataItem dataItem = (GridDataItem)e.Item;

            HyperLink linkItem = new HyperLink();
            //CurrUrl = "frmAnalisisPorCuenta.aspx?Mes=99&CTAID=" + dataItem["BEPlanDeCuentas.PlanCuentaID"].Text.Trim() + "&HTL=" + ViewState["HotelID"] + "&ARA=" + ViewState["AreaID"] + "&UNG=" + ViewState["UnidadNegocioID"];
            CurrUrl = "frmAnalisisPorCuenta.aspx?Periodo=" + _Periodo + "&Mes=" + ViewState["Mes"].ToString().Trim() + "&FED=" + ViewState["FecDesde"].ToString() + "&FEH=" + ViewState["FecHasta"].ToString() + "&CTAID2=&CTAID=" + dataItem["BEPlanDeCuentas.CodigoPlanCuenta"].Text.Trim() + "&HTL=" + ViewState["HotelID"] + "&ARA=" + ViewState["AreaID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&SUD=" + dataItem["SubDiarioID"].Text.Trim() + "&ACUM=0&MON=" + ViewState["MonedaID"].ToString();
            linkItem.NavigateUrl = "#";
            linkItem.Text = dataItem["BEPlanDeCuentas.CodigoPlanCuenta"].Text;
            linkItem.CssClass = "gridtext";
            linkItem.Attributes.Add("OnClick", "return AbreVentana('" + CurrUrl + "','AnalisisPorCuenta');");
            dataItem["BEPlanDeCuentas.CodigoPlanCuenta"].Controls.Add(linkItem);

            if (dataItem["DebeSoles"].Text.Trim() == "0.00") { dataItem["DebeSoles"].Text = ""; }
            if (dataItem["HaberSoles"].Text.Trim() == "0.00") { dataItem["HaberSoles"].Text = ""; }
            if (dataItem["DebeDolares"].Text.Trim() == "0.00") { dataItem["DebeDolares"].Text = ""; }
            if (dataItem["HaberDolares"].Text.Trim() == "0.00") { dataItem["HaberDolares"].Text = ""; }
           
        }
        if (e.Item is GridGroupFooterItem)
        {
            GridGroupFooterItem item = (GridGroupFooterItem)e.Item;
            if (item["DebeSoles"].Text.Trim() == "0.00") { item["DebeSoles"].Text = ""; }
            if (item["HaberSoles"].Text.Trim() == "0.00") { item["HaberSoles"].Text = ""; }
            if (item["DebeDolares"].Text.Trim() == "0.00") { item["DebeDolares"].Text = ""; }
            if (item["HaberDolares"].Text.Trim() == "0.00") { item["HaberDolares"].Text = ""; }

            item["DebeSoles"].Style["border-top"] = "1px solid #000000";
            item["HaberSoles"].Style["border-top"] = "1px solid #000000";
            item["SaldoSoles"].Style["border-top"] = "1px solid #000000";
            item["DebeDolares"].Style["border-top"] = "1px solid #000000";
            item["HaberDolares"].Style["border-top"] = "1px solid #000000";
            item["SaldoDolares"].Style["border-top"] = "1px solid #000000";

            string strtxt = item["BESubDiarios.NombreSubDiario"].Text.Substring(item["BESubDiarios.NombreSubDiario"].Text.IndexOf(':') + 1);
            if (headertext != null)
                item["BEPlanDeCuentas.NombrePlanCuenta"].Text =  headertext + ":" + strtxt;
            item["BEPlanDeCuentas.NombrePlanCuenta"].Style["color"] = "#00156E";
            item["BEPlanDeCuentas.NombrePlanCuenta"].Style["font-weight"] = "bold";
            item["BEPlanDeCuentas.NombrePlanCuenta"].Style["font-style"] = "italic";
            item["BEPlanDeCuentas.NombrePlanCuenta"].Style["text-align"] = "right";
        }

       
    }

    protected void cbxEstados_Selected(String strEstado)
    {
        String cbxEstados = strEstado;
        if (cbxEstados == "")
        {
            ViewState["AsientocontableDetalleIDTransferencia"] = "";
        }
        else if (cbxEstados == "1")
        {
            ViewState["AsientocontableDetalleIDTransferencia"] = "AsientocontableDetalleIDTransferencia=0";
        }
        else if (cbxEstados == "2")
        {
            ViewState["AsientocontableDetalleIDTransferencia"] = "AsientocontableDetalleIDTransferencia not in(0)";
        }

    }


    protected void tk_Grid_ItemCommand(object source, GridCommandEventArgs e)
    {
        tk_Grid.ExportSettings.ExportOnlyData = true;
        tk_Grid.ExportSettings.IgnorePaging = true;
        tk_Grid.ExportSettings.OpenInNewWindow = false;
        tk_Grid.ExportSettings.FileName = "CONSOLIDADO DIARIO AUXILIAR POR COMPROBANTE";

        switch (e.CommandName)
        {
            case "ExportExcel":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToExcel();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "ExportPDF":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToPdf();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "ExportWord":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToWord();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "ExportCSV":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToCSV();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "Print":
                
                if (Cls_Propiedades.PrivilegiosUsuario[0].Imprime == 1)
                {

                    //tk_Grid.AllowPaging = false;
                    //tk_Grid.Rebind();
                    //tk_Grid.ClientSettings.Scrolling.AllowScroll = false;
                    //tk_Grid.MasterTableView.Width = Unit.Percentage(100);
                    //ScriptManager.RegisterStartupScript(this, typeof(Page), "myscript", "function pageLoad(){PrintRadGrid();}", true);
                    //ScriptManager.RegisterStartupScript(this, typeof(Page), "myscript", "print('" + tk_Grid.ID + "');", true);
                    //tk_Grid.AllowPaging = true;
                    //tk_Grid.Rebind();
                    //tk_Grid.AllowPaging = false;
                    //tk_Grid.Rebind();
                    //((ImageButton)e.CommandSource).OnClientClick = "PrintRadGrid(); return false;";

                    //ScriptManager.RegisterStartupScript(this, this.GetType(), "", "PrintRadGrid();", true);

                    //RadAjaxPanel1.ResponseScripts.Add("PrintRadGrid('" + tk_Grid.ClientID + "')");
                    //ScriptManager.RegisterStartupScript(this, this.GetType(), "", "PrintRadGrid(); return false;", true);
                    Response.Write(Cls_Utilitaria.f_Imprime());
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
        }
        Perform_Consolidado();
    }
    protected void showMessage(string strMessage)
    {
        //ClientScript.RegisterStartupScript(this.GetType(), "Application", string.Format("alert('{0}');", HttpUtility.HtmlDecode(strMessage)), true);
        ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "alert('" + strMessage + "');", true);
    }


    private void PopulateCombo_Moneda(String SelectedValue)
    {
        BLMonedas oBEMonedas = new BLMonedas();
        List<BEMonedas> loMonedas;

        loMonedas = oBEMonedas.fnSelMonedasAll();

        for (int i = 0; i < loMonedas.Count; i++)
        {
            RadComboBoxItem item = new RadComboBoxItem();
            item.Text = loMonedas[i].Nombre.Trim();
            item.Value = loMonedas[i].MonedaID.ToString();
            cbxMoneda.Items.Add(item);
            item.DataBind();
        }

        if (SelectedValue == "") cbxMoneda.SelectedValue = "1";

        oBEMonedas = null;
        loMonedas = null;
    }
    protected void btnActualizar_Click(object sender, EventArgs e)
    {
        ViewState["Click"] = "1";
        Cls_Propiedades.TempConsolidadoDiarioAxiliarComprobante.Clear();
        tk_Grid.Rebind();
    }

    protected void Exportar_Data(object sender, ImageClickEventArgs e)
    {
        //if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
        //{
        //    tk_Grid.ExportSettings.ExportOnlyData = true;
        //    tk_Grid.ExportSettings.IgnorePaging = true;
        //    tk_Grid.ExportSettings.OpenInNewWindow = false;
        //    tk_Grid.MasterTableView.ExportToExcel();
        //}
        //else
        //{
        //    showMessage("No posee los privilegios necesario para completar la operación");
        //}

        tk_Grid.ExportSettings.ExportOnlyData = true;
        tk_Grid.ExportSettings.IgnorePaging = true;
        tk_Grid.ExportSettings.OpenInNewWindow = true;
        tk_Grid.ExportSettings.FileName = "CONSOLIDADO DIARIO AUXILIAR POR COMPROBANTE";

        switch ((sender as ImageButton).CommandName)
        {
            case "ExportExcel":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    ////tk_Grid.MasterTableView.ExportToExcel();

                    ////LoadReport( ViewState["EmpresaID"].ToString(), 
                    ////    Convert.ToInt32(ViewState["Ejercicio"].ToString()), 
                    ////    Convert.ToInt32(ViewState["SubDiarioID"].ToString()), 
                    ////    Convert.ToInt32(ViewState["UnidadNegocioID"].ToString()), 
                    ////    Convert.ToInt32(ViewState["HotelID"].ToString()), 
                    ////    Convert.ToInt32(ViewState["AreaID"].ToString()), 
                    ////    ViewState["AsientocontableDetalleIDTransferencia"].ToString(),
                    ////    Convert.ToDateTime(ViewState["FechaDesde"].ToString()),
                    ////    Convert.ToDateTime(ViewState["FechaHasta"].ToString()),
                    ////    ViewState["CodigoPlanCuenta1"].ToString(),
                    ////    ViewState["CodigoPlanCuenta2"].ToString());
                   
                    ////Se crea el documento de lectura y escritura
                    //System.IO.MemoryStream rptStream = new System.IO.MemoryStream();
                    ////se envia el reporte el stram y le indicamos el metodo de escritura o tipo de documento
                    ////rptStream = (System.IO.MemoryStream)cryRpt.ExportToStream(ExportFormatType.Excel);

                    ////Limpiamos la memoria
                    //Response.Clear();
                    //Response.Buffer = true;

                    ////Le indicamos el tipo de documento que vamos a exportar
                    //Response.ContentType = "application/vnd.ms-excel";

                    ////Automaticamente se descarga el archivo
                    //Response.AddHeader("Content-Disposition", "attachment;filename=ESTADO_CUENTA.xls");

                    ////Se escribe el archivo
                    //Response.BinaryWrite(rptStream.ToArray());

                    tk_Grid.MasterTableView.ExportToExcel();

                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "ExportPDF":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToPdf();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "ExportWord":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToWord();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "ExportCSV":
                if (Cls_Propiedades.PrivilegiosUsuario[0].Exporta == 1)
                {
                    tk_Grid.MasterTableView.ExportToCSV();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
            case "Print":

                if (Cls_Propiedades.PrivilegiosUsuario[0].Imprime == 1)
                {
                    Response.Write(Cls_Utilitaria.f_Imprime());
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
        }

    }

    //private void LoadReport(String Empresa, Int32 Ejercicio, Int32 SubDiarioID, Int32 UnidadNegocioID, Int32 HotelID, Int32 AreaID, String AsientocontableDetalleIDTransferencia, DateTime? FechaInicio, DateTime? FechaFin, String CodigoPlanCuenta1, String CodigoPlanCuenta2)
    //{
    //    String strServidor = "";
    //    String strBaseDatos = "";
    //    String strUsuario = "";
    //    String strClave = "";

    //    reportPath = Server.MapPath(Cls_Propiedades.variablesRpt[0].RootRPT + "\\" + Cls_Propiedades.variablesRpt[0].NombreRPT);

    //    if (ConfigurationSettings.AppSettings.Get("TipoConexion").ToString() == "1")
    //    {
    //        strServidor = Encriptador.Encriptador.f_desencriptar(ConfigurationSettings.AppSettings.Get("Servidor"));
    //        strBaseDatos = Encriptador.Encriptador.f_desencriptar(ConfigurationSettings.AppSettings.Get("BaseDatos"));
    //        strUsuario = Encriptador.Encriptador.f_desencriptar(ConfigurationSettings.AppSettings.Get("Usuario"));
    //        strClave = Encriptador.Encriptador.f_desencriptar(ConfigurationSettings.AppSettings.Get("Clave"));
    //    }

    //    cryRpt.Load(reportPath);

    //    cryRpt.DataSourceConnections[0].SetConnection(strServidor, strBaseDatos, strUsuario, strClave);
    //    cryRpt.SetParameterValue("@Empresa", Empresa);
    //    cryRpt.SetParameterValue("@Ejercicio", Ejercicio);
    //    cryRpt.SetParameterValue("@SubDiarioID", SubDiarioID);
    //    cryRpt.SetParameterValue("@UnidadNegocioID", UnidadNegocioID);
    //    cryRpt.SetParameterValue("@HotelID", HotelID);
    //    cryRpt.SetParameterValue("@AreaID", AreaID);
    //    cryRpt.SetParameterValue("@FechaInicio", FechaInicio);
    //    cryRpt.SetParameterValue("@FechaFin", FechaFin);
    //    cryRpt.SetParameterValue("@AsientocontableDetalleIDTransferencia", AsientocontableDetalleIDTransferencia);
    //    cryRpt.SetParameterValue("@CodigoPlanCuenta1", (CodigoPlanCuenta1 == "") ? null : CodigoPlanCuenta1);
    //    cryRpt.SetParameterValue("@CodigoPlanCuenta2", (CodigoPlanCuenta2 == "") ? null : CodigoPlanCuenta2);



    //    CRV_1.ReportSource = cryRpt;
    //    //CRV_1.DataBind();
    //    CRV_1.Visible = false;
    //}

}
