using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
using System.Data;
using System.Data.SqlClient;
using Microsoft.ApplicationBlocks.Data;
using System.Configuration;
using BE;
using BL;

public partial class frmPlanDeCuentasBalances : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //Nombre_TipoFormatoDeGGyPP(Request.QueryString["FormatoGananciaPerdidaID"]);
        Nombre_Formato();
    }

    private void Nombre_TipoFormatoDeGGyPP(string TipoFormatoGGPPID)
    {

        BETipoFormatoDeGGyPP objet_TipoFormatoDeGGyPP = new BETipoFormatoDeGGyPP();
        BLTipoFormatoDeGGyPP objlg_TipoFormatoDeGGyPP = new BLTipoFormatoDeGGyPP();
        List<BETipoFormatoDeGGyPP> datos;

        datos = objlg_TipoFormatoDeGGyPP.fnSelTipoFormatoDeGGyPPDin(" TipoFormatoGGPPID=" + TipoFormatoGGPPID, "");
        if (datos.Count > 0)
        {
            this.lblNombreTipo.Text = datos[0].NombreTipoFormato;
        }
        
        objet_TipoFormatoDeGGyPP = null;
        objlg_TipoFormatoDeGGyPP = null;

    }

    private void Nombre_Formato()
    {
        BEFormatoDeGananciasPerdidas objet_FormatoDeGananciasPerdidas = new BEFormatoDeGananciasPerdidas();
        BLFormatoDeGananciasPerdidas objlg_FormatoDeGananciasPerdidas = new BLFormatoDeGananciasPerdidas();
        List<BEFormatoDeGananciasPerdidas> Datos;

        Datos = objlg_FormatoDeGananciasPerdidas.fnSelFormatoDeGananciasPerdidasDin("where FDGP.FormatoGananciaPerdidaID=" + Request.QueryString["FormatoGananciaPerdidaID"], "");

        ViewState["FormatoGananciaPerdidaID"] = Datos[0].FormatoGananciaPerdidaID.Trim();

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

        this.lblNombreTipo.Text = Convert.ToString(ViewState["NombreFormatoGanaciasPerdidas"]);

        objet_FormatoDeGananciasPerdidas = null;
        objlg_FormatoDeGananciasPerdidas = null;
        Datos = null;

    }

    protected void RadToolBar1_ButtonClick(object sender, Telerik.Web.UI.RadToolBarEventArgs e)
    {
        if (e.Item.Text == "Asignar Seleccionados")
        {
            string xml;
            xml = "<Planes>";
            foreach (GridDataItem item in RadGrid2.MasterTableView.Items)
            {
                CheckBox chk = (CheckBox)item.FindControl("CheckBox1");
                if (chk.Checked == true)
                {
                    xml = xml + "<Plan PlanCuentaID='"+ item["PlanCuentaID"].Text +"'></Plan>";
                    //xml = xml + "<Reserva ReservaID=\"" + item["PlanCuentaID"].Text + "\" TotalDeposito=\"" + item["PlanCuentaID"].Text + "\" MonedaID=\"" + item["PlanCuentaID"].Text + "\"></Reserva>";
                }
            }
            
            xml = xml +"</Planes>";



            string connect = System.Configuration.ConfigurationManager.AppSettings["connectionstring"];
            SqlConnection scn = new SqlConnection(connect);
            string sp = "UCO_AsignarBalances";
             SqlCommand spcmd = new SqlCommand(sp, scn);
            spcmd.CommandType = CommandType.StoredProcedure;
            SqlParameter FormatoGananciaPerdidaID = new SqlParameter("@FormatoGananciaPerdidaID", SqlDbType.Int);
            FormatoGananciaPerdidaID.Value = Request.QueryString["FormatoGananciaPerdidaID"];
            SqlParameter Planes_XML = new SqlParameter("@XML", SqlDbType.Xml);
            Planes_XML.Value = xml;
            SqlDataReader dr;
            spcmd.Parameters.Add(FormatoGananciaPerdidaID);
            spcmd.Parameters.Add(Planes_XML); 
            scn.Open();
            dr = spcmd.ExecuteReader();
            scn.Close();
            dr.Close();

            RadGrid1.Rebind();
            RadGrid2.Rebind();

        }
    }


    protected void CheckBoxTodos1_CheckedChanged1(object sender, EventArgs e)
    {
        foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
        {
            CheckBox chkbx = (CheckBox)item["Eliminar"].FindControl("CheckBox1");
            chkbx.Checked = !chkbx.Checked;
        }
    }

    protected void CheckBoxTodos2_CheckedChanged2(object sender, EventArgs e)
    {
        foreach (GridDataItem item in RadGrid2.MasterTableView.Items)
        {
            CheckBox chkbx = (CheckBox)item["Asignar"].FindControl("CheckBox1");
            chkbx.Checked = !chkbx.Checked;
        }
    }

    protected void RadToolBar2_ButtonClick(object sender, Telerik.Web.UI.RadToolBarEventArgs e)
    {
        if (e.Item.Text == "Eliminar Seleccionados")
        {
            string xml;
            xml = "<Planes>";
            foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
            {
                CheckBox chk = (CheckBox)item.FindControl("CheckBox1");
                if (chk.Checked == true)
                {
                    xml = xml + "<Plan PlanCuentaID='" + item["PlanCuentaID"].Text + "'></Plan>";
                    //xml = xml + "<Reserva ReservaID=\"" + item["PlanCuentaID"].Text + "\" TotalDeposito=\"" + item["PlanCuentaID"].Text + "\" MonedaID=\"" + item["PlanCuentaID"].Text + "\"></Reserva>";
                }
            }

            xml = xml + "</Planes>";



            string connect = System.Configuration.ConfigurationManager.AppSettings["connectionstring"];
            SqlConnection scn = new SqlConnection(connect);
            string sp = "UCO_DesAsignarBalances";
            SqlCommand spcmd = new SqlCommand(sp, scn);
            spcmd.CommandType = CommandType.StoredProcedure;
            SqlParameter FormatoGananciaPerdidaID = new SqlParameter("@FormatoGananciaPerdidaID", SqlDbType.Int);
            FormatoGananciaPerdidaID.Value = Request.QueryString["FormatoGananciaPerdidaID"];
            SqlParameter Planes_XML = new SqlParameter("@XML", SqlDbType.Xml);
            Planes_XML.Value = xml;
            SqlDataReader dr;
            spcmd.Parameters.Add(FormatoGananciaPerdidaID);
            spcmd.Parameters.Add(Planes_XML);
            scn.Open();
            dr = spcmd.ExecuteReader();
            scn.Close();
            dr.Close();

            RadGrid1.Rebind();
            RadGrid2.Rebind();

        }
    }
    protected void btnRegresar_Click(object sender, EventArgs e)
    {
        Response.Redirect("List_FormatoDeGananciasPerdidas.aspx?ID=" + Request.QueryString["IdRetorno"].ToString());
    }
}