Ejemplo de proceso dll batch con opción de vaciado de selección de registros

Publicado al menos 3 años hace por Flexygo Team

Publicar un tema
Flexygo Team
Flexygo Team

Para este ejemplo veremos cómo recibimos una colección en el parámetro Entity y recorremos los registros para modificar el estado de cada cliente de la colección.

También es útil saber que en el parámetro Entity disponemos de un datamanager para realizar operaciones de consulta y ejecución en bases de datos: Entity.datamanager

Otra utilidad es conocer la lista de selección, para ello nos ayudaremos de la propiedad Entity.ObjectWhere



''' <summary>
        ''' Block Batch Client 
        ''' </summary>
        ''' <param name="Entity">The entity.</param>
        ''' <param name="Ret">Returns a Process Helper.</param>
        ''' <param name="BlockReason">Block Reason.</param>
        ''' <returns><c>true</c> if no error, <c>false</c> otherwise.</returns>
        ''' <exception cref="System.Exception">Returns error</exception>
        Public Shared Function DevBlockBatchClients(ByVal Entity As EntityCollection, ByRef Ret As ProcessHelper, ByVal BlockReason As String) As Boolean
            Try
                'Flag: Error updating
                Dim ErrorUpdating As Boolean

                'Loop clients
                For Each Client As EntityObject In Entity
                    ' Check state
                    If Client("IdState") <> 2 Then
                        'Set values
                        Client("IdState") = 2
                        Client("BlockReason") = BlockReason
                        Client("BlockDate") = Date.Now
                        'Update
                        If Not Client.Update() Then
                            ErrorUpdating = True
                        End If
                    End If
                Next

                'Check errors
                If ErrorUpdating Then
                    Ret.WarningMessage = "Error blocking some clients :("
                Else
                    Ret.SuccessMessage = "Clients blocked ;)"
                    Ret.JSCode = "flexygo.selection.clear('Client');"
                End If

                Ret.Success = True
                Return True
            Catch ex As Exception
                Ret.Success = False
                Ret.LastException = ex
                Return False
            End Try
        End Function


0 Votos


0 Comentarios

Iniciar sesión o Registrarse para publicar un comentario