none
Handle vb.net, que hace?, lo necesito? RRS feed

  • Pregunta

  • Hola a todos, pregunta como puedo mejorar esto en cuanto a rendimiento, tengo vb.net, sql server2008 y servicios CRM 2011

    Tengo una página que carga todos niños inscritos y se debe mostrar la asistencia por cada uno para alguna semana

    la cuestión es que es muuuy lento, como puedo mejorar  de verdad el rendimiento de la pagina, ya se usa ViewState :(, alguien que me pueda ayudar plis plis, bueno también tiene otras partes de código mejorables, pero no se que es realmente lo importante de mejorar, bueno sé si va al caso , pero lo dejo ahí el código, según yo este procedimiento es subceptible de mejora gv_NinosEstablecimiento_RowDataBound

    Imports System.Globalization
    Imports BL_SERNAMPROGRAMAS
    Imports FirstDayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek
    
    Public Class frm_4a7_AsistenciaHijos_Ingresar
        Inherits Navegacion.Base_Pagina
        Public Event NuevoRegistro()
    
        Public Property _FiltroBusqueda As String
            Get
                If Me.ViewState("FiltroBusqueda") Is Nothing Then
                    Me.ViewState("FiltroBusqueda") = ""
                End If
                Return ViewState("FiltroBusqueda").ToString
            End Get
            Set(ByVal value As String)
                Me.ViewState("FiltroBusqueda") = value
            End Set
        End Property
    
        Public Property _SemanaActual As Integer
            Get
                If Me.ViewState("FechaActualGrilla") Is Nothing Then
                    Me.ViewState("FechaActualGrilla") = ""
                End If
                Return CType(ViewState("FechaActualGrilla"), Integer)
            End Get
            Set(ByVal value As Integer)
                Me.ViewState("FechaActualGrilla") = value
            End Set
        End Property
    
        Public Property _FechaBusqueda As String
            Get
                Return CType(ViewState("_FechaBusqueda"), String)
            End Get
            Set(ByVal value As String)
                Me.ViewState("_FechaBusqueda") = value
            End Set
        End Property
    
        Public Property _FechaBusquedaFin As String
            Get
                Return CType(Me.ViewState("_FechaBusquedaFin"), String)
            End Get
            Set(ByVal value As String)
                Me.ViewState("_FechaBusquedaFin") = value
            End Set
        End Property
    
        Private Property dtt_NinosEstablecimiento As DataTable
            Get
                Return CType(Me.Session("dtt_NinosEstablecimiento"), DataTable)
            End Get
            Set(ByVal value As DataTable)
                Me.Session("dtt_NinosEstablecimiento") = value
            End Set
        End Property
    
        Public Property _NuevoRegistro_esPopUp As Boolean
            Get
                If ViewState("NuevoRegistro_esPopUp") Is Nothing Then
                    ViewState("NuevoRegistro_esPopUp") = False
                End If
    
                Return CType(ViewState("NuevoRegistro_esPopUp"), Boolean)
            End Get
            Set(ByVal value As Boolean)
                ViewState("NuevoRegistro_esPopUp") = value
            End Set
        End Property
    
        Public Property _NuevoRegistro_PaginaPopUp As String
            Get
                If ViewState("NuevoRegistro_PaginaPopUp") Is Nothing Then
                    ViewState("NuevoRegistro_PaginaPopUp") = ""
                End If
    
                Return CType(ViewState("NuevoRegistro_PaginaPopUp"), String)
            End Get
            Set(ByVal value As String)
                ViewState("NuevoRegistro_PaginaPopUp") = value
            End Set
        End Property
        Private Property rob_periodosinclasesid() As String
            Get
                Return CType(ViewState("rob_periodosinclasesid"), String)
            End Get
            Set(ByVal value As String)
                Me.ViewState("rob_periodosinclasesid") = value
            End Set
        End Property
    
        Private Property dtt_periodosinclases() As DataTable
            Get
                If ViewState("dtt_periodosinclases") Is Nothing Then
                    ViewState("dtt_periodosinclases") = New DataTable
                End If
                Return CType(ViewState("dtt_periodosinclases"), DataTable)
            End Get
            Set(ByVal value As DataTable)
                Me.ViewState("dtt_periodosinclases") = value
            End Set
        End Property
    
    
        Private Sub lnkbtn_New_rob_periodosinclases_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkbtn_New_rob_periodosinclases.Click
            If Not _NuevoRegistro_esPopUp Then
                RaiseEvent NuevoRegistro()
            End If
        End Sub
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not Me.Page.IsPostBack Then
                Me._NuevoRegistro_PaginaPopUp = "PP_Mant_PeriodoSinClases.aspx"
                Dim strURL As String = _NuevoRegistro_PaginaPopUp & "?CMTXURL=" & Navegacion.Seguridad.CifrarQueryString("establecimientoid=" & Me.idEstablecimiento_4a7)
    
                Dim strJS As String = "newwindowProductoCotizado = window.open('" & strURL _
                & "', 'PP_Mant_PeriodoSinClases', 'width=900px,height=500px,menubar=0,resizable=1,scrollbars=1,titlebar=0,statusbar=1,toolbar=0,status=1,location=0,screenX=1,screenY=1,top=1'); return false; if (window.focus) { newwindowProductoCotizado.focus() } "
                lnkbtn_New_rob_periodosinclases.Attributes.Add("onClick", strJS)
    
                Me.lblEstablecimiento.Text = idEstablecimiento_4a7name
                _SemanaActual = DatePart(DateInterval.WeekOfYear, Convert.ToDateTime(Date.Now), FirstDayOfWeek.Monday, FirstWeekOfYear.Jan1)
                CargaGrilla_Periodosinclases()
                ObtieneNinosEstablecimiento()
                txt_semana.Text = CType(_SemanaActual, String)
    
    
                CargaGrilla_NinosEstablecimiento()
                Me.gv_NinosEstablecimiento.Enabled = True
    
            End If
        End Sub
    
        Private Sub ObtieneNinosEstablecimiento()
            Dim strColumnasRetorno As String()
            strColumnasRetorno = {
                    cmtx_nino.Enum_Propiedades.cmtx_ninoid.ToString.ToLower,
                    cmtx_nino.Enum_Propiedades.cmtx_nombres.ToString.ToLower,
                    cmtx_nino.Enum_Propiedades.cmtx_apellidopaterno.ToString.ToLower,
                    cmtx_nino.Enum_Propiedades.cmtx_apellidomaterno.ToString.ToLower,
                    cmtx_nino.Enum_Propiedades.cmtx_run.ToString.ToLower,
                    "auris_otrodocumento",
                    cmtx_nino.Enum_Propiedades.new_pasaportes.ToString.ToLower,
                    cmtx_nino.Enum_Propiedades.cmtx_mujerresponsable.ToString.ToLower,
                    cmtx_nino.Enum_Propiedades.cmtx_establecimiento4a7.ToString.ToLower,
                    cmtx_nino.Enum_Propiedades.createdon.ToString.ToLower,
                    cmtx_nino.Enum_Propiedades.dsm_desertarnino.ToString.ToLower,
                    cmtx_nino.Enum_Propiedades.cmtx_fichaespecifica4a7id.ToString.ToLower,
                    "cmtx_fechadeasignacindelnioaalestablecimiento"
                }
    
            dtt_NinosEstablecimiento = cls_cmtx_nino.RetornaBusquedaAsistencia(Me.GUID_Propietario,
                                                                 strColumnasRetorno,
                                                                 cmtx_nino.Enum_Propiedades.cmtx_apellidopaterno.ToString.ToLower,
                                                                 "", "",
                                                                 "", Integer.Parse(CType(Session("auris_anofuncionamiento4a7"), String)))
            Dim dtt_NinosValidos As DataTable
            dtt_NinosValidos = dtt_NinosEstablecimiento.Clone()
            Dim fecha_creacion_nino As DateTime
            Dim anoparticipacion As Integer
            Try
                For Each dr As DataRow In dtt_NinosEstablecimiento.Rows
                    fecha_creacion_nino = Convert.ToDateTime(Convert.ToDateTime(dr.Item("createdon").ToString()).ToString("dd/MM/yyyy"))
    
                    Dim Desertado As Boolean = False
                    If dr.Table.Columns.Contains("dsm_desertarnino") AndAlso Not IsDBNull(dr.Item("dsm_desertarnino")) AndAlso CBool(dr.Item("dsm_desertarnino")) Then
                        Desertado = True
                    End If
                    If dr.Table.Columns.Contains("ab.auris_anoparticipacion") AndAlso Not Desertado Then
                        If dr.Item("ab.auris_anoparticipacion").ToString() <> "" Then
                            anoparticipacion = CInt(dr.Item("ab.auris_anoparticipacion"))
                            dtt_NinosValidos.ImportRow(dr)
                        Else
                            anoparticipacion = Convert.ToDateTime(Convert.ToDateTime(dr.Item("ab.createdon").ToString()).ToString("dd/MM/yyyy")).Year
                            If anoparticipacion <= fecha_creacion_nino.Year Then
                                dtt_NinosValidos.ImportRow(dr)
                            End If
                        End If
                    Else
                        anoparticipacion = Convert.ToDateTime(Convert.ToDateTime(dr.Item("ab.createdon").ToString()).ToString("dd/MM/yyyy")).Year
                        If anoparticipacion <= fecha_creacion_nino.Year AndAlso Not Desertado Then
                            dtt_NinosValidos.ImportRow(dr)
                        End If
                    End If
                Next
                dtt_NinosEstablecimiento.Clear()
                dtt_NinosEstablecimiento = dtt_NinosValidos
                cls_Generales.Comprueba_dtt_Resultado(dtt_NinosEstablecimiento, strColumnasRetorno)
            Catch ex As Exception
                Throw New Exception(ex.Message, ex)
            Finally
                If Not dtt_NinosValidos Is Nothing Then
                    dtt_NinosValidos.Dispose()
                End If
            End Try
        End Sub
    
    
        Private MuestraBotonGuardar As Boolean = False
        Private NinosPresentes As Integer = 0
        Private Sub CargaGrilla_Periodosinclases()
            Try
                dtt_periodosinclases = cls_periodosinclases.RetornaBusquedaPrincipal(Me.GUID_Propietario,
                                                                      {"auris_periodossinclasesid", "auris_establecimiento", "auris_name", "auris_inicioperiodosinclases", "auris_finperiodosinclases"}, "", "")
    
                cls_Generales.Comprueba_dtt_Resultado(dtt_periodosinclases, {"auris_periodossinclasesid", "auris_establecimiento", "auris_name", "auris_inicioperiodosinclases", "auris_finperiodosinclases"})
                Navegacion.Generales.CargaGridView(dtt_periodosinclases, Me.gv_periodosinclases, Me.lblMsgGrilla_periodosinclases)
            Catch ex As Exception
                Throw New Exception(ex.Message, ex)
            End Try
    
            dtt_periodosinclases.Dispose()
        End Sub
        Private Sub CargaGrilla_NinosEstablecimiento()
            NinosPresentes = 0
            Try
                'ObtieneAsistencia()
                Navegacion.Generales.CargaGridView(dtt_NinosEstablecimiento, Me.gv_NinosEstablecimiento, Me.lblMsgGrilla_NinosEstablecimiento,,, 200, 200)
                'Me.btnGuardar.Visible = False
                Me.btnGuardar.Visible = True
                If (dtt_NinosEstablecimiento.Rows.Count > 0) Then
                    If MuestraBotonGuardar Then
                        Me.btnGuardar.Visible = True
                    End If
                End If
            Catch ex As Exception
                Throw New Exception(ex.Message, ex)
                'Finally
                '    If Not dtt_ninosEstablecimientoValidos Is Nothing Then
                '        dtt_ninosEstablecimientoValidos.Dispose()
                '    End If
            End Try
        End Sub
        Private Function ObtieneAsistencia(Optional ByVal dia As Short = 0) As DataTable
    
            Dim fecha_inicio_ano = CDate("01-01-" & Session("auris_anofuncionamiento4a7").ToString())
                Dim lunes As Date = ObtieneLunesFechaSemana(Convert.ToDateTime(fecha_inicio_ano))
                Dim dtt_cmtx_asistencianinosprograma4a7Lu_Ma_Mi_Ju_o_Vi As DataTable
                dtt_cmtx_asistencianinosprograma4a7Lu_Ma_Mi_Ju_o_Vi = Nothing
                Dim fecha_dia As String
    
                _FechaBusqueda = CType(lunes, String)
    
    
                If Not _SemanaActual = 1 Then
                    lunes = CDate(lunes.AddDays(7 * (_SemanaActual - 1)).ToString("yyyy-MM-dd"))
                End If
    
                Dim strColumnasRetorno As String()
    
                strColumnasRetorno = {
                        cmtx_asistencianinosprograma4a7.Enum_Propiedades.cmtx_asistencianinosprograma4a7id.ToString.ToLower,
                        cmtx_asistencianinosprograma4a7.Enum_Propiedades.rob_asistencianines3opciones.ToString.ToLower,
                        cmtx_asistencianinosprograma4a7.Enum_Propiedades.cmtx_establecimiento.ToString.ToLower,
                        cmtx_asistencianinosprograma4a7.Enum_Propiedades.cmtx_fecha.ToString.ToLower,
                        cmtx_asistencianinosprograma4a7.Enum_Propiedades.cmtx_name.ToString.ToLower,
                        cmtx_asistencianinosprograma4a7.Enum_Propiedades.cmtx_ninoa.ToString.ToLower,
                        cmtx_asistencianinosprograma4a7.Enum_Propiedades.statecode.ToString.ToLower
                    }
                fecha_dia = lunes.ToString("yyyy-MM-dd")
            Select Case dia
                Case 1
                    fecha_dia = lunes.ToString("yyyy-MM-dd")
                Case 2
                    fecha_dia = lunes.AddDays(1).ToString("yyyy-MM-dd")
                Case 3
                    fecha_dia = lunes.AddDays(2).ToString("yyyy-MM-dd")
                Case 4
                    fecha_dia = lunes.AddDays(3).ToString("yyyy-MM-dd")
                Case 5
                    fecha_dia = lunes.AddDays(4).ToString("yyyy-MM-dd")
    
            End Select
    
            dtt_cmtx_asistencianinosprograma4a7Lu_Ma_Mi_Ju_o_Vi = cls_cmtx_asistencianinosprograma4a7.RetornaBusquedaPrincipal(strColumnasRetorno,
                            "",
                            Me.GUID_Propietario,
                            Me.idEstablecimiento_4a7,
                            fecha_dia,
                             "", Nothing, lunes.Year.ToString, "")
                cls_Generales.Comprueba_dtt_Resultado(dtt_cmtx_asistencianinosprograma4a7Lu_Ma_Mi_Ju_o_Vi, strColumnasRetorno)
    
    
                Return dtt_cmtx_asistencianinosprograma4a7Lu_Ma_Mi_Ju_o_Vi
    
    
    
        End Function
        Private Sub gv_NinosEstablecimiento_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_NinosEstablecimiento.RowDataBound
            'Valores para rob_asistencianines3opciones
            '185.670.000 ausente
            '185.670.001 presente
            '185.670.002 No inscrito
            '185.670.003 No usado
    
    
            Dim lunes As DateTime = ObtieneLunesFechaSemana(Convert.ToDateTime(Me._FechaBusqueda))
    
            Dim dtt_cmtx_asistencianinosprograma4a7Lu As DataTable
            Dim dtt_cmtx_asistencianinosprograma4a7Ma As DataTable
            Dim dtt_cmtx_asistencianinosprograma4a7Mi As DataTable
            Dim dtt_cmtx_asistencianinosprograma4a7Ju As DataTable
            Dim dtt_cmtx_asistencianinosprograma4a7Vi As DataTable
    
            If Not _SemanaActual = 1 Then
                lunes = lunes.AddDays(7 * (_SemanaActual - 1))
            End If
    
            If e.Row.RowType = DataControlRowType.Header Then
                DirectCast(e.Row.Controls(2), DataControlFieldHeaderCell).Text += " " + lunes.ToString("dd/MM")
                DirectCast(e.Row.Controls(3), DataControlFieldHeaderCell).Text += " " + lunes.AddDays(1).ToString("dd/MM")
                DirectCast(e.Row.Controls(4), DataControlFieldHeaderCell).Text += " " + lunes.AddDays(2).ToString("dd/MM")
                DirectCast(e.Row.Controls(5), DataControlFieldHeaderCell).Text += " " + lunes.AddDays(3).ToString("dd/MM")
                DirectCast(e.Row.Controls(6), DataControlFieldHeaderCell).Text += " " + lunes.AddDays(4).ToString("dd/MM")
            End If
            If e.Row.RowType = DataControlRowType.DataRow Then
                Dim dr As DataRow = CType(CType(e.Row.DataItem, DataRowView).Row, DataRow)
    
                Dim lbl_cmtx_run As Label = CType(e.Row.FindControl("lbl_cmtx_run"), Label)
                If Not dr.Item("cmtx_run") Is DBNull.Value Then
                    lbl_cmtx_run.Text = cls_Generales.RetornaStrRUT(dr.Item("cmtx_run").ToString()).ToString()
                    lbl_cmtx_run.ToolTip = "RUT"
                ElseIf Not dr.Item("new_pasaportes") Is DBNull.Value Then
                    lbl_cmtx_run.Text = dr.Item("new_pasaportes").ToString()
                    lbl_cmtx_run.ToolTip = "Pasaporte"
                ElseIf Not dr.Item("auris_otrodocumento") Is DBNull.Value Then
                    lbl_cmtx_run.Text = dr.Item("auris_otrodocumento").ToString()
                    lbl_cmtx_run.ToolTip = "Otro documento"
                Else
                    lbl_cmtx_run.Text = "--"
                End If
    
                Dim hdfNino As HiddenField = CType(e.Row.FindControl("hdfNino"), HiddenField)
                hdfNino.Value = CType(dr.Item("cmtx_ninoid"), String)
    
                '------------------------------------- 
    
                Dim lbl_fullname As Label = CType(e.Row.FindControl("lbl_fullname"), Label)
                Dim NombreCompleto As String = ""
    
                If Not dr.Item("cmtx_apellidopaterno") Is DBNull.Value Then
                    NombreCompleto &= dr.Item("cmtx_apellidopaterno").ToString()
                End If
    
                If Not dr.Item("cmtx_apellidomaterno") Is DBNull.Value Then
                    NombreCompleto &= " " & dr.Item("cmtx_apellidomaterno").ToString()
                End If
    
                If Not dr.Item("cmtx_nombres") Is DBNull.Value Then
                    NombreCompleto &= ", " & dr.Item("cmtx_nombres").ToString()
                End If
    
                If NombreCompleto.Length > 0 Then
                    lbl_fullname.Text = NombreCompleto.Trim
                Else
                    lbl_fullname.Text = "--"
                End If
                '------------------------------------- 
                Dim rbtn_Asistencia_PresenteLu As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_PresenteLu"), RadioButton)
                Dim rbtn_Asistencia_AusenteLu As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_AusenteLu"), RadioButton)
                Dim hdfAsistenciaLu As HiddenField = CType(e.Row.FindControl("hdfAsistenciaLu"), HiddenField)
                Dim lbl_srLunes As Label = CType(e.Row.FindControl("lbl_srLunes"), Label)
    
                Dim rbtn_Asistencia_PresenteMa As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_PresenteMa"), RadioButton)
                Dim rbtn_Asistencia_AusenteMa As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_AusenteMa"), RadioButton)
                Dim hdfAsistenciaMa As HiddenField = CType(e.Row.FindControl("hdfAsistenciaMa"), HiddenField)
                Dim lbl_srMartes As Label = CType(e.Row.FindControl("lbl_srMartes"), Label)
    
                Dim rbtn_Asistencia_PresenteMi As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_PresenteMi"), RadioButton)
                Dim rbtn_Asistencia_AusenteMi As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_AusenteMi"), RadioButton)
                Dim hdfAsistenciaMi As HiddenField = CType(e.Row.FindControl("hdfAsistenciaMi"), HiddenField)
                Dim lbl_srMiercoles As Label = CType(e.Row.FindControl("lbl_srMiercoles"), Label)
    
                Dim rbtn_Asistencia_PresenteJu As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_PresenteJu"), RadioButton)
                Dim rbtn_Asistencia_AusenteJu As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_AusenteJu"), RadioButton)
                Dim hdfAsistenciaJu As HiddenField = CType(e.Row.FindControl("hdfAsistenciaJu"), HiddenField)
                Dim lbl_srJueves As Label = CType(e.Row.FindControl("lbl_srJueves"), Label)
    
                Dim rbtn_Asistencia_PresenteVi As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_PresenteVi"), RadioButton)
                Dim rbtn_Asistencia_AusenteVi As RadioButton = CType(e.Row.FindControl("rbtn_Asistencia_AusenteVi"), RadioButton)
                Dim hdfAsistenciaVi As HiddenField = CType(e.Row.FindControl("hdfAsistenciaVi"), HiddenField)
                Dim lbl_srViernes As Label = CType(e.Row.FindControl("lbl_srViernes"), Label)
    
                rbtn_Asistencia_PresenteLu.Checked = False
                rbtn_Asistencia_AusenteLu.Checked = False
                rbtn_Asistencia_PresenteMa.Checked = False
                rbtn_Asistencia_AusenteMa.Checked = False
                rbtn_Asistencia_PresenteMi.Checked = False
                rbtn_Asistencia_AusenteMi.Checked = False
                rbtn_Asistencia_PresenteJu.Checked = False
                rbtn_Asistencia_AusenteJu.Checked = False
                rbtn_Asistencia_PresenteVi.Checked = False
                rbtn_Asistencia_AusenteVi.Checked = False
    
                hdfAsistenciaLu.Value = ""
                hdfAsistenciaMa.Value = ""
                hdfAsistenciaMi.Value = ""
                hdfAsistenciaJu.Value = ""
                hdfAsistenciaVi.Value = ""
    
                'lunes = lunes.AddHours(3)
    
                Dim dlunes As String = lunes.ToString("M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture)
                Dim dmartes As String = lunes.AddDays(1).ToString("M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture)
                Dim dmiercoles As String = lunes.AddDays(2).ToString("M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture)
                Dim djueves As String = lunes.AddDays(3).ToString("M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture)
                Dim dviernes As String = lunes.AddDays(4).ToString("M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture)
    
                dtt_cmtx_asistencianinosprograma4a7Lu = ObtieneAsistencia(1)
    
                If dtt_periodosinclases.Select([String].Format("#{0}# >= auris_inicioperiodosinclases and #{0}# <= auris_finperiodosinclases", dlunes)).Count() > 0 Or lunes.Year < Integer.Parse(Session("auris_anofuncionamiento4a7").ToString()) Or (Not DBNull.Value.Equals(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento")) AndAlso DateTime.Parse(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento").ToString()) > lunes) Then
                    lbl_srLunes.Visible = True
                    rbtn_Asistencia_PresenteLu.Visible = False
                    rbtn_Asistencia_AusenteLu.Visible = False
                ElseIf dtt_cmtx_asistencianinosprograma4a7Lu.Rows.Count > 0 Then
                    lbl_srLunes.Visible = False
                    rbtn_Asistencia_PresenteLu.Visible = True
                    rbtn_Asistencia_AusenteLu.Visible = True
                    Dim dr_cmtx_asistencianinosprograma4a7 As DataRow()
                    dr_cmtx_asistencianinosprograma4a7 = dtt_cmtx_asistencianinosprograma4a7Lu.Select("cmtx_ninoa = '" & dr.Item("cmtx_ninoid").ToString() & "'")
    
                    If dr_cmtx_asistencianinosprograma4a7.Length > 0 Then
    
    
                        If dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670001") Then
                            'lbl_srLunes.Visible = False
                            rbtn_Asistencia_PresenteLu.Checked = True
                            rbtn_Asistencia_AusenteLu.Checked = False
                            NinosPresentes += 1
                        ElseIf dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670000") Then
                            'lbl_srLunes.Visible = False
                            rbtn_Asistencia_PresenteLu.Checked = False
                            rbtn_Asistencia_AusenteLu.Checked = True
    
                        End If
    
                        hdfAsistenciaLu.Value = CType(dr_cmtx_asistencianinosprograma4a7(0).Item("cmtx_asistencianinosprograma4a7id"), String)
                    Else
                        MuestraBotonGuardar = True
                    End If
                Else
                    lbl_srLunes.Visible = False
                    rbtn_Asistencia_PresenteLu.Visible = True
                    rbtn_Asistencia_AusenteLu.Visible = True
                    MuestraBotonGuardar = True
                End If
                dtt_cmtx_asistencianinosprograma4a7Lu.Dispose()
                dtt_cmtx_asistencianinosprograma4a7Ma = ObtieneAsistencia(2)
                If dtt_periodosinclases.[Select]([String].Format("#{0}# >= auris_inicioperiodosinclases and #{0}# <= auris_finperiodosinclases", dmartes)).Count() > 0 Or lunes.AddDays(1).Year < Integer.Parse(Session("auris_anofuncionamiento4a7").ToString()) Or (Not DBNull.Value.Equals(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento")) AndAlso DateTime.Parse(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento").ToString()) > lunes.AddDays(1)) Then
                    lbl_srMartes.Visible = True
                    rbtn_Asistencia_PresenteMa.Visible = False
                    rbtn_Asistencia_AusenteMa.Visible = False
                ElseIf dtt_cmtx_asistencianinosprograma4a7Ma.Rows.Count > 0 Then
                    lbl_srMartes.Visible = False
                    rbtn_Asistencia_PresenteMa.Visible = True
                    rbtn_Asistencia_AusenteMa.Visible = True
                    Dim dr_cmtx_asistencianinosprograma4a7 As DataRow()
                    dr_cmtx_asistencianinosprograma4a7 = dtt_cmtx_asistencianinosprograma4a7Ma.Select("cmtx_ninoa = '" & dr.Item("cmtx_ninoid").ToString() & "'")
                    If dr_cmtx_asistencianinosprograma4a7.Length > 0 Then
    
    
                        If dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670001") Then
    
                            rbtn_Asistencia_PresenteMa.Checked = True
                            rbtn_Asistencia_AusenteMa.Checked = False
                            NinosPresentes += 1
                        ElseIf dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670000") Then
                            rbtn_Asistencia_PresenteMa.Checked = False
                            rbtn_Asistencia_AusenteMa.Checked = True
    
                        End If
    
                        hdfAsistenciaMa.Value = dr_cmtx_asistencianinosprograma4a7(0).Item("cmtx_asistencianinosprograma4a7id").ToString()
                    Else
                        MuestraBotonGuardar = True
                    End If
                Else
                    lbl_srMartes.Visible = False
                    rbtn_Asistencia_PresenteMa.Visible = True
                    rbtn_Asistencia_AusenteMa.Visible = True
                    MuestraBotonGuardar = True
                End If
                dtt_cmtx_asistencianinosprograma4a7Ma.Dispose()
                dtt_cmtx_asistencianinosprograma4a7Mi = ObtieneAsistencia(3)
                If dtt_periodosinclases.[Select]([String].Format("#{0}# >= auris_inicioperiodosinclases and #{0}# <= auris_finperiodosinclases", dmiercoles)).Count() > 0 Or lunes.AddDays(2).Year < Integer.Parse(Session("auris_anofuncionamiento4a7").ToString()) Or (Not DBNull.Value.Equals(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento")) AndAlso DateTime.Parse(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento").ToString()) > lunes.AddDays(2)) Then
                    lbl_srMiercoles.Visible = True
                    rbtn_Asistencia_PresenteMi.Visible = False
                    rbtn_Asistencia_AusenteMi.Visible = False
                ElseIf dtt_cmtx_asistencianinosprograma4a7Mi.Rows.Count > 0 Then
                    lbl_srMiercoles.Visible = False
                    rbtn_Asistencia_PresenteMi.Visible = True
                    rbtn_Asistencia_AusenteMi.Visible = True
                    Dim dr_cmtx_asistencianinosprograma4a7 As DataRow()
                    dr_cmtx_asistencianinosprograma4a7 = dtt_cmtx_asistencianinosprograma4a7Mi.Select("cmtx_ninoa = '" & dr.Item("cmtx_ninoid").ToString() & "'")
                    If dr_cmtx_asistencianinosprograma4a7.Length > 0 Then
                        'rbtn_Asistencia_PresenteMi.Enabled = False
                        'rbtn_Asistencia_AusenteMi.Enabled = False
    
                        ' If CBool(dr_cmtx_asistencianinosprograma4a7(0).Item("cmtx_asistencia")) Then
                        '185.670.000 ausente
                        '185.670.001 presente
                        '185.670.002 No inscrito
                        '185.670.003 No usado
    
                        If dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670001") Then
    
                            rbtn_Asistencia_PresenteMi.Checked = True
                            rbtn_Asistencia_AusenteMi.Checked = False
                            NinosPresentes += 1
                        ElseIf dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670000") Then
                            rbtn_Asistencia_PresenteMi.Checked = False
                            rbtn_Asistencia_AusenteMi.Checked = True
    
                        End If
    
                        hdfAsistenciaMi.Value = dr_cmtx_asistencianinosprograma4a7(0).Item("cmtx_asistencianinosprograma4a7id").ToString()
                    Else
                        MuestraBotonGuardar = True
                    End If
                Else
                    lbl_srMiercoles.Visible = False
                    rbtn_Asistencia_PresenteMi.Visible = True
                    rbtn_Asistencia_AusenteMi.Visible = True
                    MuestraBotonGuardar = True
                End If
                dtt_cmtx_asistencianinosprograma4a7Mi.Dispose()
                dtt_cmtx_asistencianinosprograma4a7Ju = ObtieneAsistencia(4)
                If dtt_periodosinclases.[Select]([String].Format("#{0}# >= auris_inicioperiodosinclases and #{0}# <= auris_finperiodosinclases", djueves)).Count() > 0 Or lunes.AddDays(3).Year < Integer.Parse(Session("auris_anofuncionamiento4a7").ToString()) Or (Not DBNull.Value.Equals(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento")) AndAlso DateTime.Parse(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento").ToString()) > lunes.AddDays(3)) Then
                    lbl_srJueves.Visible = True
                    rbtn_Asistencia_PresenteJu.Visible = False
                    rbtn_Asistencia_AusenteJu.Visible = False
                ElseIf dtt_cmtx_asistencianinosprograma4a7Ju.Rows.Count > 0 Then
                    lbl_srJueves.Visible = False
                    rbtn_Asistencia_PresenteJu.Visible = True
                    rbtn_Asistencia_AusenteJu.Visible = True
                    Dim dr_cmtx_asistencianinosprograma4a7 As DataRow()
                    dr_cmtx_asistencianinosprograma4a7 = dtt_cmtx_asistencianinosprograma4a7Ju.Select("cmtx_ninoa = '" & dr.Item("cmtx_ninoid").ToString() & "'")
                    If dr_cmtx_asistencianinosprograma4a7.Length > 0 Then
                        'rbtn_Asistencia_PresenteJu.Enabled = False
                        'rbtn_Asistencia_AusenteJu.Enabled = False
    
                        ' If CBool(dr_cmtx_asistencianinosprograma4a7(0).Item("cmtx_asistencia")) Then
                        '185.670.000 ausente
                        '185.670.001 presente
                        '185.670.002 No inscrito
                        '185.670.003 No usado
    
                        If dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670001") Then
    
                            rbtn_Asistencia_PresenteJu.Checked = True
                            rbtn_Asistencia_AusenteJu.Checked = False
                            NinosPresentes += 1
                        ElseIf dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670000") Then
                            rbtn_Asistencia_PresenteJu.Checked = False
                            rbtn_Asistencia_AusenteJu.Checked = True
    
                        End If
    
                        hdfAsistenciaJu.Value = dr_cmtx_asistencianinosprograma4a7(0).Item("cmtx_asistencianinosprograma4a7id").ToString()
                    Else
                        MuestraBotonGuardar = True
                    End If
                Else
                    lbl_srJueves.Visible = False
                    rbtn_Asistencia_PresenteJu.Visible = True
                    rbtn_Asistencia_AusenteJu.Visible = True
                    MuestraBotonGuardar = True
                End If
                dtt_cmtx_asistencianinosprograma4a7Ju.Dispose()
                dtt_cmtx_asistencianinosprograma4a7Vi = ObtieneAsistencia(5)
                If dtt_periodosinclases.[Select]([String].Format("#{0}# >= auris_inicioperiodosinclases and #{0}# <= auris_finperiodosinclases", dviernes)).Count() > 0 Or lunes.AddDays(4).Year < Integer.Parse(Session("auris_anofuncionamiento4a7").ToString()) Or (Not DBNull.Value.Equals(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento")) AndAlso DateTime.Parse(dr.Item("cmtx_fechadeasignacindelnioaalestablecimiento").ToString()) > lunes.AddDays(4)) Then
                    lbl_srViernes.Visible = True
                    rbtn_Asistencia_PresenteVi.Visible = False
                    rbtn_Asistencia_AusenteVi.Visible = False
                ElseIf dtt_cmtx_asistencianinosprograma4a7Vi.Rows.Count > 0 Then
                    lbl_srViernes.Visible = False
                    rbtn_Asistencia_PresenteVi.Visible = True
                    rbtn_Asistencia_AusenteVi.Visible = True
                    Dim dr_cmtx_asistencianinosprograma4a7 As DataRow()
                    dr_cmtx_asistencianinosprograma4a7 = dtt_cmtx_asistencianinosprograma4a7Vi.Select("cmtx_ninoa = '" & dr.Item("cmtx_ninoid").ToString() & "'")
                    If dr_cmtx_asistencianinosprograma4a7.Length > 0 Then
                        'rbtn_Asistencia_PresenteVi.Enabled = False
                        'rbtn_Asistencia_AusenteVi.Enabled = False
    
                        ' If CBool(dr_cmtx_asistencianinosprograma4a7(0).Item("cmtx_asistencia")) Then
                        '185.670.000 ausente
                        '185.670.001 presente
                        '185.670.002 No inscrito
                        '185.670.003 No usado
    
                        If dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670001") Then
    
                            rbtn_Asistencia_PresenteVi.Checked = True
                            rbtn_Asistencia_AusenteVi.Checked = False
                            NinosPresentes += 1
                        ElseIf dr_cmtx_asistencianinosprograma4a7(0).Item("rob_asistencianines3opciones").Equals("185670000") Then
                            rbtn_Asistencia_PresenteVi.Checked = False
                            rbtn_Asistencia_AusenteVi.Checked = True
    
                        End If
    
                        hdfAsistenciaVi.Value = dr_cmtx_asistencianinosprograma4a7(0).Item("cmtx_asistencianinosprograma4a7id").ToString()
                    Else
                        MuestraBotonGuardar = True
                    End If
                Else
                    lbl_srViernes.Visible = False
                    rbtn_Asistencia_PresenteVi.Visible = True
                    rbtn_Asistencia_AusenteVi.Visible = True
                    MuestraBotonGuardar = True
                End If
                dtt_cmtx_asistencianinosprograma4a7Vi.Dispose()
            End If
        End Sub
    
        Private Shared Function ObtieneLunesFechaSemana(ByVal fecha As Date) As Date
            If fecha.DayOfWeek = 0 Then
                ObtieneLunesFechaSemana = fecha.AddDays(-6)
            Else
                ObtieneLunesFechaSemana = fecha.AddDays(-1 * (fecha.DayOfWeek - 1))
            End If
        End Function
        Private Sub btnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
            '  rob_asistencianines3opciones
            '    '185.670.000 ausente
            '    '185.670.001 presente
            '    '185.670.002 No inscrito
            '    '185.670.003 No usado
    
            Dim oAsistenciaNino As New cmtx_asistencianinosprograma4a7
    
            oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670002)
    
    
            NinosPresentes = 0
            For i As Integer = 0 To gv_NinosEstablecimiento.Rows.Count - 1
                Dim hdfNino As HiddenField = CType(gv_NinosEstablecimiento.Rows(i).FindControl("hdfNino"), HiddenField)
    
                Dim rbtn_Asistencia_PresenteLu As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_PresenteLu"), RadioButton)
                Dim rbtn_Asistencia_AusenteLu As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_AusenteLu"), RadioButton)
                Dim hdfAsistenciaLu As HiddenField = CType(gv_NinosEstablecimiento.Rows(i).FindControl("hdfAsistenciaLu"), HiddenField)
    
                Dim rbtn_Asistencia_PresenteMa As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_PresenteMa"), RadioButton)
                Dim rbtn_Asistencia_AusenteMa As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_AusenteMa"), RadioButton)
                Dim hdfAsistenciaMa As HiddenField = CType(gv_NinosEstablecimiento.Rows(i).FindControl("hdfAsistenciaMa"), HiddenField)
    
                'Dim rbtn_Asistencia_PresenteMi As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_PresenteMi"), RadioButton)
                'Dim rbtn_Asistencia_AusenteMi As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_AusenteMi"), RadioButton)
                'Dim hdfAsistenciaMi As HiddenField = CType(gv_NinosEstablecimiento.Rows(i).FindControl("hdfAsistenciaMi"), HiddenField)
    
                Dim rbtn_Asistencia_PresenteJu As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_PresenteJu"), RadioButton)
                Dim rbtn_Asistencia_AusenteJu As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_AusenteJu"), RadioButton)
                Dim hdfAsistenciaJu As HiddenField = CType(gv_NinosEstablecimiento.Rows(i).FindControl("hdfAsistenciaJu"), HiddenField)
    
                Dim rbtn_Asistencia_PresenteVi As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_PresenteVi"), RadioButton)
                Dim rbtn_Asistencia_AusenteVi As RadioButton = CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_AusenteVi"), RadioButton)
                Dim hdfAsistenciaVi As HiddenField = CType(gv_NinosEstablecimiento.Rows(i).FindControl("hdfAsistenciaVi"), HiddenField)
                '---------------------------------------------------------------
                Dim lunes As Date = ObtieneLunesFechaSemana(Convert.ToDateTime(Me._FechaBusqueda))
    
    
                If Not _SemanaActual = 1 Then
                    lunes = CDate(lunes.AddDays(7 * (_SemanaActual - 1)).ToString("yyyy-MM-dd"))
                End If
    
                If rbtn_Asistencia_PresenteLu.Enabled AndAlso rbtn_Asistencia_AusenteLu.Enabled AndAlso (rbtn_Asistencia_PresenteLu.Checked Or rbtn_Asistencia_AusenteLu.Checked) Then
                    'GuardaAsistenciaDia(hdfAsistenciaLu, hdfNino, rbtn_Asistencia_PresenteLu.Checked, lunes, contErrores, taller)
                    '185.670.000 ausente    '185.670.001 presente   '185.670.002 No inscrito   '185.670.003 No usado
                    If rbtn_Asistencia_PresenteLu.Checked.Equals(True) Then
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670001)
                    Else
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670000)
                    End If
                    oAsistenciaNino.cmtx_establecimiento = cls_Generales.DevuelveLookup("", idEstablecimiento_4a7)
                    oAsistenciaNino.cmtx_fecha = lunes
                    oAsistenciaNino.cmtx_ninoa = cls_Generales.DevuelveLookup("", hdfNino.Value)
                    If hdfAsistenciaLu.Value.Length = 0 Then
                        cmtx_asistencianinosprograma4a7.Crear(oAsistenciaNino, GUID_Propietario)
                    Else
                        oAsistenciaNino.cmtx_asistencianinosprograma4a7Id = New Guid(hdfAsistenciaLu.Value)
                        cmtx_asistencianinosprograma4a7.Actualizar(oAsistenciaNino)
                    End If
                End If
                If rbtn_Asistencia_PresenteMa.Enabled AndAlso rbtn_Asistencia_AusenteMa.Enabled AndAlso (rbtn_Asistencia_PresenteMa.Checked Or rbtn_Asistencia_AusenteMa.Checked) Then
                    ' GuardaAsistenciaDia(hdfAsistenciaMa, hdfNino, rbtn_Asistencia_PresenteMa.Checked, lunes.AddDays(1), contErrores, taller)
                    '185.670.000 ausente    '185.670.001 presente   '185.670.002 No inscrito   '185.670.003 No usado
                    If rbtn_Asistencia_PresenteMa.Checked.Equals(True) Then
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670001)
                    Else
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670000)
                    End If
                    oAsistenciaNino.cmtx_establecimiento = cls_Generales.DevuelveLookup("", idEstablecimiento_4a7)
                    oAsistenciaNino.cmtx_fecha = lunes.AddDays(1)
                    oAsistenciaNino.cmtx_ninoa = cls_Generales.DevuelveLookup("", hdfNino.Value)
                    If hdfAsistenciaMa.Value.Length = 0 Then
                        cmtx_asistencianinosprograma4a7.Crear(oAsistenciaNino, GUID_Propietario)
                    Else
                        oAsistenciaNino.cmtx_asistencianinosprograma4a7Id = New Guid(hdfAsistenciaMa.Value)
                        cmtx_asistencianinosprograma4a7.Actualizar(oAsistenciaNino)
                    End If
                End If
    
    
                'If rbtn_Asistencia_PresenteMi.Enabled AndAlso rbtn_Asistencia_AusenteMi.Enabled AndAlso (rbtn_Asistencia_PresenteMi.Checked Or rbtn_Asistencia_AusenteMi.Checked) Then
                If CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_PresenteMi"), RadioButton).Enabled AndAlso CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_AusenteMi"), RadioButton).Enabled AndAlso (CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_PresenteMi"), RadioButton).Checked Or CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_AusenteMi"), RadioButton).Checked) Then
                    '185.670.000 ausente    '185.670.001 presente   '185.670.002 No inscrito   '185.670.003 No usado
                    'GuardaAsistenciaDia(hdfAsistenciaMi, hdfNino, rbtn_Asistencia_PresenteMi.Checked, lunes.AddDays(2), contErrores, taller)
                    oAsistenciaNino.cmtx_establecimiento = cls_Generales.DevuelveLookup("", idEstablecimiento_4a7)
                    oAsistenciaNino.cmtx_fecha = lunes.AddDays(2)
                    oAsistenciaNino.cmtx_ninoa = cls_Generales.DevuelveLookup("", hdfNino.Value)
    
                    oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670000)
    
                    If CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_PresenteMi"), RadioButton).Equals(True) Then
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670001)
                    End If
    
                    If CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_PresenteMi"), RadioButton).Equals(False) Then
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670000)
                    End If
    
                    If CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_AusenteMi"), RadioButton).Equals(False) Then
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670001)
                    End If
    
                    If CType(gv_NinosEstablecimiento.Rows(i).FindControl("rbtn_Asistencia_AusenteMi"), RadioButton).Equals(True) Then
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670000)
                    End If
    
                    If CType(gv_NinosEstablecimiento.Rows(i).FindControl("hdfAsistenciaMi"), HiddenField).Value.Length = 0 Then
                        cmtx_asistencianinosprograma4a7.Crear(oAsistenciaNino, GUID_Propietario)
                    Else
                        ' cmtx_asistencianinosprograma4a7.cmtx_asistencianinosprograma4a7Id = hdfAsistencia.Value
                        oAsistenciaNino.cmtx_asistencianinosprograma4a7Id = New Guid(CType(gv_NinosEstablecimiento.Rows(i).FindControl("hdfAsistenciaMi"), HiddenField).Value.ToString)
                        cmtx_asistencianinosprograma4a7.Actualizar(oAsistenciaNino)
                    End If
                End If
    
                If rbtn_Asistencia_PresenteJu.Enabled AndAlso rbtn_Asistencia_AusenteJu.Enabled AndAlso (rbtn_Asistencia_PresenteJu.Checked Or rbtn_Asistencia_AusenteJu.Checked) Then
                    'GuardaAsistenciaDia(hdfAsistenciaJu, hdfNino, rbtn_Asistencia_PresenteJu.Checked, lunes.AddDays(3), contErrores, taller)
                    '185.670.000 ausente    '185.670.001 presente   '185.670.002 No inscrito   '185.670.003 No usado
                    If rbtn_Asistencia_PresenteJu.Checked.Equals(True) Then
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670001)
                    Else
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670000)
                    End If
                    oAsistenciaNino.cmtx_establecimiento = cls_Generales.DevuelveLookup("", idEstablecimiento_4a7)
                    oAsistenciaNino.cmtx_fecha = lunes.AddDays(3)
                    oAsistenciaNino.cmtx_ninoa = cls_Generales.DevuelveLookup("", hdfNino.Value)
                    If hdfAsistenciaJu.Value.Length = 0 Then
                        cmtx_asistencianinosprograma4a7.Crear(oAsistenciaNino, GUID_Propietario)
                    Else
                        oAsistenciaNino.cmtx_asistencianinosprograma4a7Id = New Guid(hdfAsistenciaJu.Value)
                        cmtx_asistencianinosprograma4a7.Actualizar(oAsistenciaNino)
                    End If
                End If
    
                If rbtn_Asistencia_PresenteVi.Enabled AndAlso rbtn_Asistencia_AusenteVi.Enabled AndAlso (rbtn_Asistencia_PresenteVi.Checked Or rbtn_Asistencia_AusenteVi.Checked) Then
                    'GuardaAsistenciaDia(hdfAsistenciaVi, hdfNino, rbtn_Asistencia_PresenteVi.Checked, lunes.AddDays(4), contErrores, taller)
                    '185.670.000 ausente    '185.670.001 presente   '185.670.002 No inscrito   '185.670.003 No usado
                    If rbtn_Asistencia_PresenteVi.Checked.Equals(True) Then
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670001)
                    Else
                        oAsistenciaNino.rob_asistencianines3opciones = New Microsoft.Xrm.Sdk.OptionSetValue(185670000)
                    End If
                    oAsistenciaNino.cmtx_establecimiento = cls_Generales.DevuelveLookup("", idEstablecimiento_4a7)
                    oAsistenciaNino.cmtx_fecha = lunes.AddDays(4)
                    oAsistenciaNino.cmtx_ninoa = cls_Generales.DevuelveLookup("", hdfNino.Value)
                    If hdfAsistenciaVi.Value.Length = 0 Then
                        cmtx_asistencianinosprograma4a7.Crear(oAsistenciaNino, GUID_Propietario)
                    Else
                        oAsistenciaNino.cmtx_asistencianinosprograma4a7Id = New Guid(hdfAsistenciaVi.Value)
                        cmtx_asistencianinosprograma4a7.Actualizar(oAsistenciaNino)
                    End If
                End If
            Next
    
            '--------------------------------------------------------------
    
    
            txt_semana.Text = _SemanaActual.ToString
            CargaGrilla_NinosEstablecimiento()
            Me.gv_NinosEstablecimiento.Enabled = True
    
    
        End Sub
        Protected Sub btn_siguiente_Click(sender As Object, e As EventArgs) Handles btn_siguiente.Click
            _SemanaActual += 1
    
            Dim lunes As Date = ObtieneLunesFechaSemana(Convert.ToDateTime(_FechaBusqueda))
    
            If Not _SemanaActual = 1 Then
                lunes = CDate(lunes.AddDays(7 * (_SemanaActual - 1)).ToString("yyyy-MM-dd"))
            End If
    
            If Convert.ToDateTime(lunes) > Convert.ToDateTime(Date.Now) OrElse lunes.Year <> Integer.Parse(Session("auris_anofuncionamiento4a7").ToString()) Then
                _SemanaActual -= 1
                Me._Alerta("La siguiente semana no esta dentro del periodo en que funciona el establecimiento.")
            Else
                txt_semana.Text = CType(_SemanaActual, String)
    
                CargaGrilla_NinosEstablecimiento()
                Me.gv_NinosEstablecimiento.Enabled = True
            End If
        End Sub
        Protected Sub btn_anterior_Click(sender As Object, e As EventArgs) Handles btn_anterior.Click
            If _SemanaActual = 1 Then
                Me._Alerta("No se puede ver periodo anterior.")
            Else
                _SemanaActual -= 1
                txt_semana.Text = CType(_SemanaActual, String)
    
                CargaGrilla_NinosEstablecimiento()
                Me.gv_NinosEstablecimiento.Enabled = True
            End If
        End Sub
        Protected Sub btn_RegargaGrilla_Click(sender As Object, e As EventArgs) Handles btn_RegargaGrilla.Click
            CargaGrilla_Periodosinclases()
            ObtieneNinosEstablecimiento()
            CargaGrilla_NinosEstablecimiento()
            gv_NinosEstablecimiento.DataBind()
        End Sub
        Protected Sub gv_periodosinclases_PageIndexChanging(sender As Object, e As GridViewPageEventArgs) Handles gv_periodosinclases.PageIndexChanging
            gv_periodosinclases.PageIndex = e.NewPageIndex
            CargaGrilla_Periodosinclases()
        End Sub
        Protected Sub gv_periodosinclases_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles gv_periodosinclases.RowCommand
            If (Page.IsPostBack) Then
    
                If (e.CommandName.Equals("Eliminar")) Then
    
                    Dim id As String = e.CommandArgument.ToString()
                    G_servicioCRM.Delete("auris_periodossinclases", New Guid(id))
                    CargaGrilla_Periodosinclases()
                    gv_periodosinclases.DataBind()
                    ObtieneNinosEstablecimiento()
                    CargaGrilla_NinosEstablecimiento()
                    gv_NinosEstablecimiento.DataBind()
                End If
            End If
        End Sub
        Protected Sub gv_periodosinclases_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles gv_periodosinclases.RowDataBound
    
            If e.Row.RowType = DataControlRowType.DataRow Then
                Dim dr As DataRow = CType(CType(e.Row.DataItem, DataRowView).Row, DataRow)
                Dim btnModificar As LinkButton = CType(e.Row.FindControl("btnModificar"), LinkButton)
    
                Me._NuevoRegistro_PaginaPopUp = "PP_Mant_PeriodoSinClases.aspx"
    
                Dim strURL As String = _NuevoRegistro_PaginaPopUp & "?CMTXURL=" & Navegacion.Seguridad.CifrarQueryString("establecimientoid=" & Me.idEstablecimiento_4a7 & "&rob_periodosinclasesid=" & dr.Item("auris_periodossinclasesid").ToString())
    
                Dim strJS As String = "newwindowProductoCotizado = window.open('" & strURL _
                & "', 'PP_Mant_PeriodoSinClases', 'width=900px,height=500px,menubar=0,resizable=1,scrollbars=1,titlebar=0,statusbar=1,toolbar=0,status=1,location=0,screenX=1,screenY=1,top=1'); return false; if (window.focus) { newwindowProductoCotizado.focus(); }"
                btnModificar.Attributes.Add("onClick", strJS)
            End If
        End Sub
    End Class


    firma

    lunes, 2 de diciembre de 2019 15:57

Todas las respuestas

  • la cuestión es que es muuuy lento, como puedo mejorar  de verdad el rendimiento de la pagina, ya se usa ViewState

    Ojo con lo del ViewState, puede ser precisamente el culpable de que se vuelva lento. He visto alguna aplicación en la que cargaban "inocentemente" 2 megabytes de datos en el ViewState. Lógicamente era super-lenta, porque a cada postback se tenían que transmitir esos dos megabytes dos veces, de ida y de vuelta, a través de la línea de comunicaciones. Usa la F12 en el navegador para ver el código que te ha enviado el servidor y cerciórate de cuál es el tamaño de los datos que te está cargando en el ViewState.

    lunes, 2 de diciembre de 2019 16:04