using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using Telerik.Web.UI;
using System.Globalization;

using BE;
using BL;
using Utilitaria;


public partial class frmPlanDeCuentas : System.Web.UI.Page
{
    public String PlanCuentaID; 
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["Usuario"] == null)
        {
            Response.Redirect(Utilitaria.Cls_Enums.CerrarSesion.Salir);
        }
        if (!IsPostBack)
        {
            ViewState["CPC"] = Request.QueryString["CPC"].ToString();
            try
            {
                Convert.ToInt32(ViewState["CPC"]);
                GridColumn column = tk_Grid.MasterTableView.GetColumnSafe("CodigoPlanCuenta");
                column.CurrentFilterValue = ViewState["CPC"].ToString();
                column.CurrentFilterFunction = GridKnownFunction.StartsWith;
            }
            catch
            {
                GridColumn column = tk_Grid.MasterTableView.GetColumnSafe("NombrePlanCuenta");
                column.CurrentFilterValue = ViewState["CPC"].ToString();
                column.CurrentFilterFunction = GridKnownFunction.StartsWith;
            }
        }
    }

    private void listar(String PlanDeCuenta, Int32 Tipo)
    {
        BEPlanDeCuentas objet_PlanDeCuentas = new BEPlanDeCuentas();
        BLPlanDeCuentas objlg_PlanDeCuentas = new BLPlanDeCuentas();

        if (String.IsNullOrEmpty(PlanDeCuenta))
        {
            tk_Grid.DataSource = objlg_PlanDeCuentas.fnSelPlanDeCuentasPopUp("Estado=0" + " and pdc.EstablecimientoID=" + Session["EmpresaID"].ToString().Trim(), "CodigoPlanCuenta");
        }
        else
        {
            String Where = "";
            Where = "(CodigoPlanCuenta LIKE '" + PlanDeCuenta + "%'";
            Where += " OR ";
            Where += "NombrePlanCuenta LIKE '" + PlanDeCuenta + "%')";
            tk_Grid.DataSource = objlg_PlanDeCuentas.fnSelPlanDeCuentasPopUp("Estado=0" + " and pdc.EstablecimientoID=" + Session["EmpresaID"].ToString().Trim() + " and " + Where, "CodigoPlanCuenta");
        }
        if (Tipo != 1)
            tk_Grid.Rebind();
        objet_PlanDeCuentas = null;
        objlg_PlanDeCuentas = null;
    }

    protected void tk_Grid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
   {
        if (!IsPostBack)
        {
            GridColumn column = tk_Grid.MasterTableView.GetColumnSafe("CodigoPlanCuenta");
            GridColumn column2 = tk_Grid.MasterTableView.GetColumnSafe("NombrePlanCuenta");
            column.CurrentFilterFunction = GridKnownFunction.StartsWith;
            column2.CurrentFilterFunction = GridKnownFunction.StartsWith;
            //column.CurrentFilterValue = ViewState["CPC"].ToString();
            if (column.CurrentFilterValue != "")
                listar(column.CurrentFilterValue, 1);
            else if (column2.CurrentFilterValue != "")
                listar(column2.CurrentFilterValue, 1);
            else
                listar("", 1);
        }
        else
        {
            listar("", 1);
        }

    }

    protected void tk_Grid_ItemCommand(object source, GridCommandEventArgs e)
    {

    }

    protected void tk_Grid_ItemDataBound(object sender, GridItemEventArgs e)
    {
        
    }
    protected void btnSelect_Click(object sender, EventArgs e)
    {
        Int32 Seleccion = tk_Grid.SelectedItems.Count;
        if (Seleccion == 0)
        {
            showMessage("Seleccione un plan de cuentas");
        }
        else
        {
            PlanCuentaID = tk_Grid.SelectedItems[0].OwnerTableView.DataKeyValues[tk_Grid.SelectedItems[0].ItemIndex]["PlanCuentaID"].ToString().Trim();
            Session["PCID"] = PlanCuentaID;
            ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind('PC');", true);
        }
    }
    protected void showMessage(string strMessage)
    {
        ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", "alert('" + strMessage + "');", true);

    }
    protected void tk_Grid_PreRender(object sender, EventArgs e)
    {

    }
    protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        string argumentoAjx = (e.Argument);
        string[] datos = argumentoAjx.Split(",".ToCharArray());
        if (datos[0] == "seleccionaFila")
        {
            Session["PCID"] = datos[1];
            PlanCuentaID = datos[1];
        }
    }
}
