CalculosDias.vb 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. Public Class CalculosDias
  2. Private Operaciones As New Operaciones
  3. Sub AgregarFechaIngresos(ByRef dgvIngresos As DataGridView, ByRef dtpFechaLiquidacion As DateTimePicker,
  4. ByRef NombreCampoFecha As String, ByRef TipoBase As Integer)
  5. Dim Index As Integer = dgvIngresos.CurrentRow.Index
  6. Dim IndexAnterior As Integer = Index - 1
  7. Dim FechaAnterior As Date = Date.Today.Date
  8. Dim FechaActual As Date = Date.Today.Date
  9. Dim FechaLiquidacion As Date = dtpFechaLiquidacion.Value
  10. Dim DiaFijo As Integer = FechaLiquidacion.Day
  11. If Index > 0 Then
  12. FechaAnterior = Operaciones.ConvertirFecha(dgvIngresos.Rows(IndexAnterior).Cells(NombreCampoFecha).Value.ToString)
  13. FechaActual = CalcularFecha(FechaAnterior, DiaFijo, "Mensual", "M", TipoBase)
  14. dgvIngresos.Rows(Index).Cells(NombreCampoFecha).Value = Format((FechaActual), "dd/MM/yyyy").ToString
  15. Else
  16. FechaActual = CalcularFecha(Operaciones.ConvertirFecha(FechaLiquidacion), DiaFijo, "Mensual", "M", TipoBase)
  17. dgvIngresos.Rows(Index).Cells(NombreCampoFecha).Value = Format(FechaActual, "dd/MM/yyyy").ToString
  18. End If
  19. End Sub
  20. Function CalcularFecha(ByVal FechaInicial As Date, ByVal DiaFijo As Integer, ByRef FormaCalcularFechas As String,
  21. ByRef Periodicidad As String, ByRef TipoBase As Integer)
  22. 'Declaracion de Variables'
  23. Dim BaseDias As Integer = 0
  24. Dim FechaFinal As Date = Date.Today.Date
  25. If (TipoBase = 0 Or TipoBase = 2) Then
  26. BaseDias = 360
  27. If FormaCalcularFechas = "FinMes" Then
  28. FechaFinal = Operaciones.FechaFinMes(FechaInicial, Periodicidad, BaseDias)
  29. ElseIf FormaCalcularFechas = "Mensual" Then
  30. FechaFinal = Operaciones.FechaMensual(FechaInicial, Periodicidad, FormaCalcularFechas, 0, DiaFijo, BaseDias)
  31. End If
  32. ElseIf TipoBase = 1 Or TipoBase = 3 Then
  33. BaseDias = 365
  34. If FormaCalcularFechas = "FinMes" Then
  35. FechaFinal = Operaciones.FechaFinMes(FechaInicial, Periodicidad, BaseDias)
  36. ElseIf FormaCalcularFechas = "Mensual" Then
  37. FechaFinal = Operaciones.FechaMensual(FechaInicial, Periodicidad, FormaCalcularFechas, 0, DiaFijo, BaseDias)
  38. End If
  39. End If
  40. Return FechaFinal
  41. End Function
  42. End Class