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

using System.Data.OleDb;
using System.IO;

public partial class Proc_BloqueoAsientos : System.Web.UI.Page
{
    String cadena = "";
    Int32 Cantidad = 0;
    List<BESubDiariosBloqueo> loSubDiariosBloqueo;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["Usuario"] == null)
        { Response.Redirect(Utilitaria.Cls_Enums.CerrarSesion.Salir);
        }
    }


    private void Listar()
    {
        BLSubDiariosBloqueo oBLSubDiariosBloqueo = new BLSubDiariosBloqueo();
        BESubDiariosBloqueo oBESubDiariosBloqueo = new BESubDiariosBloqueo();
        

        oBESubDiariosBloqueo.EstablecimientoID = Convert.ToInt32(Session["EmpresaID"]);
        oBESubDiariosBloqueo.HotelID = Convert.ToInt32(Session["HotelID"]);
        oBESubDiariosBloqueo.Ejercicio = Convert.ToInt32(Session["txtPeriodo"].ToString().Trim());
       
        loSubDiariosBloqueo = oBLSubDiariosBloqueo.fnSelSubDiariosAll(oBESubDiariosBloqueo, ref  cadena);
        
        Hidencadena.Value = cadena;
        Hidencantidad.Value = loSubDiariosBloqueo.Count().ToString();
        Cantidad = loSubDiariosBloqueo.Count();
        tk_Grid.DataSource = loSubDiariosBloqueo;
        oBLSubDiariosBloqueo = null;
        oBESubDiariosBloqueo = null;
    }
    protected void tk_Grid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
    {
        Listar();
    }
    protected void tk_Grid_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            GridDataItem dataItem = (GridDataItem)e.Item;

            Image Enero = (Image)e.Item.FindControl("imgEnero");
             if (Convert.ToInt32(Enero.AlternateText) == 1)
            {
                Enero.ImageUrl = "~/images/lock.gif";
            }
            Image Febrero = (Image)e.Item.FindControl("imgFebrero");
            if (Convert.ToInt32(Febrero.AlternateText) == 1)
            {
                Febrero.ImageUrl = "~/images/lock.gif";
            }
            Image Marzo = (Image)e.Item.FindControl("imgMarzo");
            if (Convert.ToInt32(Marzo.AlternateText) == 1)
            {
                Marzo.ImageUrl = "~/images/lock.gif";
            }
            Image Abril = (Image)e.Item.FindControl("imgAbril");
            if (Convert.ToInt32(Abril.AlternateText) == 1)
            {
                Abril.ImageUrl = "~/images/lock.gif";
            }
            Image Mayo = (Image)e.Item.FindControl("imgMayo");
            if (Convert.ToInt32(Mayo.AlternateText) == 1)
            {
                Mayo.ImageUrl = "~/images/lock.gif";
            }
            Image Junio = (Image)e.Item.FindControl("imgJunio");
            if (Convert.ToInt32(Junio.AlternateText) == 1)
            {
                Junio.ImageUrl = "~/images/lock.gif";
            }
            Image Julio = (Image)e.Item.FindControl("imgJulio");
            if (Convert.ToInt32(Julio.AlternateText) == 1)
            {
                Julio.ImageUrl = "~/images/lock.gif";
            }
            Image Agosto = (Image)e.Item.FindControl("imgAgosto");
            if (Convert.ToInt32(Agosto.AlternateText) == 1)
            {
                Agosto.ImageUrl = "~/images/lock.gif";
            }
            Image Septiembre = (Image)e.Item.FindControl("imgSeptiembre");
            if (Convert.ToInt32(Septiembre.AlternateText) == 1)
            {
                Septiembre.ImageUrl = "~/images/lock.gif";
            }
            Image Octubre = (Image)e.Item.FindControl("imgOctubre");
            if (Convert.ToInt32(Octubre.AlternateText) == 1)
            {
                Octubre.ImageUrl = "~/images/lock.gif";
            }
            Image Noviembre = (Image)e.Item.FindControl("imgNoviembre");
            if (Convert.ToInt32(Noviembre.AlternateText) == 1)
            {
                Noviembre.ImageUrl = "~/images/lock.gif";
            }
            Image Diciembre = (Image)e.Item.FindControl("imgDiciembre");
            if (Convert.ToInt32(Diciembre.AlternateText) == 1)
            {
                Diciembre.ImageUrl = "~/images/lock.gif";
            }
        }
    }
    private void CierreAsientos(String SubDiarioID, String NameSubDiario,Int32 index, Int32 Mes)
    {
        BLProcesos oBLProcesos = new BLProcesos();
        BLTablaMovimientos oBLMovimientos = new BLTablaMovimientos();
        String MesName="";
        String before=""; String after="";
        switch (Mes)
        {
            case 1 :MesName="Enero"; break;
            case 2: MesName="Febrero"; break;
            case 3: MesName="Marzo"; break;
            case 4: MesName="Abril"; break;
            case 5: MesName="Mayo"; break;
            case 6: MesName="Junio"; break;
            case 7: MesName="Julio"; break;
            case 8: MesName="Agosto"; break;
            case 9: MesName="Setiembrre"; break;
            case 10:MesName="Octubre"; break;
            case 11:MesName="Noviembre"; break;
            case 12:MesName = "Diciembre"; break;
        }
        // 0=habilitado       1=desabilitado}

        if (index == 0) { before = "Habilitado"; after = "Deshabilitado"; }
        if (index == 1) { before = "Deshabilitado"; after = "Habilitado"; }
        Int32 EstablecimientoID = Convert.ToInt32(Session["EmpresaID"].ToString());
        Int32 SucursalID = Convert.ToInt32(Session["HotelID"].ToString());
        Int32 Ejercicio = Convert.ToInt32(Session["txtPeriodo"].ToString());
        //Int32 Mes = Convert.ToInt32(cbxMesesSubDiario.SelectedValue);
        //String SubDiarioID = (cbxDiarioAuxiliar.SelectedValue == "") ? "0" : cbxDiarioAuxiliar.SelectedValue;
        oBLProcesos.fnInsUpdMayorizados(EstablecimientoID, SucursalID, Ejercicio, Mes, SubDiarioID);
        BLSubDiariosBloqueo oBLSubDiariosBloqueo = new BLSubDiariosBloqueo();
        BESubDiariosBloqueo oBESubDiariosBloqueo = new BESubDiariosBloqueo();
        BETablaMovimientos BE_Movimiento = new BETablaMovimientos();
        String strRegistro = "";

        strRegistro = "<<ANTES SubDiario>>" +
                                  "\n<NombreSubDiario>=" + NameSubDiario +
                                  "\n<Mes>=" + MesName +
                                  "\n<Estado>=" + before +
                                  "\n\n<<AHORA SubDiario>>" +
                                  "\n<NombreSubDiario>=" + NameSubDiario +
                                   "\n<Mes>=" + MesName +
                                  "\n<Estado>=" + after;

        
        BE_Movimiento.UsuarioID = Convert.ToInt32(Session["UsuarioID"]);
        BE_Movimiento.Movimiento = strRegistro; ;
        //objet_FormatoDeGananciasPerdidas.BEAuditores.UsuarioIdAutorizado = 0;
        BE_Movimiento.IPEquipo = Cls_Enums.f_DatosPC.IPPC;
        BE_Movimiento.UsuarioActualEquipo = Cls_Enums.f_DatosPC.UsuarioPC;
        BE_Movimiento.NombreEquipo = Cls_Enums.f_DatosPC.NombrePC;
        BE_Movimiento.TablaMovimientoID = "148";
        oBLMovimientos.RegistroMovimientos(BE_Movimiento);
        
    }
    private void CierreAsientosHeader(Int32 Mes)
    {
        //BLOQUEO DE DIARIOS AUX VERTICALMENTE 
        


        BLProcesos oBLProcesos = new BLProcesos();
        Int32 EstablecimientoID = Convert.ToInt32(Session["EmpresaID"].ToString());
        Int32 SucursalID = Convert.ToInt32(Session["HotelID"].ToString());
        Int32 Ejercicio = Convert.ToInt32(Session["txtPeriodo"].ToString());
        String  cade = Hidencadena.Value.ToString();
        int can =Convert.ToInt32( Hidencantidad.Value);
        //-----------------------------------------------------------
        Int32 UsuarioID = Convert.ToInt32(Session["UsuarioID"]);       
        String IPEquipo = Cls_Enums.f_DatosPC.IPPC;
        String UsuarioActualEquipo = Cls_Enums.f_DatosPC.UsuarioPC;
        String NombreEquipo = Cls_Enums.f_DatosPC.NombrePC;
        String TablaMovimientoID = "148";
        
        

        //------------------------------------------------------
        oBLProcesos.fnInsUpdMayorizadosHeader(EstablecimientoID, SucursalID, Ejercicio, Mes, cade, can, UsuarioID, IPEquipo, UsuarioActualEquipo, NombreEquipo, TablaMovimientoID);
        //..............................................................................................................
        //BETablaMovimientos BE_Movimiento = new BETablaMovimientos();
        //string strRegistro="";
        //    //Update
        //for (int r = 0; r < can; r++ )
        //{
        //    strRegistro =strRegistro +  "<<ANTES DIARIOS AUXILIARES BLOQUES>>" +
        //                 "\n<NombreSubDiario>=" + "" +
        //                 "\n<Mes>=" + "" +
        //                 "\n<Estado>=" + "" +
        //                 "\n\n<<DESPUES DIARIOS AUXILIARES BLOQUES>>" +
        //                 "\n<NombreSubDiario>=" + "" +
        //                 "\n<Mes>=" + "" +
        //                 "\n<Estado>=" + "";        }
           
        


        

        //    BE_Movimiento.UsuarioID = Convert.ToInt32(Session["UsuarioID"]);
        //    BE_Movimiento.Movimiento = "";
        //    //objet_FormatoDeGananciasPerdidas.BEAuditores.UsuarioIdAutorizado = 0;
        //    BE_Movimiento.IPEquipo = Cls_Enums.f_DatosPC.IPPC;
        //    BE_Movimiento.UsuarioActualEquipo = Cls_Enums.f_DatosPC.UsuarioPC;
        //    BE_Movimiento.NombreEquipo = Cls_Enums.f_DatosPC.NombrePC;
        //    BE_Movimiento.TablaMovimientoID = "148";
        //...................................................................................
        // BLSubDiariosBloqueo oBLSubDiariosBloqueo = new BLSubDiariosBloqueo();
        //BESubDiariosBloqueo oBESubDiariosBloqueo = new BESubDiariosBloqueo();
        tk_Grid.Rebind();
    }

    //protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    //{
        
    //}
    protected void tk_Grid_ItemCommand(object source, GridCommandEventArgs e)
    {
        Int32 Mes = Convert.ToInt32(e.CommandName.ToString().Trim());
        String[] idname = e.CommandArgument.ToString().Split(';');
        //Int32 index =Convert.ToInt32(e.Item.ItemIndex);

        
        String id=idname[0];
        String name = idname[1];
        Int32 index =Convert.ToInt32(idname[2]);
        
        CierreAsientos(id,name,index, Mes);
        tk_Grid.Rebind();
    }


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

    }
    protected void btnheadermes_Click(object sender, EventArgs e)
    {
        int mes = Convert.ToInt32(hidenmes.Value);
        CierreAsientosHeader(mes);
     

    }
}
