private void GuardaEstado()
    {
        ServiciosCD40.EstadosRecursos eRecurso   = new ServiciosCD40.EstadosRecursos();
        ServiciosCD40.EstadosRecursos oneRecurso = new ServiciosCD40.EstadosRecursos();

        oneRecurso.IdSistema = eRecurso.IdSistema = (string)Session["idsistema"];
        eRecurso.IdSector    = (string)Session["NombreSector"];
        eRecurso.IdNucleo    = (string)Session["idnucleo"];
        eRecurso.PosHMI      = CalculatePosHmi(UInt16.Parse(((string)ViewState["IdBoton"]).Replace("Button", "")));

        oneRecurso.TipoRecurso = eRecurso.TipoRecurso = 0;              // Radio
        oneRecurso.IdDestino   = eRecurso.IdDestino = (string)ViewState["IdDestino"];
        oneRecurso.TipoDestino = eRecurso.TipoDestino = 0;

        foreach (GridViewRow fila in GViewEstado.Rows)
        {
            oneRecurso.IdRecurso = eRecurso.IdRecurso = fila.Cells[2].Text;
            oneRecurso.Estado    = eRecurso.Estado = ((CheckBox)fila.Cells[0].FindControl("DListEstados")).Checked ? "S" : "A";

            ServicioCD40.InsertSQL(eRecurso);

            // Hacer que todos los paneles con este destino configurado tengan el mismo estado del recurso asignado "S" o "A"
            oneRecurso.IdSector = oneRecurso.IdNucleo = "";
            oneRecurso.PosHMI   = 0;
            ServicioCD40.UpdateSQL(oneRecurso);
        }
    }
    private void MuestraDatosEstadoRecursos(string strDestino)
    {
        CargaRecursos(strDestino);

        ServiciosCD40.EstadosRecursos eRecurso = new ServiciosCD40.EstadosRecursos();

        eRecurso.IdSistema = (string)Session["idsistema"];
        eRecurso.IdSector  = (string)Session["NombreSector"];
        eRecurso.IdNucleo  = (string)Session["idnucleo"];
        eRecurso.PosHMI    = CalculatePosHmi(UInt16.Parse(((string)ViewState["IdBoton"]).Replace("Button", "")));

        eRecurso.TipoRecurso = 0;               // Radio
        eRecurso.IdDestino   = strDestino;
        eRecurso.TipoDestino = 0;

        ServiciosCD40.Tablas[] listaRecursos = ServicioCD40.ListSelectSQL(eRecurso);

        //MVO-20170710: Se oculta la tabla de recursos y se mantienen los valores por defecto. Todos los recursos marcados
        //GViewEstado.Visible = listaRecursos.Length > 0;

        for (int i = 0; i < GViewEstado.Rows.Count && i < GViewEstado.PageSize && i < listaRecursos.Length; i++)
        {
            ((CheckBox)GViewEstado.Rows[i].Cells[0].FindControl("DListEstados")).Checked = ((ServiciosCD40.EstadosRecursos)listaRecursos[i]).Estado == "S";
        }
    }