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.Threading;
using System.Globalization;

public partial class frmEEFFMensual : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        this.Title = Request.QueryString["NTF"].ToString();
        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);
        }


        if (!IsPostBack)
        {
            /////////////////////////// Inicio Parametros Cabecera 
            ViewState["FecDesde"] = Session["Desde"];
            ViewState["FecHasta"] = Session["Hasta"];
            this.lblTitulo.Text = Request.QueryString["NTF"].ToString();

            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 

            lblMes.Text = Request.QueryString["Periodo"];
            lblEjercicio.Text = Session["txtperiodo"].ToString();
            ViewState["BalanceAcumulado"] = Request.QueryString["ACUM"]; //Session["BalanceAcumulado"].ToString();
            ViewState["TipoFormatoGGPPID"] = Request.QueryString["TFGPID"];
            ViewState["Mes"] = Request.QueryString["Mes"];

            ViewState["HotelID"] = Request.QueryString["HTL"].ToString();
            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";
            }

            ViewState["UnidadNegocioID"] = Request.QueryString["UNG"].ToString();
            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"].ToString();
            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";
            }


            ViewState["NivelCuentaID"] = Request.QueryString["NVL"];
            foreach (GridColumn col in tk_Grid.Columns)
            {
                if (col.UniqueName == "NombrePlanCuenta" || col.UniqueName == "CodigoPlanCuenta")
                {
                    col.Visible = false;
                }
            }

            switch (Convert.ToInt32(ViewState["Mes"]))
            {
                case 1: lblMes.Text = "Enero";
                    break;
                case 2: lblMes.Text = "Febrero";
                    break;
                case 3: lblMes.Text = "Marzo";
                    break;
                case 4: lblMes.Text = "Abril";
                    break;
                case 5: lblMes.Text = "Mayo";
                    break;
                case 6: lblMes.Text = "Junio";
                    break;
                case 7: lblMes.Text = "Julio";
                    break;
                case 8: lblMes.Text = "Agosto";
                    break;
                case 9: lblMes.Text = "Septiembre";
                    break;
                case 10: lblMes.Text = "Octubre";
                    break;
                case 11: lblMes.Text = "Noviembre";
                    break;
                case 12: lblMes.Text = "Diciembre";
                    break;

            }
        }
    }

    private void AgregarGrupo()
    {
            foreach (GridColumn col in tk_Grid.Columns)
            {
                if (col.UniqueName == "NombrePlanCuenta" || col.UniqueName == "CodigoPlanCuenta")
                {
                    col.Visible = true;
                }
                if (col.UniqueName == "NombreFormatoGanaciasPerdidas")
                {
                    col.Visible = false;
                }
            }

            tk_Grid.MasterTableView.GroupByExpressions.Add(new GridGroupByExpression("NombreFormatoGanaciasPerdidas [Formato] Group By NombreFormatoGanaciasPerdidas"));
     
    }

    private void Listar() {
        BEMayorizados objet_Mayorizados = new BEMayorizados();
        BLMayorizados objlg_Mayorizados = new BLMayorizados();

        //string _FormatoID = Session["FormatoID"].ToString();
        String _TipoFormatoGGPPID = ViewState["TipoFormatoGGPPID"].ToString();
        String _TipoCuentaID = "0";  //Session["TipoCuentaID"].ToString();
        Int32 _Ejercicio = Convert.ToInt32(Session["txtperiodo"].ToString());
        String _MesID = ViewState["Mes"].ToString();
        //String _MesNombre = Request.QueryString["Periodo"];
        Int32 HotelID = Convert.ToInt32(ViewState["HotelID"]);
        Int32 EstablecimientoID = Convert.ToInt32(Session["EmpresaID"]);

        Int32 _NivelID = Convert.ToInt32(ViewState["NivelCuentaID"]);
        string psWhere;
        if (Convert.ToInt32(ViewState["BalanceAcumulado"]) == 0)
        {
            lblDelAl.Text = "DEL ";
            //psWhere = "Month(Dia)=" + _MesID + " and PeriodoID=" + _MesID;
            psWhere = "PeriodoID=" + _MesID;
        }
        else
        {
            lblDelAl.Text = "AL ";
            //psWhere = "Month(Dia)<=" + _MesID;
            psWhere = "PeriodoID<=" + _MesID;

            // Diego 06/01/2014 //
            lblDesde.Visible = false;
            label_desde_html.Visible = false;
            // Diego 06/01/2014 //
        }


        //tk_Grid.DataSource = objlg_Mayorizados.fnSelMayorizadosMesDin(_FormatoID, _TipoCuentaID, _Ejercicio,_NivelID, psWhere, "");
        Int32 AreaID=0;
        Int32 UnidadDeNegocioID=0;
        Int32 FormatoReporte = 0;
        FormatoReporte = Convert.ToInt32(Request.QueryString["FORMATOREPORTE"].ToString());
        tk_Grid.DataSource = objlg_Mayorizados.fnSelMayorizadosMesDin(_TipoFormatoGGPPID, _TipoCuentaID, _Ejercicio, _NivelID, HotelID, EstablecimientoID, psWhere, "", AreaID, UnidadDeNegocioID, FormatoReporte);
        //this.tk_Grid.Columns[0].ItemStyle.HorizontalAlign = HorizontalAlign.Left;

        objet_Mayorizados = null;
        objlg_Mayorizados = null;

        if (ViewState["NivelCuentaID"].ToString() != "0") AgregarGrupo();
    }


    //Int32 _CurrGroup;
    string _FormatoGananciaPerdidaID;
    string _FormatoBalanceID;
    string _TipoCuentaID;

    String currUrl;
    String headertext;
    String GroupHeaderText;
    String SubGroupHeaderText;
    protected void tk_Grid_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridHeaderItem)
        {
            GridHeaderItem headerItem = (GridHeaderItem)e.Item;

            HyperLink hh0 = new HyperLink();
            currUrl = "BalanceComprobacion.aspx?MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&NVL=" + ViewState["NivelCuentaID"].ToString().Trim();
            hh0.NavigateUrl = "#";
            hh0.Text = "S/.";
            hh0.CssClass = "gridtext";
            hh0.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','Balance Comprobacion');");
            headerItem["totalDebe"].Controls.Add(hh0);      

            HyperLink hh1 = new HyperLink();
            currUrl = "BalanceComprobacion.aspx?MON=2&Mes=" + ViewState["Mes"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&NVL=" + ViewState["NivelCuentaID"].ToString().Trim();
            hh1.NavigateUrl = "#";
            hh1.Text = "US$";
            hh1.CssClass = "gridtext";
            hh1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','Balance Comprobacion');");
            headerItem["totalHaber"].Controls.Add(hh1);

        }

        //if (e.Item is GridGroupHeaderItem)
        //{
        //    GridGroupHeaderItem item = (GridGroupHeaderItem)e.Item;
        //    headertext = item.DataCell.Text.Substring(item.DataCell.Text.IndexOf(':') + 1);
        //}

        if (e.Item is GridGroupHeaderItem)
        {
            GridGroupHeaderItem item = (GridGroupHeaderItem)e.Item;
            Label groupCaption = new Label();
            System.Data.DataRowView groupDataRow = (System.Data.DataRowView)e.Item.DataItem;
            //groupCaption.Text = item.DataCell.Text.Substring(7, item.DataCell.Text.Length - 7);
            groupCaption.Text = item.DataCell.Text;
            groupCaption.CssClass = "gridtextbold";
            item.DataCell.Controls.Clear();
            item.DataCell.Controls.Add(groupCaption);


            if (item.GroupIndex.Length == 1)
            {
                GroupHeaderText = item.DataCell.Text.Substring(item.DataCell.Text.IndexOf(':') + 1);
            }
            else
            {
                SubGroupHeaderText = item.DataCell.Text.Substring(item.DataCell.Text.IndexOf(':') + 1);
            }
        }

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

            _FormatoGananciaPerdidaID = dataItem["FormatoGananciaPerdidaID"].Text.Trim();
            _FormatoBalanceID = dataItem["FormatoBalanceID"].Text.Trim();
            _TipoCuentaID = dataItem["TipoCuentaID"].Text.Trim();

            HyperLink h0 = new HyperLink();
            currUrl = "frmAnexoBalance.aspx?MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=" + dataItem["FormatoGananciaPerdidaID"].Text.Trim() + "&FBID=0&TCTAID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
            h0.NavigateUrl = "#";
            if (double.Parse(dataItem["totalDebe"].Text) == 0) dataItem["totalDebe"].Text = "";
            h0.Text = dataItem["totalDebe"].Text;
            h0.CssClass = "gridtext";
            h0.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            dataItem["totalDebe"].Controls.Add(h0);

            HyperLink h1 = new HyperLink();
            currUrl = "frmAnexoBalance.aspx?&MON=2&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=" + dataItem["FormatoGananciaPerdidaID"].Text.Trim() + "&FBID=0&TCTAID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
            h1.NavigateUrl = "#";
            if (double.Parse(dataItem["totalHaber"].Text) == 0) dataItem["totalHaber"].Text = "";
            h1.Text = dataItem["totalHaber"].Text;
            h1.CssClass = "gridtext";
            h1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            dataItem["totalHaber"].Controls.Add(h1);

        }

        else if (e.Item is GridGroupFooterItem)
        {

            GridGroupFooterItem gridfooteritem = e.Item as GridGroupFooterItem;

            //if (_CurrGroup == 1)
            //{
            //    _FormatoBalanceID = "0";
            //}
            //_CurrGroup++;
            //if (_CurrGroup == 2) _CurrGroup = 0;

            HyperLink hg0 = new HyperLink();
            if (gridfooteritem.GroupIndex.Length == 1)
            {                
                //currUrl = "frmAnexoBalance.aspx?&MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=0&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                currUrl = "frmAnexoBalance.aspx?MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=0&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
            }
            else
            {
                //currUrl = "frmAnexoBalance.aspx?Mes=1&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&MON=" + ViewState["MonedaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                currUrl = "frmAnexoBalance.aspx?MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
            }            
            hg0.NavigateUrl = "#";
            if (double.Parse(gridfooteritem["totalDebe"].Text) == 0) gridfooteritem["totalDebe"].Text = "";
            hg0.Text = gridfooteritem["totalDebe"].Text.Trim();
            hg0.CssClass = "gridtext";
            hg0.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            gridfooteritem["totalDebe"].Controls.Add(hg0);


            HyperLink hg1 = new HyperLink();
            if (gridfooteritem.GroupIndex.Length == 1)
            {
                //currUrl = "frmAnexoBalance.aspx?&MON=1&Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=0&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
                currUrl = "frmAnexoBalance.aspx?MON=2&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=0&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
            }
            else
            {
                //currUrl = "frmAnexoBalance.aspx?Mes=1&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&MON=" + ViewState["MonedaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
                currUrl = "frmAnexoBalance.aspx?MON=2&Mes=" + ViewState["Mes"].ToString().Trim() + "&GPID=0&FBID=" + _FormatoBalanceID + "&TCTAID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"].ToString().Trim() + "&UNG=" + ViewState["UnidadNegocioID"].ToString().Trim() + "&ARA=" + ViewState["AreaID"].ToString().Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim() + "&FGPID=0";
            }  
            //currUrl = "frmAnexoBalance.aspx?&MON=2Mes=" + ViewState["Mes"].ToString().Trim() + "&FGPID=0" + "&ACUM=" + gridfooteritem["FormatoGananciaPerdidaID"].Text.Trim() + "&ACUM=" + ViewState["BalanceAcumulado"].ToString().Trim() + "&GGPPID=0&FBID=&TCTAID=0" + _FormatoBalanceID + "&TCID=" + _TipoCuentaID + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"] + "&TFGPID=" + ViewState["TipoFormatoGGPPID"].ToString().Trim();
            hg1.NavigateUrl = "#";
            if (double.Parse(gridfooteritem["totalHaber"].Text) == 0) gridfooteritem["totalHaber"].Text = "";
            hg1.Text = gridfooteritem["totalHaber"].Text.Trim();
            hg1.CssClass = "gridtext";
            hg1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            gridfooteritem["totalHaber"].Controls.Add(hg1);

            string strtxt = gridfooteritem["NombreFormatoBalance"].Text.Substring(gridfooteritem["NombreFormatoBalance"].Text.IndexOf(':') + 1);
            if (headertext != null)
                gridfooteritem["NombrePlanCuenta"].Text = headertext + ":" + strtxt;
            gridfooteritem["NombrePlanCuenta"].Style["color"] = "#006400";
            gridfooteritem["NombrePlanCuenta"].Style["font-weight"] = "bold";
            gridfooteritem["NombrePlanCuenta"].Style["font-style"] = "italic";
            gridfooteritem["NombrePlanCuenta"].Style["text-align"] = "right";
            

        }

        else if (e.Item is GridFooterItem)
        {
            GridFooterItem footer = (GridFooterItem)e.Item;

            HyperLink hf0 = new HyperLink();
            currUrl = "frmAnexoBalance.aspx?Mes=" + ViewState["Mes"].ToString().Trim() + "&GGPPID=0&FBID=0&TCID=0" + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"];
            hf0.NavigateUrl = "#";
            if (footer["totalDebe"].Text == "0.00") footer["totalDebe"].Text = "";
            hf0.Text = footer["totalDebe"].Text.Trim();
            hf0.CssClass = "linkstotal";
            hf0.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            footer["totalDebe"].Controls.Add(hf0);

            HyperLink hf1 = new HyperLink();
            currUrl = "frmAnexoBalance.aspx?Mes=" + ViewState["Mes"].ToString().Trim() + "&GGPPID=0&FBID=0&TCID=0" + "&HTL=" + ViewState["HotelID"] + "&UNG=" + ViewState["UnidadNegocioID"] + "&ARA=" + ViewState["AreaID"];
            hf1.NavigateUrl = "#";
            if (footer["totalHaber"].Text == "0.00") footer["totalHaber"].Text = "";
            hf1.Text = footer["totalHaber"].Text.Trim();
            hf1.CssClass = "linkstotal";
            hf1.Attributes.Add("OnClick", "return AbreVentana('" + currUrl + "','BalanceMensual');");
            footer["totalHaber"].Controls.Add(hf1);

        }

                
    }

    protected void tk_Grid_ItemCommand(object source, GridCommandEventArgs e)
    {
        tk_Grid.ExportSettings.ExportOnlyData = true;
        tk_Grid.ExportSettings.IgnorePaging = true;
        tk_Grid.ExportSettings.OpenInNewWindow = false;

        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)
                {
                    String _MesID = ViewState["Mes"].ToString();
                    string psWhere;
                    if (Convert.ToInt32(ViewState["BalanceAcumulado"]) == 0)
                    {
                        psWhere = "PeriodoID=" + _MesID;
                    }
                    else
                    {
                        psWhere = "PeriodoID<=" + _MesID;
                    }

                    //Response.Write(Cls_Utilitaria.f_Imprime());
                    RadWindowManager windowManager = new RadWindowManager();
                    RadWindow widnow1 = new RadWindow();
                    // Set the window properties   
                    String TextoAcumulado = "";
                    var DaysInMonth = DateTime.DaysInMonth(Convert.ToInt32(Session["txtperiodo"]), Convert.ToInt32(ViewState["Mes"]));
                    if (Request.QueryString["ACUM"].ToString() == "1")
                    {

                        TextoAcumulado = "Al " + new DateTime(Convert.ToInt32(Session["txtperiodo"]), Convert.ToInt32(ViewState["Mes"]), DaysInMonth).Day + " de " + lblMes.Text.ToString() + " de " + Session["txtperiodo"].ToString();
                    }
                    else
                    {
                        TextoAcumulado = "Del mes de " + lblMes.Text.ToString() + " del " + Session["txtperiodo"].ToString();
                    }
                    widnow1.NavigateUrl = "Frm_ReporteEstadoSituacionFinancieraMes.aspx?TipoFormatoGGPPID=" + ViewState["TipoFormatoGGPPID"].ToString() + "&TipoCuentaID=0&Ejercicio=" + Convert.ToInt32(Session["txtperiodo"].ToString()) + "&NivelID=" + Convert.ToInt32(ViewState["NivelCuentaID"]) + "&HotelID=" + Convert.ToInt32(ViewState["HotelID"]) + "&EstablecimientoID=" + Convert.ToInt32(Session["EmpresaID"]) + "&AreaID=0&UnidadNegocioID=0&Periodo=" + psWhere + "&Texto1=" + Request.QueryString["NTF"] + "&Texto2=" + TextoAcumulado + "&Texto3=&FormatoReporte=" + Request.QueryString["FORMATOREPORTE"];
                    widnow1.ID = "RadWindow1";
                    widnow1.Width = 500;
                    widnow1.Height = 500;
                    widnow1.Skin = "Office2007";
                    widnow1.VisibleOnPageLoad = true; // Set this property to True for showing window from code   
                    windowManager.Windows.Add(widnow1);
                    this.form2.Controls.Add(widnow1);
                    tk_Grid.Rebind();
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
        }
        Listar();        
    }

    protected void showMessage(string strMessage)
    {
        ClientScript.RegisterStartupScript(this.GetType(), "Application", string.Format("alert('{0}');", HttpUtility.HtmlDecode(strMessage)), true);
    }

    protected void tk_Grid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
    {
        Listar();
    }
}
