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_TipoFormatoDeGGyPP : 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)
        {
            if (ViewState["TipoFormatoGGPPID"] != null) { BuscaRegistro(); }
        }

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

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

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


    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);

    }


    private void BuscaRegistro()
    {
        BETipoFormatoDeGGyPP objet_TipoFormatoDeGGyPP = new BETipoFormatoDeGGyPP();
        BLTipoFormatoDeGGyPP objlg_TipoFormatoDeGGyPP = new BLTipoFormatoDeGGyPP();
        List<BETipoFormatoDeGGyPP> Datos;

        Datos = objlg_TipoFormatoDeGGyPP.fnSelTipoFormatoDeGGyPPDin("TipoFormatoGGPPID=" + Convert.ToString(ViewState["TipoFormatoGGPPID"]), "");

        ViewState["TipoFormatoGGPPID"] = Datos[0].TipoFormatoGGPPID;

        // Inicio Variables auditoras ///
        ViewState["NombreTipoFormato"] = Datos[0].NombreTipoFormato;
        ViewState["TipoReporteBalanceId"] = Datos[0].TipoReporteBalanceId;
        ///////FIN//////////

        this.txtNombre.Text = Convert.ToString(ViewState["NombreTipoFormato"]);
        this.cbxTipoReporte.SelectedValue = Convert.ToString(ViewState["TipoReporteBalanceId"]);

        objet_TipoFormatoDeGGyPP = null;
        objlg_TipoFormatoDeGGyPP = null;
        Datos = null;
            

    }

    private void limpiarCampos()
    {
        ViewState["TipoFormatoGGPPID"] = "";
        ViewState["TipoReporteBalanceId"] = "";
        this.txtNombre.Text = String.Empty;
        this.txtNombre.Focus();
        this.cbxTipoReporte.ClearSelection();

    }


    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        BETipoFormatoDeGGyPP objet_TipoFormatoDeGGyPP = new BETipoFormatoDeGGyPP();
        BLTipoFormatoDeGGyPP objlg_TipoFormatoDeGGyPP = new BLTipoFormatoDeGGyPP();

        String strTipoFormatoGGPPID = Convert.ToString(ViewState["TipoFormatoGGPPID"]);
        String strRegistro;
        String strActualiza;

        ViewState["New_NombreTipoFormato"] = this.txtNombre.Text;
        ViewState["New_TipoReporteBalanceId"] = this.cbxTipoReporte.SelectedValue;


        objet_TipoFormatoDeGGyPP.TipoFormatoGGPPID = strTipoFormatoGGPPID;
        objet_TipoFormatoDeGGyPP.NombreTipoFormato = Convert.ToString(ViewState["New_NombreTipoFormato"]).Trim();
        objet_TipoFormatoDeGGyPP.TipoReporteBalanceId = Convert.ToInt32(ViewState["New_TipoReporteBalanceId"]);
        objet_TipoFormatoDeGGyPP.CtaEF = (this.ChkEF.Checked == true) ? 1 : 0;

        strRegistro = "<<Creo TipoFormatoDeGGyPP>>" +
                      "\n<NombreTipoFormato>=" + ViewState["New_NombreTipoFormato"];

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

        if (strTipoFormatoGGPPID != String.Empty)
        {
            //Update
            strRegistro = "<<Actualiza TipoFormatoDeGGyPP>>" +
                          "\n<NombreTipoFormato>=" + ViewState["NombreTipoFormato"];

            strActualiza = "<<Actualiza TipoFormatoDeGGyPP>>" +
                           "\n<NombreTipoFormato>=" + ViewState["New_NombreTipoFormato"];

            objet_TipoFormatoDeGGyPP.BEAuditores.Movimiento = strRegistro;
            objet_TipoFormatoDeGGyPP.BEAuditores.MovimientoUltimo = strActualiza;

            ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind();", true);
        }
        else
        {
            ClientScript.RegisterStartupScript(Page.GetType(), "mykey", "CloseAndRebind('navigateToInserted');", true);
        }

        int registro = objlg_TipoFormatoDeGGyPP.fnInsUpdTipoFormatoDeGGyPP(objet_TipoFormatoDeGGyPP);
        if (registro > 0) { showMessage("Los Datos que ingreso ya esta registrado"); return; };


        objet_TipoFormatoDeGGyPP = null;
        objlg_TipoFormatoDeGGyPP = null;

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