using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using Telerik.Web.UI;
using System.Globalization;

using BE;
using BL;
using Utilitaria;


public partial class List_FormatoDeGananciasPerdidas : System.Web.UI.Page
{
    protected void Page_Init(object sender, EventArgs e)
    {
        SDS_FormatoGanaciasPerdidas.ConnectionString = ConfigurationManager.ConnectionStrings["SHIOL_CONTA_BTHConnectionString"].ToString();
        SDS_UCO_SelectPlanDeCuentasBalances_Tipo1.ConnectionString = ConfigurationManager.ConnectionStrings["SHIOL_CONTA_BTHConnectionString"].ToString();

        if (Request.Cookies["UserSettings"] != null)
        {
            if (Request.Cookies["UserSettings"]["MostrarChecked"] != null)
            {
                if (Request.Cookies["UserSettings"]["MostrarChecked"] == "1")
                {
                    checkMostrarOcultar.Checked = true;
                }
                else
                {
                    tk_Grid.MasterTableView.HierarchyDefaultExpanded = false;
                    tk_Grid.Rebind();
                }
            }
        }
        else
        {
            checkMostrarOcultar.Checked = true;
        }
        
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        


        if (Session["Usuario"] == null)
        {
            Response.Redirect(Utilitaria.Cls_Enums.CerrarSesion.Salir);
        }
            if (!IsPostBack)
                {
                    ViewState["TipoFormatoGGPPID"] = Request.QueryString["ID"].ToString().Trim();
                  llenaCombo_TipoFormatoDeGGyPP();
                }

    }

    //DIEGO 15/05/2014
    //private void listar(int tipo)
    //{
    //    BEFormatoDeGananciasPerdidas objet_FormatoDeGananciasPerdidas = new BEFormatoDeGananciasPerdidas();
    //    BLFormatoDeGananciasPerdidas objlg_FormatoDeGananciasPerdidas = new BLFormatoDeGananciasPerdidas();

    //    if (tipo == 1)
    //    {
    //        Session["FormatoDeGananciasPerdidas"] = objlg_FormatoDeGananciasPerdidas.fnSelFormatoDeGananciasPerdidasDin("where TFGP.TipoFormatoGGPPID=" + ViewState["TipoFormatoGGPPID"].ToString(), "");
    //        this.tk_Grid.DataSource = Session["FormatoDeGananciasPerdidas"];
    //        // this.tk_Grid.DataBind();
    //    }


    //    objet_FormatoDeGananciasPerdidas = null;
    //    objlg_FormatoDeGananciasPerdidas = null;

    //}
    //FIN DIEGO 15/05/2014


    private void llenaCombo_TipoFormatoDeGGyPP()
    {
        BETipoFormatoDeGGyPP objet_TipoFormatoDeGGyPP = new BETipoFormatoDeGGyPP();
        BLTipoFormatoDeGGyPP objlg_TipoFormatoDeGGyPP = new BLTipoFormatoDeGGyPP();
        List<BETipoFormatoDeGGyPP> datos;

        datos = objlg_TipoFormatoDeGGyPP.fnSelTipoFormatoDeGGyPPAll();

       

        for (int i = 0; i < datos.Count; i++)
        {
            this.ddlTipoFormatoGGPP.Items.Insert(i, new RadComboBoxItem(datos[i].NombreTipoFormato.ToString().Trim()));
            this.ddlTipoFormatoGGPP.Items[i].Value = datos[i].TipoFormatoGGPPID.ToString().Trim();
        }

        this.ddlTipoFormatoGGPP.SelectedValue = ViewState["TipoFormatoGGPPID"].ToString();

        objet_TipoFormatoDeGGyPP = null;
        objlg_TipoFormatoDeGGyPP = null;
    }

