294 lines
12 KiB
VB.net
294 lines
12 KiB
VB.net
Imports DevExpress.Xpf.Editors
|
|
Imports DevExpress.Mvvm.UI.Interactivity
|
|
Imports System.Globalization
|
|
|
|
Namespace Plantillas
|
|
Public Class SendEmailButton
|
|
Inherits Button
|
|
Public Sub New()
|
|
Me.SetDefaultStyleKey(GetType(SendEmailButton))
|
|
End Sub
|
|
|
|
Private Sub SetDefaultStyleKey(type As Type)
|
|
|
|
End Sub
|
|
|
|
End Class
|
|
Public Class Comun
|
|
' Public Shared ColorFondo As SolidColorBrush = New SolidColorBrush(Colors.DarkGray)
|
|
Public Shared ColorTexto As SolidColorBrush = New SolidColorBrush(Colors.DarkGray)
|
|
End Class
|
|
|
|
Public Class Impar
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
Dim rh As DevExpress.Xpf.Data.RowHandle = value
|
|
Dim valor As Integer = If(rh Is Nothing, 0, rh.Value)
|
|
Return (valor Mod 2 > 0)
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
Return value
|
|
End Function
|
|
End Class
|
|
|
|
Public Class DateTimeToDateConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dtmp As DateTime = value
|
|
Return New Date(dtmp.Year, dtmp.Month, dtmp.Day)
|
|
End If
|
|
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dtmp As Date = value
|
|
Return New DateTime(dtmp.Year, dtmp.Month, dtmp.Day)
|
|
End If
|
|
End Function
|
|
|
|
End Class
|
|
Public Class DateOnlyToDateTimeConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dtmp As DateOnly = value
|
|
Return New DateTime(dtmp.Year, dtmp.Month, dtmp.Day)
|
|
End If
|
|
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dtmp As DateTime = value
|
|
Return New DateOnly(dtmp.Year, dtmp.Month, dtmp.Day)
|
|
End If
|
|
End Function
|
|
|
|
End Class
|
|
|
|
Public Class DateOnlyToDateConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dtmp As DateOnly = value
|
|
Return New Date(dtmp.Year, dtmp.Month, dtmp.Day)
|
|
End If
|
|
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dtmp As Date = value
|
|
Return New DateOnly(dtmp.Year, dtmp.Month, dtmp.Day)
|
|
End If
|
|
End Function
|
|
|
|
End Class
|
|
Public Class DateTimeToDateOnlyConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dtmp As DateTime = value
|
|
Return New DateOnly(dtmp.Year, dtmp.Month, dtmp.Day)
|
|
End If
|
|
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dtmp As DateOnly = value
|
|
Return New DateTime(dtmp.Year, dtmp.Month, dtmp.Day)
|
|
End If
|
|
End Function
|
|
|
|
End Class
|
|
Public Class DoubleToTimeSpanConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
|
|
Dim Valor As TimeSpan? = TimeSpan.FromTicks(value)
|
|
If Valor.HasValue Then
|
|
Dim Valors As String = Fix(Math.Abs(Valor.Value.TotalHours)).ToString.PadLeft(2, "0") & ":" & Math.Abs(CInt(Valor.Value.Minutes)).ToString.PadLeft(2, "0")
|
|
If Valor.Value.Ticks < 0 Then
|
|
Valors = "-" & Valors
|
|
End If
|
|
Return Valors
|
|
Else
|
|
Return Nothing
|
|
End If
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
Try
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim Valor As String = value
|
|
If Valor = "" Then
|
|
Return Nothing
|
|
Else
|
|
If Valor.StartsWith("-") Then
|
|
Dim tsn = New TimeSpan(Math.Abs(CInt(Valor.Split(":")(0))), CInt(Valor.Split(":")(1)), 0)
|
|
Return -tsn
|
|
Else
|
|
Return New TimeSpan(CInt(Valor.Split(":")(0)), CInt(Valor.Split(":")(1)), 0)
|
|
End If
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
Return DependencyProperty.UnsetValue ' Return New TimeSpan(0)
|
|
End Try
|
|
End Function
|
|
End Class
|
|
|
|
Public Class DateTimeToTimeSpanConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim ts As TimeSpan = value
|
|
Dim ahora As DateTime = Now
|
|
Return New DateTime(ahora.Year, ahora.Month, ahora.Day, ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds)
|
|
End If
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dt As DateTime = value
|
|
Return dt.TimeOfDay
|
|
End If
|
|
End Function
|
|
End Class
|
|
Public Class TimeSpanConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
' Try
|
|
Dim Valor As TimeSpan? = value
|
|
If Valor.HasValue Then
|
|
Dim Valors As String = Fix(Math.Abs(Valor.Value.TotalHours)).ToString.PadLeft(2, "0") & ":" & Math.Abs(CInt(Valor.Value.Minutes)).ToString.PadLeft(2, "0")
|
|
If Valor.Value.Ticks < 0 Then
|
|
Valors = "-" & Valors
|
|
End If
|
|
Return Valors
|
|
Else
|
|
Return Nothing
|
|
End If
|
|
' Catch ex As Exception
|
|
'Return "error"
|
|
' End Try
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
Try
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim Valor As String = value
|
|
If Valor = "" Then
|
|
Return Nothing
|
|
Else
|
|
If Valor.StartsWith("-") Then
|
|
Dim tsn = New TimeSpan(Math.Abs(CInt(Valor.Split(":")(0))), CInt(Valor.Split(":")(1)), 0)
|
|
Return -tsn
|
|
Else
|
|
Return New TimeSpan(CInt(Valor.Split(":")(0)), CInt(Valor.Split(":")(1)), 0)
|
|
End If
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
Return DependencyProperty.UnsetValue ' Return New TimeSpan(0)
|
|
End Try
|
|
End Function
|
|
End Class
|
|
Public Class TrimTextOnLostFocusBehavior
|
|
Inherits Behavior(Of TextEdit)
|
|
|
|
Protected Overrides Sub OnAttached()
|
|
MyBase.OnAttached()
|
|
AddHandler AssociatedObject.IsKeyboardFocusWithinChanged, AddressOf AssociatedObject_IsKeyboardFocusWithinChanged
|
|
' AssociatedObject.IsKeyboardFocusWithinChanged += AddressOf AssociatedObject_IsKeyboardFocusWithinChanged
|
|
End Sub
|
|
|
|
Protected Overrides Sub OnDetaching()
|
|
MyBase.OnDetaching()
|
|
RemoveHandler AssociatedObject.IsKeyboardFocusWithinChanged, AddressOf AssociatedObject_IsKeyboardFocusWithinChanged
|
|
End Sub
|
|
|
|
Private Sub AssociatedObject_IsKeyboardFocusWithinChanged(ByVal sender As Object, ByVal e As DependencyPropertyChangedEventArgs)
|
|
Dim currentValue As String = TryCast(AssociatedObject.EditValue, String)
|
|
|
|
If Not CBool(e.NewValue) AndAlso currentValue IsNot Nothing Then
|
|
AssociatedObject.EditValue = currentValue.Trim()
|
|
End If
|
|
End Sub
|
|
End Class
|
|
|
|
Public Class ExistenLineasConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
Dim lineas As IEnumerable(Of Object) = value
|
|
Return (lineas.Count > 0)
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
Return value
|
|
End Function
|
|
End Class
|
|
|
|
|
|
|
|
Public Class DateTimeToDateTime
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dt As DateTime = value
|
|
Dim ahora As DateTime = Now
|
|
Return New DateTime(dt.Year, dt.Month, dt.Day)
|
|
End If
|
|
End Function
|
|
|
|
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
|
|
If value Is Nothing Then
|
|
Return Nothing
|
|
Else
|
|
Dim dt As DateTime = value
|
|
Return New DateTime(dt.Year, dt.Month, dt.Day)
|
|
End If
|
|
End Function
|
|
End Class
|
|
|
|
|
|
End Namespace |