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

using Telerik.Web.UI;

using BE;
using BL;
using Utilitaria;


public partial class InstUpd_FormatoDeGananciasPerdidas : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["Usuario"] == null)
        {
            ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind();", true);
        }
        this.txtNombre.Focus();
        if (!IsPostBack)
        {
            Nombre_TipoFormatoDeGGyPP(ViewState["TipoFormatoGGPPID"].ToString());
            llenaCombo_TipoFormatoDeGGyPP();
            if (ViewState["FormatoGananciaPerdidaID"] != null) { BuscaRegistro(); }
        }

        //ddlTipoFormatoGGPP.Filter = (RadComboBoxFilter)Convert.ToInt32(2);
    }


    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        
        ViewState["TipoFormatoGGPPID"] = Request.QueryString["TipoFormatoGGPPID"].ToString().Trim();

        if (Request.QueryString["FormatoGananciaPerdidaID"] == null)
        {
            this.btnGuardar.Text = "  Crear  "; 
        }
        else
        {
            this.btnGuardar.Text = "Actualizar";
            ViewState["FormatoGananciaPerdidaID"] = Request.QueryString["FormatoGananciaPerdidaID"].ToString().Trim();
        }
    }

    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.txtTipoFormatoGGPP.Text = datos[0].NombreTipoFormato;
        }
        this.ddlTipoFormatoGGPP.DataSource = datos;
        this.ddlTipoFormatoGGPP.DataBind();

        objet_TipoFormatoDeGGyPP = null;
        objlg_TipoFormatoDeGGyPP = null;

    }

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

        datos = objlg_TipoFormatoDeGGyPP.fnSelTipoFormatoDeGGyPPAll();

        this.ddlTipoFormatoGGPP.DataSource = datos;
        this.ddlTipoFormatoGGPP.DataBind();

        //this.ddlTipoFormatoGGPP.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("Seleccione"));
        //this.ddlTipoFormatoGGPP.Items[0].Value = "0";
        //this.ddlTipoFormatoGGPP.SelectedIndex = 0;

        //for (i = 0; i < datos.Count; i++)
        //{
        //    this.ddlTipoFormatoGGPP.Items.Insert(i + 1, new Telerik.Web.UI.RadComboBoxItem(datos[i].NombreTipoFormato));
        //    this.ddlTipoFormatoGGPP.Items[i + 1].Value = datos[i].TipoFormatoGGPPID.Trim();
        //}

        objet_TipoFormatoDeGGyPP = null;
        objlg_TipoFormatoDeGGyPP = null;
    }

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

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

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

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

        this.txtNombre.Text = Convert.ToString(ViewState["NombreFormatoGanaciasPerdidas"]);
        this.ddlTipoFormatoGGPP.SelectedValue = Convert.ToString(ViewState["TipoFormatoGGPPID"]);
        this.ddlTipoFormatoGGPP.Text = Datos[0].BETipoFormatoDeGGyPP.NombreTipoFormato;
        this.txtOrden.Value = Convert.ToInt32(ViewState["OrdenFGP"]);
        this.cbxSubTitulo.SelectedValue = Convert.ToString(ViewState["SubtituloBalanceID"]);
        objet_FormatoDeGananciasPerdidas = null;
        objlg_FormatoDeGananciasPerdidas = null;
        Datos = null;

    }


    private void Combo_FormatosBalance(String TipoFormatoGGPPID, Int32 tipo)
    {

       
            this.cbxFormatosBalance.Text = "";
            this.cbxFormatosBalance.SelectedValue = "";

        BEFormatosBalance objet_FormatosBalance = new BEFormatosBalance();
        BLFormatosBalance objlg_FormatosBalance = new BLFormatosBalance();
        List<BEFormatosBalance> Col_FormatosBalance;

        if (tipo == 1)
        {
            Col_FormatosBalance = objlg_FormatosBalance.fnSelFormatosBalanceDin("estado=0 and FormatoBalanceID=" + TipoFormatoGGPPID, "");
            ViewState["NombreFormatoBalance"] = Col_FormatosBalance[0].NombreFormatoBalance;
        }
        else 
        {
            Col_FormatosBalance = objlg_FormatosBalance.fnSelFormatosBalanceDin("estado=0 and TipoFormatoGGPPID=" + TipoFormatoGGPPID, "");
            this.cbxFormatosBalance.DataSource = Col_FormatosBalance;
            this.cbxFormatosBalance.DataBind();
       }


        objet_FormatosBalance = null;
        objlg_FormatosBalance = null;
    }


    private void limpiarCampos()
    {
        ViewState["FormatoGananciaPerdidaID"] = "";
        this.txtNombre.Text = String.Empty;
        this.ddlTipoFormatoGGPP.SelectedValue = Utilitaria.Cls_Enums.EstadoModulos.Todos;
        this.txtNombre.Focus();

    }

    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        BEFormatoDeGananciasPerdidas objet_FormatoDeGananciasPerdidas = new BEFormatoDeGananciasPerdidas();
        BLFormatoDeGananciasPerdidas objlg_FormatoDeGananciasPerdidas = new BLFormatoDeGananciasPerdidas();

        String strFormatoGananciaPerdidaID = Convert.ToString(ViewState["FormatoGananciaPerdidaID"]);
        String strRegistro;
        String strActualiza;

        ViewState["New_NombreFormatoGanaciasPerdidas"] = this.txtNombre.Text;
        ViewState["New_TipoFormatoGGPPID"] = ViewState["TipoFormatoGGPPID"];//this.ddlTipoFormatoGGPP.SelectedValue.ToString().Trim();
        ViewState["OrdenFGP"] = this.txtOrden.Value.Value;
        ViewState["SubtituloBalanceID"] = this.cbxSubTitulo.SelectedValue;

        objet_FormatoDeGananciasPerdidas.FormatoGananciaPerdidaID = strFormatoGananciaPerdidaID;
        objet_FormatoDeGananciasPerdidas.NombreFormatoGanaciasPerdidas = Convert.ToString(ViewState["New_NombreFormatoGanaciasPerdidas"]).Trim();
        objet_FormatoDeGananciasPerdidas.TipoFormatoGGPPID = Convert.ToString(ViewState["New_TipoFormatoGGPPID"]).Trim();
        objet_FormatoDeGananciasPerdidas.OrdenFGP = Convert.ToInt32(ViewState["OrdenFGP"]);
        objet_FormatoDeGananciasPerdidas.SubtituloBalanceID = Convert.ToInt32(ViewState["SubtituloBalanceID"]);

        strRegistro = "<<Creo FormatoDeGananciasPerdidas>>" +
                      "\n<NombreFormatoGanaciasPerdidas>=" + ViewState["New_NombreFormatoGanaciasPerdidas"] +
                      "\n<TipoFormatoGGPPID>=" + ViewState["New_TipoFormatoGGPPID"];

        //Ingresa
        objet_FormatoDeGananciasPerdidas.BEAuditores.UsuarioID = Convert.ToInt32(Session["UsuarioID"]);
        objet_FormatoDeGananciasPerdidas.BEAuditores.Movimiento = strRegistro;
        objet_FormatoDeGananciasPerdidas.BEAuditores.UsuarioIdAutorizado = 0;
        objet_FormatoDeGananciasPerdidas.BEAuditores.IPEquipo = Cls_Enums.f_DatosPC.IPPC;
        objet_FormatoDeGananciasPerdidas.BEAuditores.UsuarioActualEquipo = Cls_Enums.f_DatosPC.UsuarioPC;
        objet_FormatoDeGananciasPerdidas.BEAuditores.NombreEquipo = Cls_Enums.f_DatosPC.NombrePC;
        objet_FormatoDeGananciasPerdidas.BEAuditores.TablaMovimientoID = Cls_Enums.TablaMovimientos.FormatoDeGananciasPerdidas;

        if (strFormatoGananciaPerdidaID != String.Empty)
        {
            //Update
            strRegistro = "<<Actualiza FormatoDeGananciasPerdidas>>" +
                          "\n<NombreFormatoGanaciasPerdidas>=" + ViewState["NombreFormatoGanaciasPerdidas"] +
                          "\n<TipoFormatoGGPPID>=" + ViewState["TipoFormatoGGPPID"];

            strActualiza = "<<Actualiza FormatoDeGananciasPerdidas>>" +
                           "\n<NombreFormatoGanaciasPerdidas>=" + ViewState["New_NombreFormatoGanaciasPerdidas"] +
                           "\n<TipoFormatoGGPPID>=" + ViewState["New_TipoFormatoGGPPID"];

            objet_FormatoDeGananciasPerdidas.BEAuditores.Movimiento = strRegistro;
            objet_FormatoDeGananciasPerdidas.BEAuditores.MovimientoUltimo = strActualiza;
            ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind();", true);
        }

        Int32 registro = objlg_FormatoDeGananciasPerdidas.fnInsUpdFormatoDeGananciasPerdidas(objet_FormatoDeGananciasPerdidas);

        //if (registro > 0)
        //{ showMessage("Los Datos que ingreso ya esta registrado"); return; }
        //else
        //{
            ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind('navigateToInserted');", true);
        //}

        objet_FormatoDeGananciasPerdidas = null;
        objlg_FormatoDeGananciasPerdidas = null;
        this.limpiarCampos();

    }


    protected void btnVolver_Click(object sender, EventArgs e)
    {
        ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CancelEdit();", true);
        this.limpiarCampos();
    }

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

    }

}