    public string f_NombreEstado(Int32 Estados)
    {
        return Utilitaria.Cls_Utilitaria.f_TipoEstado(Convert.ToInt32(Estados));
    }

  

    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();
                    //this.listar(1); //Diego 15/05/2014
                }
                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();
                    //this.listar(1); //Diego 15/05/2014
                }
                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();
                    //this.listar(1); //Diego 15/05/2014
                }
                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();
                    //this.listar(1); //Diego 15/05/2014
                }
                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());
                    //this.listar(1); //Diego 15/05/2014
                }
                else
                {
                    showMessage("No posee los privilegios necesario para completar la operación");
                }
                break;
        }
        


        if (e.CommandName == "desactivar")
        {
            BEFormatoDeGananciasPerdidas objet_FormatoDeGananciasPerdidas = new BEFormatoDeGananciasPerdidas();
            BLFormatoDeGananciasPerdidas objlg_FormatoDeGananciasPerdidas = new BLFormatoDeGananciasPerdidas();
            List<BEFormatoDeGananciasPerdidas> Datos;

            Datos = objlg_FormatoDeGananciasPerdidas.fnSelFormatoDeGananciasPerdidasDin("where FDGP.FormatoGananciaPerdidaID=" + Convert.ToString(e.CommandArgument), "");
            ViewState["FormatoGananciaPerdidaID"] = Datos[0].FormatoGananciaPerdidaID.Trim();

            //// Inicio Variables auditoras ///
            ViewState["NombreFormatoGanaciasPerdidas"] = Datos[0].NombreFormatoGanaciasPerdidas.Trim();
            ViewState["TipoFormatoGGPPID"] = Datos[0].TipoFormatoGGPPID.Trim();


           string  strRegistro = "<<Elimina FormatoDeGananciasPerdidas>>" +
              "\n<NombreFormatoGanaciasPerdidas>=" + ViewState["NombreFormatoGanaciasPerdidas"] +
              "\n<TipoFormatoGGPPID>=" + ViewState["TipoFormatoGGPPID"];


            Cls_Utilitaria.f_EliminaRegistro_FormatoDeGananciasPerdidas(Convert.ToString(e.CommandArgument),
                                                            Convert.ToString(Cls_Enums.EstadoModulos.Inactivo),
                                                            Convert.ToInt32(Session["UsuarioID"]),
                                                            strRegistro,
                                                            0,
                                                            Cls_Enums.TablaMovimientos.FormatoDeGananciasPerdidas,
                                                             ViewState["FormatoGananciaPerdidaID"].ToString(),
                                                            "");
         this.tk_Grid.Rebind();
       }
    }

    protected void btnNuevo_Click(object sender, ImageClickEventArgs e)
    {
        //limpiarCampos();
        //this.ddlTipoFormatoGGPP.SelectedValue = Utilitaria.Cls_Enums.EstadoModulos.Todos;
        //this.ModalPopupExtender1.Show();
    }

    protected void showMessage(string strMessage)
    {
        ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "alert('" + strMessage + "');", true);

    }


    //protected void tk_Grid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
    //{
    //    //listar(1); //Diego 15/05/2014
    //    //this.tk_Grid.DataSource = Session["FormatoDeGananciasPerdidas"];
    //}
    
    protected void tk_Grid_ItemCreated(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem && e.Item.OwnerTableView.Name == "tk_Grid")
        {
            HyperLink editLink = (HyperLink)e.Item.FindControl("EditLink");
            editLink.Attributes["href"] = "#";
            editLink.Attributes["onclick"] = String.Format("return ShowEditForm('{0}','{1}','{2}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["FormatoGananciaPerdidaID"], e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["TipoFormatoGGPPID"], e.Item.ItemIndex);

            HyperLink detalleLink = (HyperLink)e.Item.FindControl("detalleLink");
            detalleLink.Attributes["href"] = "frmPlanDeCuentasBalances.aspx?FormatoGananciaPerdidaID=" + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["FormatoGananciaPerdidaID"].ToString().Trim() + "&Nombre=" + "&IdRetorno=" + Request.QueryString["ID"].ToString().Trim(); //+ e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["BETipoFormatoDeGGyPP.NombreTipoFormato"].ToString();
        }

        
    }


    protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
        {
            if (e.Argument == "Rebind")
            {
                tk_Grid.MasterTableView.SortExpressions.Clear();
                tk_Grid.MasterTableView.GroupByExpressions.Clear();
                tk_Grid.Rebind();
            }
            else if (e.Argument == "RebindAndNavigate")
            {
                tk_Grid.MasterTableView.SortExpressions.Clear();
                tk_Grid.MasterTableView.GroupByExpressions.Clear();
                tk_Grid.MasterTableView.CurrentPageIndex = tk_Grid.MasterTableView.PageCount - 1;
                tk_Grid.Rebind();
            }
            else if (e.Argument == "OcultarCuentas")
            {
                tk_Grid.MasterTableView.HierarchyDefaultExpanded = false;
                tk_Grid.Rebind();

                Response.Cookies["UserSettings"]["MostrarChecked"] = "0";
                Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
            }
            else if (e.Argument == "MostrarCuentas")
            {
                tk_Grid.MasterTableView.HierarchyDefaultExpanded = true;
                tk_Grid.Rebind();
                Response.Cookies["UserSettings"]["MostrarChecked"] = "1";
                Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
            }
        }



    protected void ddlTipoFormatoGGPP_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
    {
        if (ddlTipoFormatoGGPP.SelectedValue.ToString().Trim() != null)
        {
            Response.Redirect("List_FormatoDeGananciasPerdidas.aspx?ID=" + ddlTipoFormatoGGPP.SelectedValue.ToString().Trim());
        }
    }
    protected void btnRegresar_Click(object sender, EventArgs e)
    {
        Response.Redirect("List_TipoFormatoDeGGyPP.aspx");
    }
}
