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 frmProvisionFlujoCaja : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ViewState["Parametros"] = Request.QueryString["fc"].ToString();
            Combo_PlanDeCuenta();
            Combo_Area();
            Listar();
        }
    }

    private void Combo_PlanDeCuenta()
    {
        BLPlanDeCuentas oBLPlanDeCuentas = new BLPlanDeCuentas();
        List<BEPlanDeCuentas> loPlanDeCuentas;
        
     // loPlanDeCuentas = oBLPlanDeCuentas.fnSelPlanDeCuentasDin("Estado=0" + " and pdc.EstablecimientoID=" + Session["EmpresaID"].ToString().Trim(), "codigoplancuenta asc, NombrePlanCuenta asc", 0);
        loPlanDeCuentas = oBLPlanDeCuentas.fnSelPlanDeCuentasDin("Estado=0" + " and pdc.EstablecimientoID=" + Session["EmpresaID"].ToString().Trim() + " and pdc.NivelSaldoId <> (select Valor From ParametrosGenerales Where ParametroGeneralID = 5001) ", "codigoplancuenta asc, NombrePlanCuenta asc", 0);

        for (int i = 0; i < loPlanDeCuentas.Count; i++)
        {
            cbxPlanCta.Items.Insert(i,new RadComboBoxItem(loPlanDeCuentas[i].CodigoPlanCuenta + " -> " + loPlanDeCuentas[i].NombrePlanCuenta.Trim()));
            cbxPlanCta.Items[i].Value= loPlanDeCuentas[i].PlanCuentaID.ToString().Trim();

            cbxPlanCtaDolares .Items.Insert(i, new RadComboBoxItem(loPlanDeCuentas[i].CodigoPlanCuenta + " -> " + loPlanDeCuentas[i].NombrePlanCuenta.Trim()));
            cbxPlanCtaDolares.Items[i].Value = loPlanDeCuentas[i].PlanCuentaID.ToString().Trim();

        }

        cbxPlanCta.Items.Insert(0, new RadComboBoxItem("Seleccione..."));
        cbxPlanCta.Items[0].Value = "0";
        cbxPlanCta.DataBind();

        cbxPlanCtaDolares.Items.Insert(0, new RadComboBoxItem("Seleccione..."));
        cbxPlanCtaDolares.Items[0].Value = "0";
        cbxPlanCtaDolares.DataBind();

        oBLPlanDeCuentas = null;
        loPlanDeCuentas = null;
    }
    private void Combo_Area()
    {
        BLAreas oBLAreas = new BLAreas();
        List<BEAreas> loAreas;
        loAreas = oBLAreas.fnSelAreasDin("estado=0", "NombreArea asc");

        for (int i = 0; i < loAreas.Count; i++)
        {
            cbxAreaID.Items.Insert(i, new RadComboBoxItem(loAreas[i].NombreArea));
            cbxAreaID.Items[i].Value = loAreas[i].AreaId.ToString().Trim();
        }

        cbxAreaID.Items.Insert(0, new RadComboBoxItem("Seleccione..."));
        cbxAreaID.Items[0].Value = "0";
        cbxAreaID.DataBind();
    
    }

    private void Listar()
    {
        BEFlujoCaja objBEFlujoCaja = new BEFlujoCaja();
        BLFlujoCaja objBLFlujoCaja = new BLFlujoCaja();
        List<BEFlujoCaja> loFlujoCaja;

        loFlujoCaja = null;
        loFlujoCaja = objBLFlujoCaja.fnSelFlujoCajaDin("FlujoCajaID=" + Convert.ToInt32(ViewState["Parametros"].ToString()),"");
       
        if (loFlujoCaja.Count > 0)
        {
            txtNombre.Text = loFlujoCaja[0].NombreFlujoCaja.Trim();
            cbxPlanCta.SelectedValue = loFlujoCaja[0].PlanCuentaID.ToString().Trim();
            cbxPlanCtaDolares.SelectedValue = loFlujoCaja[0].PlanCuentaIDDolares.ToString().Trim();
            cbxAreaID.SelectedValue = loFlujoCaja[0].AreaID.ToString().Trim();
        }

        objBEFlujoCaja = null;
        objBLFlujoCaja = null;
        loFlujoCaja = null;
    }

  
    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        BEFlujoCaja objBEFlujoCaja = new BEFlujoCaja();
        BLFlujoCaja objBLFlujoCaja = new BLFlujoCaja();

        objBEFlujoCaja.PlanCuentaID = this.cbxPlanCta.SelectedValue.Trim();
        objBEFlujoCaja.PlanCuentaIDDolares = this.cbxPlanCtaDolares.SelectedValue.Trim();
        objBEFlujoCaja.FlujoCajaID = Convert.ToInt32(ViewState["Parametros"].ToString());
        objBEFlujoCaja.AreaID = Convert.ToInt32(this.cbxAreaID.SelectedValue.Trim());
        objBLFlujoCaja.fnInsUpdFlujoCaja(objBEFlujoCaja);

        ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind();", true);

    }

    protected void btnVolver_Click(object sender, EventArgs e)
    {
        ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CancelEdit();", true);
    }
    protected void GridDistribucionAreas_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        Listar();
    }

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