Trent Adams
asked on
Visual Basic .NET Disable Validation In Grid Edit
I have finally ordered my Murach's Visual Basic 2015 book. So hopefully it will help me with learning VB.NET. However, I have some controls, two text box controls that are used to input hours and minutes. In the grid we have it set that when the data is an expense we disable the time textbox controls. However, the validation remains in effect. What I am hoping to accomplish is when in edit mode and the control is disabled to not attempt validation. I'm a little confused as to how to go about this when in edit mode.
Can you share some information or post a screen shot of what you are trying to accomplish
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Here is the full VB Code.
Imports System.Data.SqlClient
Imports System.Web.Services
Imports Mainstay.Objects
Partial Public Class TimeExpenseEntry
Inherits System.Web.UI.Page
Private Shared servicetypeid As Integer = 2
Private totalMileage As Decimal
Private totalExpense As Decimal
Private totalHours As Decimal
Private Shared UserTimeRestriction As Boolean
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack() Then
SetPage()
'CheckUserTimeEntry()
End If
SetPermissions()
End Sub
#Region "Set Page"
<WebMethod()> _
Public Sub ClearlblSubmit()
lblSubmitStatus.Text = ""
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
End Sub
Protected Sub SetPage()
LoadServiceTypes()
'LoadIndividuals()
LoadTitles()
LoadServices()
LoadProvidedBy()
LoadTime()
lstServiceTypes.Focus()
txtNotes.Attributes("onblur") = "SetClear()"
txtStartHour.Attributes("onblur") = "SetClear()"
txtStartMinute.Attributes("onblur") = "SetClear()"
txtEndHour.Attributes("onblur") = "SetClear()"
txtEndMinute.Attributes("onblur") = "SetClear()"
End Sub
Protected Sub LoadPreLoadedForm()
If Request.QueryString("dt") <> "" Then
txtDate.Text = Request.QueryString("dt")
End If
LoadCS()
End Sub
Protected Sub LoadTitles()
ddlTitle.Items.Clear()
ddlTitle.Items.Add(New ListItem("Habilitation Specialist", 1))
ddlTitle.Items.Add(New ListItem("Specialized Duties", 2))
ddlTitle.Items.Add(New ListItem("Manager", 3))
ddlTitle.Items.Insert(0, "")
End Sub
Protected Sub LoadServiceTypes()
lstServiceTypes.Items.Clear()
Dim st As New ServiceTypes()
lstServiceTypes.Items.Insert(0, "Expenses")
lstServiceTypes.Items.Insert(0, "Time Entry")
lstServiceTypes.DataBind()
lstServiceTypes.Items.Insert(0, "Select Billing Type")
End Sub
Protected Sub LoadTime()
lstStartAMPM.Items.Clear()
lstStartAMPM.Items.Insert(0, "PM")
lstStartAMPM.Items.Insert(0, "AM")
lstEndAMPM.Items.Clear()
lstEndAMPM.Items.Insert(0, "PM")
lstEndAMPM.Items.Insert(0, "AM")
End Sub
Protected Sub LoadServices()
Dim srv As New LiveEvents 'SelectServices
lstProvidedEvents.Items.Clear()
Dim lst As List(Of LiveEvents) = srv.SelectLiveEvents(True)
lstProvidedEvents.DataSource = lst
lstProvidedEvents.DataBind()
If lst.Count = 0 Then
lstProvidedEvents.Items.Insert(0, "No Active Events")
Else
lstProvidedEvents.Items.Insert(0, "Select Event")
End If
End Sub
Protected Sub LoadProvidedBy()
Dim lstA As New List(Of AssignedPermission.PermissionType)
lstA = CType(Session("Permissions"), List(Of AssignedPermission.PermissionType))
Dim u As New User 'SelectServices
u.Active = True
u.LockedOut = False
lstProvidedBy.Items.Clear()
lstProvidedBy.DataSource = u.SelectUsers()
lstProvidedBy.DataBind()
lstProvidedBy.Items.Insert(0, "Select Who Service was Provided By")
'If lstServiceTypes.SelectedValue = 5 Or lstServiceTypes.SelectedValue = 6 Or lstServiceTypes.SelectedValue = 7 Or lstServiceTypes.SelectedValue = 4 Then
Try
lstProvidedBy.SelectedValue = Session("UserID")
If lstA.Contains(AssignedPermission.PermissionType.DisableProvidedBy) Then
lstProvidedBy.Enabled = False
End If
Catch
End Try
'End If
End Sub
Protected Sub LoadEnteredServices()
'CHECK OMISSIONS AND APPROVAL
Dim rec As New ClaimDetail()
rec.BID = SelectBID()
'rec.IndID = lstIndividuals.SelectedValue
Dim bdt, edt As DateTime
bdt = txtDate.Text
edt = txtDate.Text
'Dim servicetypeid As Integer = lstServiceTypes.SelectedValue
Dim approved, omission As Boolean
approved = rec.SelectApproveCheck(servicetypeid, bdt, edt)
omission = rec.SelectOmissionCheck(servicetypeid, bdt, edt)
Dim cb As New Claim()
Dim clst As New List(Of Claim)
cb.BID = SelectBID()
'cb.IndID = lstIndividuals.SelectedValue
cb.RecDate = txtDate.Text
cb.RecDateEnd = txtDate.Text
cb.ProvidedBy = lstProvidedBy.SelectedValue
'cb.ServiceTypeID = lstServiceTypes.SelectedValue
If lstServiceTypes.SelectedValue = "Expenses" Then
clst = cb.SelectClaims(, , , "TimeCard", "False", "True")
Else
clst = cb.SelectClaims(, , , "TimeCard", "False", "False")
End If
If clst.Count > 0 Then
trDoneServices.Visible = True
End If
LoadControls()
If approved Then
dlstEnteredServices.EditItemIndex = -1
End If
' Compute the total expense
totalExpense = 0
totalHours = 0
totalMileage = 0
For Each enteredService In clst
totalExpense += enteredService.Expense
If enteredService.StartTime <> enteredService.EndTime And enteredService.Duration IsNot Nothing Then
totalHours += (DateTime.Parse(enteredService.EndTime) - DateTime.Parse(enteredService.StartTime)).TotalHours()
ElseIf enteredService.StartTime = enteredService.EndTime Then
totalMileage += enteredService.Mileage
enteredService.StartTime = ""
enteredService.EndTime = ""
End If
Next
dlstEnteredServices.DataSource = clst
dlstEnteredServices.DataBind()
'txtNotes.Text = cb.SelectClaimDetailNote(SelectBID(), lstIndividuals.SelectedValue, txtDate.Text, lstServiceTypes.SelectedValue)
If txtNotes.Text <> "" Then
txtNotes.Text = txtNotes.Text.Replace("<br>", vbNewLine)
End If
'If txtOutcome.Text <> "" Then
' txtOutcome.Text = txtOutcome.Text.Replace("<br>", vbNewLine)
For Each itm As DataListItem In dlstEnteredServices.Items
Dim hdnProvidedByID As HiddenField = CType(itm.FindControl("hdnCreatedBy"), HiddenField)
If itm.ItemType = ListItemType.AlternatingItem Or itm.ItemType = ListItemType.Item Then
If Session("RoleID") = 4 Or Session("RoleID") = 9 Or Session("RoleID") = 10 Or Session("RoleName").ToString().Contains("Staff") Then
If Session("UserID") = hdnProvidedByID.Value Then
itm.FindControl("btnEdit").Visible = True
itm.FindControl("btnRemove").Visible = True
Else
itm.FindControl("btnEdit").Visible = False
itm.FindControl("btnRemove").Visible = False
End If
Else
Dim hdnApproved As HiddenField = CType(itm.FindControl("hdnApproved"), HiddenField)
If hdnApproved.Value = True Then
itm.FindControl("btnEdit").Visible = False
itm.FindControl("btnRemove").Visible = False
Else
itm.FindControl("btnEdit").Visible = True
itm.FindControl("btnRemove").Visible = True
End If
End If
End If
Next
SetPermissions()
End Sub
Protected Function SelectBID() As Integer
Dim mth As String = Convert.ToDateTime(txtDate.Text).Month.ToString()
Dim yr As String = Convert.ToDateTime(txtDate.Text).Year.ToString()
Dim bm As New BillingMonths
Dim lst As List(Of BillingMonths) = bm.SelectBillingMonths(, mth, yr)
SelectBID = 0
For Each b As BillingMonths In lst
SelectBID = b.BID
Next
Return SelectBID
End Function
Protected Sub LoadControls()
Dim rec As New ClaimDetail()
rec.BID = SelectBID()
'rec.IndID = lstIndividuals.SelectedValue
Dim bdt, edt As DateTime
bdt = txtDate.Text
edt = txtDate.Text
Dim servicetypeid As Integer = 1
Dim approved, omission As Boolean
approved = rec.SelectApproveCheck(servicetypeid, bdt, edt)
omission = rec.SelectOmissionCheck(servicetypeid, bdt, edt)
txtNotes.Enabled = True
txtStartHour.Enabled = True
txtStartMinute.Enabled = True
lstStartAMPM.Enabled = True
txtEndHour.Enabled = True
txtEndMinute.Enabled = True
lstEndAMPM.Enabled = True
If Not omission Then
'EnterdServicesStatusChange(True)
btnSave.Visible = True
btnApprove.Visible = False
btnVoid.Visible = False
ElseIf omission And Not approved Then
'EnterdServicesStatusChange(True)
btnSave.Visible = True
btnApprove.Visible = True
btnVoid.Visible = False
ElseIf omission And approved Then
btnSave.Visible = False
'DisableRemove()
'EnterdServicesStatusChange(False)
btnApprove.Visible = False
btnVoid.Visible = True
trSelectEvent.Visible = False
trProvidedBy.Visible = False
trStartTime.Visible = False
trEndTime.Visible = False
Else
btnSave.Visible = False
'DisableRemove()
'EnterdServicesStatusChange(False)
btnApprove.Visible = False
btnVoid.Visible = False
trSelectEvent.Visible = False
trProvidedBy.Visible = False
trStartTime.Visible = False
trEndTime.Visible = False
End If
SetPermissions()
End Sub
Protected Sub DisableRemove()
For Each itm As DataListItem In dlstEnteredServices.Items
CType(itm.FindControl("btnRemove"), LinkButton).Visible = False
Next
End Sub
Protected Sub EnableRemove()
For Each itm As DataListItem In dlstEnteredServices.Items
CType(itm.FindControl("btnRemove"), LinkButton).Visible = True
Next
End Sub
Protected Sub FollowedIncCollapse(ByVal sender As Object, ByVal e As System.EventArgs)
If trSelectEvent.Visible Then
trProvidedServiceInfo.Visible = False
trSelectEvent.Visible = False
trStartTime.Visible = False
trEndTime.Visible = False
trNotes.Visible = False
trSig.Visible = False
trProvidedBy.Visible = False
trSave.Visible = False
'trSelectLocation.Visible = False
'imgFollowedInc.ImageUrl = "Images/plus.gif"
lbMinimize.Text = "+ Maximize +"
Else
trProvidedServiceInfo.Visible = True
trSelectEvent.Visible = True
trStartTime.Visible = True
trEndTime.Visible = True
trNotes.Visible = True
trSig.Visible = True
trProvidedBy.Visible = True
trSave.Visible = True
'trSelectLocation.Visible = True
'imgFollowedInc.ImageUrl = "Images/minus.gif"
lbMinimize.Text = "- Minimize -"
End If
End Sub
#End Region
Private Sub btnApprove_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApprove.Click
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
lblSubmitStatus.Text = ""
Dim rec As New Claim()
rec.BID = SelectBID()
'rec.IndID = lstIndividuals.SelectedValue
rec.ApprovedBy = Session("UserID")
rec.ApprovedDate = DateTime.Now()
Dim bdt, edt As DateTime
bdt = txtDate.Text
edt = txtDate.Text
Dim servicetypeid As Integer = lstServiceTypes.SelectedValue
If rec.ApproveClaimDetail(servicetypeid, bdt, edt) Then
LoadEnteredServices()
LoadControls()
lblApproveStatus.CssClass = ""
lblApproveStatus.Text = "Records have been approved"
btnSave.Visible = False
trSelectEvent.Visible = False
trProvidedBy.Visible = False
trStartTime.Visible = False
trEndTime.Visible = False
txtNotes.Enabled = False
trNotes.Visible = False
trProvidedServiceInfo.Visible = False
btnApprove.Visible = False
'trSelectLocation.Visible = False
btnVoid.Visible = True
Else
lblApproveStatus.CssClass = "Error"
lblApproveStatus.Text = "There was a problem approving these records."
End If
End Sub
Protected Sub EnterdServicesStatusChange(ByVal enabled As Boolean)
If Not enabled Then
dlstEnteredServices.EditItemIndex = -1
End If
For Each itm As DataListItem In dlstEnteredServices.Items
If itm.ItemType = ListItemType.AlternatingItem Or itm.ItemType = ListItemType.Item Then
itm.FindControl("btnEdit").Visible = enabled
itm.FindControl("btnRemove").Visible = enabled
End If
Next
'LoadEnteredServices()
End Sub
Private Sub btnVoid_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnVoid.Click
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
lblSubmitStatus.Text = ""
Dim rec As New Claim()
rec.BID = SelectBID()
'rec.IndID = lstIndividuals.SelectedValue
rec.VoidBy = Session("UserID")
rec.VoidDate = DateTime.Now()
Dim bdt, edt As DateTime
bdt = txtDate.Text
edt = txtDate.Text
Dim servicetypeid As Integer = lstServiceTypes.SelectedValue
If rec.VoidClaimDetail(servicetypeid, bdt, edt) Then
LoadEnteredServices()
LoadControls()
lblVoidStatus.CssClass = ""
lblVoidStatus.Text = "Records have been voided"
btnSave.Visible = True
trSelectEvent.Visible = True
'trSelectLocation.Visible = True
trProvidedBy.Visible = True
trStartTime.Visible = True
trEndTime.Visible = True
txtNotes.Enabled = True
btnApprove.Visible = False
btnVoid.Visible = False
Else
lblVoidStatus.CssClass = "Error"
lblVoidStatus.Text = "There was a problem voiding these records."
End If
End Sub
Protected Sub lstEditExpenseType_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lstEditExpenseType = CType(sender, DropDownList)
Dim parent As Control = lstEditExpenseType.NamingContainer
If lstEditExpenseType.SelectedItem.Text = "Mileage" Then
CType(parent.FindControl("txtExpense"), TextBox).Enabled = False
CType(parent.FindControl("txtMileage"), TextBox).Enabled = True
CType(parent.FindControl("txtMileageRequiredValidator"), RequiredFieldValidator).Enabled = True
CType(parent.FindControl("txtExpenseRequiredValidator"), RequiredFieldValidator).Enabled = False
Else
CType(parent.FindControl("txtExpense"), TextBox).Enabled = True
CType(parent.FindControl("txtMileage"), TextBox).Enabled = False
CType(parent.FindControl("txtMileageRequiredValidator"), RequiredFieldValidator).Enabled = False
CType(parent.FindControl("txtExpenseRequiredValidator"), RequiredFieldValidator).Enabled = True
End If
End Sub
Private Sub lstExpenseType_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstExpenseType.SelectedIndexChanged
If lstExpenseType.SelectedItem.Text = "Mileage" Then
txtExpense.Enabled = False
txtExpense.Text = ""
txtMileage.Enabled = True
panelMileageTotal.Visible = True
txtMileageRequiredValidator.Enabled = True
txtExpenseRequiredValidator.Enabled = False
Else
txtExpense.Enabled = True
txtMileage.Enabled = False
txtMileage.Text = ""
lblMileageTotal.Text = "$0"
panelMileageTotal.Visible = False
txtMileageRequiredValidator.Enabled = False
txtExpenseRequiredValidator.Enabled = True
End If
End Sub
Private Sub lstServiceTypes_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstServiceTypes.SelectedIndexChanged
Try
If lstServiceTypes.SelectedValue = "Expenses" Then
trExpense.Visible = True
trMileage.Visible = True
trStartTime.Visible = False
trEndTime.Visible = False
trProvidedServiceInfo.Visible = True
trSelectEvent.Visible = True
trNotes.Visible = True
trSig.Visible = True
trProvidedBy.Visible = True
trSave.Visible = True
'trSelectIndividual.Visible = True
'trSelectLocation.Visible = True
'imgFollowedInc.ImageUrl = "Images/minus.gif"
lbMinimize.Text = "- Minimize -"
trSelectDate.Visible = True
' Ensure the expense types are populated
Dim expenseTypeSelection As New ExpenseType
Dim expenseTypes As List(Of ExpenseType) = expenseTypeSelection.SelectAllExpenseTypes()
lstExpenseType.Items.Clear()
lstExpenseType.DataSource = expenseTypes
lstExpenseType.DataValueField = "ExpenseTypeID"
lstExpenseType.DataTextField = "Description"
lstExpenseType.DataBind()
lstExpenseType.Items.Insert(0, New ListItem("Select Expense Type", -1))
Else
trExpense.Visible = False
trMileage.Visible = False
trProvidedServiceInfo.Visible = True
trSelectEvent.Visible = True
trStartTime.Visible = True
trEndTime.Visible = True
trNotes.Visible = True
trSig.Visible = True
trProvidedBy.Visible = True
trSave.Visible = True
'trSelectIndividual.Visible = True
'trSelectLocation.Visible = True
'imgFollowedInc.ImageUrl = "Images/minus.gif"
lbMinimize.Text = "- Minimize -"
trSelectDate.Visible = True
trStartTime.Visible = True
trEndTime.Visible = True
End If
Catch ex As Exception
End Try
'ResetForm()
End Sub
Private Sub btnContinue_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnContinue.Click
'If UserTimeRestriction = True Then
' btnSave.Visible=False
'Else
btnSave.Visible=True
lstExpenseType.SelectedIndex = -1
LoadEnteredServices()
'End If
End Sub
Protected Sub LoadCS()
Dim lst As New List(Of AssignedPermission.PermissionType)
lst = CType(Session("Permissions"), List(Of AssignedPermission.PermissionType))
If lst.Contains(AssignedPermission.PermissionType.EnterCSOutsideRange) Then
If Convert.ToDateTime(txtDate.Text).Date <= Date.Now.Date Then
trProvidedServiceInfo.Visible = True
trSelectEvent.Visible = True
trStartTime.Visible = True
trEndTime.Visible = True
trNotes.Visible = True
trSig.Visible = True
trProvidedBy.Visible = True
trSave.Visible = True
'trSelectLocation.Visible = True
lbMinimize.Text = "- Minimize -"
Else
trProvidedServiceInfo.Visible = False
trSelectEvent.Visible = False
trStartTime.Visible = False
trEndTime.Visible = False
trNotes.Visible = False
trSig.Visible = False
trProvidedBy.Visible = False
trSave.Visible = False
'trSelectLocation.Visible = False
End If
ElseIf lst.Contains(AssignedPermission.PermissionType.EnterCSThirtyDays) Then
If Convert.ToDateTime(txtDate.Text).Date >= Date.Now.AddDays(-30).Date And Convert.ToDateTime(txtDate.Text).Date <= Date.Now.Date Then
trProvidedServiceInfo.Visible = True
trSelectEvent.Visible = True
trStartTime.Visible = True
trEndTime.Visible = True
trNotes.Visible = True
trSig.Visible = True
trProvidedBy.Visible = True
trSave.Visible = True
'trSelectLocation.Visible = True
lbMinimize.Text = "- Minimize -"
Else
trProvidedServiceInfo.Visible = False
trSelectEvent.Visible = False
trStartTime.Visible = False
trEndTime.Visible = False
trNotes.Visible = False
trSig.Visible = False
trProvidedBy.Visible = False
trSave.Visible = False
'trSelectLocation.Visible = False
End If
Else
If Convert.ToDateTime(txtDate.Text).Date >= Date.Now.AddDays(-10).Date And Convert.ToDateTime(txtDate.Text).Date <= Date.Now.Date Then
trProvidedServiceInfo.Visible = True
trSelectEvent.Visible = True
trStartTime.Visible = True
trEndTime.Visible = True
trNotes.Visible = True
trSig.Visible = True
trProvidedBy.Visible = True
trSave.Visible = True
'trSelectLocation.Visible = True
lbMinimize.Text = "- Minimize -"
Else
trProvidedServiceInfo.Visible = False
trSelectEvent.Visible = False
trStartTime.Visible = False
trEndTime.Visible = False
trNotes.Visible = False
trSig.Visible = False
trProvidedBy.Visible = False
trSave.Visible = False
'trSelectLocation.Visible = False
End If
End If
LoadServices()
LoadEnteredServices()
LoadProvidedBy()
LoadTime()
'LoadLocations(True)
If trSelectEvent.Visible Then
lstProvidedEvents.Focus()
End If
lblSubmitStatus.Text = ""
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
txtNotes.Text = ""
End Sub
Protected Sub SetPermissions()
Dim lst As New List(Of AssignedPermission.PermissionType)
lst = CType(Session("Permissions"), List(Of AssignedPermission.PermissionType))
Try
If Request.QueryString("st") = "4" Then
If Not lst.Contains(AssignedPermission.PermissionType.ViewResidential) Then
Response.Redirect("Dashboard.aspx")
End If
If Not lst.Contains(AssignedPermission.PermissionType.ApproveResidential) Then
btnApprove.Visible = False
End If
If Not lst.Contains(AssignedPermission.PermissionType.VoidResidential) Then
btnVoid.Visible = False
End If
If Not lst.Contains(AssignedPermission.PermissionType.EnterResidential) Then
btnSave.Visible = False
End If
If Not lst.Contains(AssignedPermission.PermissionType.EditResidential) Then
For Each itm As DataListItem In dlstEnteredServices.Items
If itm.ItemType = ListItemType.Item Or itm.ItemType = ListItemType.AlternatingItem Then
If CType(itm.FindControl("hdnCreatedBy"), HiddenField).Value = Session("UserID") Then
itm.FindControl("btnRemove").Visible = True
itm.FindControl("btnEdit").Visible = True
Else
itm.FindControl("btnRemove").Visible = False
itm.FindControl("btnEdit").Visible = False
End If
End If
If itm.ItemType = ListItemType.EditItem Then
End If
Next
End If
Else
If Not lst.Contains(AssignedPermission.PermissionType.ViewCommunityServices) Then
Response.Redirect("Dashboard.aspx")
End If
If Not lst.Contains(AssignedPermission.PermissionType.ApproveCommunityServices) Then
btnApprove.Visible = False
End If
If Not lst.Contains(AssignedPermission.PermissionType.VoidCommunityServices) Then
btnVoid.Visible = False
End If
If Not lst.Contains(AssignedPermission.PermissionType.EnterCommunityServices) Then
btnSave.Visible = False
End If
If Not lst.Contains(AssignedPermission.PermissionType.EditCommunityServices) Then
For Each itm As DataListItem In dlstEnteredServices.Items
If itm.ItemType = ListItemType.Item Or itm.ItemType = ListItemType.AlternatingItem Then
itm.FindControl("btnRemove").Visible = False
itm.FindControl("btnEdit").Visible = False
End If
If itm.ItemType = ListItemType.EditItem Then
End If
Next
End If
If lst.Contains(AssignedPermission.PermissionType.EditOwnCommunityServices) Then
For Each itm As DataListItem In dlstEnteredServices.Items
If itm.ItemType = ListItemType.Item Or itm.ItemType = ListItemType.AlternatingItem Then
If CType(itm.FindControl("hdnCreatedBy"), HiddenField).Value = Session("UserID") Then
itm.FindControl("btnRemove").Visible = True
itm.FindControl("btnEdit").Visible = True
Else
itm.FindControl("btnRemove").Visible = False
itm.FindControl("btnEdit").Visible = False
End If
'If Not Session("RoleID") = "4" Then
' itm.FindControl("btnRemove").Visible = True
' itm.FindControl("btnEdit").Visible = True
'End If
End If
If itm.ItemType = ListItemType.EditItem Then
End If
Next
End If
End If
Catch ex As Exception
Response.Redirect("Default.aspx")
End Try
End Sub
Protected Sub ResetForm()
trProvidedServiceInfo.Visible = False
trSelectEvent.Visible = False
trStartTime.Visible = False
trEndTime.Visible = False
trNotes.Visible = False
trSig.Visible = False
trProvidedBy.Visible = False
trSave.Visible = False
'trSelectLocation.Visible = False
trDoneServices.Visible = False
txtNotes.Enabled = True
txtNotes.Enabled = True
txtStartHour.Enabled = True
txtStartMinute.Enabled = True
lstStartAMPM.Enabled = True
txtEndHour.Enabled = True
txtEndMinute.Enabled = True
lstEndAMPM.Enabled = True
btnApprove.Visible = False
btnVoid.Visible = False
lblSubmitStatus.Text = ""
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
txtSignature.Text = ""
End Sub
Protected Sub CheckUserTimeEntry()
Dim currentUser = Session("UserID")
''Dim checkDay As Integer
'Dim CheckTime As DateTime = Date.Now
'If checkDay = DayOfWeek.Monday And CheckTime = Convert.ToDateTime("12:00 PM") Then
Dim status As New CheckUserTimeStatus
Dim checkResult As Boolean = status.UserTimeEntryCheck(currentUser)
If checkResult = False Then
UserTimeRestriction = True
Dim message As String = "Time entry has been restricted. You may only enter time for the previous week."
ClientScript.RegisterStartupScript(Me.GetType(), "Popup", "RestrictedNotification('" + message + "');", True)
trMissingTimeMessage.Visible=True
Else
UserTimeRestriction = False
btnSave.Attributes.Add("onclick", "this.disabled=true;" + ClientScript.GetPostBackEventReference(btnSave, "").ToString())
End If
'btnSave.Attributes.Add("onclick", "this.disabled=true;" + ClientScript.GetPostBackEventReference(btnSave, "").ToString())
'End If
End Sub
Private Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
'Check to see if the date entered falls within the last week
'if the UserTimeRestriction is true.
'If UserTimeRestriction = True Then
' 'Establish date range from today and last Monday.
' Dim todaysDate As Date = Date.Now
' Dim dayDiff As Integer = todaysDate.DayOfWeek - DayOfWeek.Monday
' Dim currentMonday As String = todaysDate.AddDays((1-dayDiff)-1).ToShortDateString()
' Dim lastMonday As String = todaysDate.AddDays(-dayDiff - 7).ToShortDateString()
' Dim cutTime As String = "12:00:00 PM"
' If txtDate.Text >= currentMonday And TimeOfDay.ToString("hh:mm:ss tt") >= cutTime Then
' Dim message As String = "Restricted status prevents you from entering time for that date."
' ClientScript.RegisterStartupScript(Me.GetType(), "Popup", "RestrictedEntry('" + message + "');", True)
' Exit Sub
' ElseIf txtDate.Text >= lastMonday And txtDate.Text <= currentMonday Then
Page.Validate("Step2")
Page.Validate("Step3")
If Not Page.IsValid Then
Return
End If
lblSubmitStatus.Text = ""
If lstProvidedBy.SelectedIndex = 0 Then
lblSubmitStatus.Text = "Please select a provided by user"
End If
If lstProvidedEvents.SelectedIndex = 0 Then
lblSubmitStatus.Text = "Please select an event"
End If
If txtNotes.Text = "" Then
lblSubmitStatus.Text = "Please add valid notes in all required fields"
End If
If txtSignature.Text = "" Then
lblSubmitStatus.Text = "Please sign your entry"
End If
If ddlTitle.SelectedIndex < 1 Then
lblSubmitStatus.Text = "Please select your Title"
End If
If CheckTime() Then
If lblSubmitStatus.Text = "" Then
Dim bid As Integer = SelectBID()
Dim cb As New Claim()
Dim rec As New Claim()
rec.BID = bid
rec.IndID = -1
rec.RecDate = txtDate.Text
'If UserTimeRestriction = True Then
' Dim newCDate = Convert.ToDateTime(txtDate.Text).Date
' Dim newTime = DateTime.Now
' Dim newCombinedDt = new DateTime(newCDate.Year, newCDate.Month, newCDate.Day, newTime.Hour, newTime.Minute, newTime.Second, newTime.Millisecond )
' rec.Created = newCombinedDt
' Else
rec.Created = DateTime.Now
'End If
rec.CreatedBy = Session("UserID")
'rec.ServiceTypeID = lstServiceTypes.SelectedValue
rec.InternalEventID = lstProvidedEvents.SelectedValue
Dim cont As Boolean = False
If lstServiceTypes.SelectedValue = "Expenses" Then
rec.StartTime = txtDate.Text
rec.EndTime = txtDate.Text
cont = True
Else
rec.StartTime = DateTime.Parse(txtDate.Text & " " & txtStartHour.Text & ":" & txtStartMinute.Text & " " & lstStartAMPM.SelectedItem.Text)
rec.EndTime = DateTime.Parse(txtDate.Text & " " & txtEndHour.Text & ":" & txtEndMinute.Text & " " & lstEndAMPM.SelectedItem.Text)
cont = Convert.ToDateTime(rec.StartTime) < Convert.ToDateTime(rec.EndTime)
End If
Dim dur As TimeSpan = DateTime.Parse(rec.EndTime).Subtract(DateTime.Parse(rec.StartTime))
rec.Duration = dur.TotalMinutes
rec.Signature = txtSignature.Text
rec.Title = ddlTitle.SelectedValue
If txtEndHour.Text = "12" Then
If txtEndMinute.Text = "00" Then
If lstEndAMPM.SelectedItem.Text = "AM" Then
rec.EndTime = Date.Parse(rec.EndTime).AddDays(1)
'rec.EndTime = Date.Parse(rec.EndTime).AddHours(-12)
End If
End If
End If
Dim vFail As Boolean = False
If DateTime.Parse(txtDate.Text) < DateTime.Now Then
If cont Then
'rec.LocationID = Integer.Parse(IIf(lstLocations.Enabled = False, lstLocations.Items(0).Value, lstLocations.SelectedValue))
'rec.SelectServiceRate()
rec.PSID = Nothing
rec.ProvidedBy = lstProvidedBy.SelectedValue
Dim u As New Units()
'rec.Duration = u.CalculateUnitsUtilized(rec.StartTime, rec.EndTime, rec.ServiceID)
'rec.Rate = hdnRate.Value
'rec.BilledAmt = rec.Rate * rec.Duration
rec.ClaimNote = txtNotes.Text
rec.ClaimNote = Regex.Replace(rec.ClaimNote, "<(.|\n)*?>", "")
rec.ClaimNote = rec.ClaimNote.Replace(ControlChars.NewLine, "<br>")
rec.ClaimNote = Regex.Replace(rec.ClaimNote, "\n", "<br>")
If trExpense.Visible And txtExpense.Enabled Then
rec.Expense = txtExpense.Text
Else
rec.Expense = lstProvidedEvents.SelectedValue
End If
If trMileage.Visible And txtMileage.Enabled Then
rec.Mileage = txtMileage.Text
rec.MileageRate = System.Configuration.ConfigurationManager.AppSettings("MileageRate")
rec.Expense = rec.Mileage * rec.MileageRate
Else
rec.Mileage = 0
End If
rec.InternalEventID = lstProvidedEvents.SelectedValue
' Store the expense type
If lstExpenseType.Visible AndAlso lstExpenseType.SelectedValue >= 0 Then
rec.ExpenseTypeID = lstExpenseType.SelectedValue
End If
If rec.InsertUpdateTime() Then
lblSubmitStatus.Text = "Service successfully added"
LoadEnteredServices()
LoadProvidedBy()
LoadTime()
'lstProvidedServices.SelectedIndex = 0
'lstProvidedServices.Focus()
txtNotes.Text = ""
'LoadLocations(True)
If rec.BilledAmt = 0.0 Then
EmailUtil.ZeroAmountNotification(rec)
End If
Else
lblSubmitStatus.Text = "There was a problem adding this service. Service not added"
End If
Else
lblSubmitStatus.Text = "End Time cannot be earlier than Start Time"
End If
Else
lblSubmitStatus.Text = "Invalid Service Date - No prospective date entry."
End If
'lblSubmitStatus.Text = "Please select a provided by user"
End If
End If
'End If 'End If for date check If txtDate.Text >= currentMonday
'End If
End Sub
Private Sub dlstEnteredServices_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles dlstEnteredServices.ItemCommand
If e.CommandName = "Remove" Then
Dim cl As New Claim
cl.DeleteClaim(e.CommandArgument)
LoadEnteredServices()
'lstProvidedServices.Focus()
lblSubmitStatus.Text = ""
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
ElseIf e.CommandName = "Edit" Then
dlstEnteredServices.EditItemIndex = e.Item.ItemIndex
LoadEnteredServices()
ElseIf e.CommandName = "Cancel" Then
dlstEnteredServices.EditItemIndex = -1
LoadEnteredServices()
ElseIf e.CommandName = "Update" Then
Dim bid As New Integer
Dim cb As New Claim()
Dim rec As New Claim()
If Not txtStartHour.Enabled And Not txtStartMinute.Enabled Then
RequiredFieldValidator6.ValidationGroup = ""
RequiredFieldValidator6.ControlToValidate = Nothing
RequiredFieldValidator7.ValidationGroup = ""
RequiredFieldValidator7.ControlToValidate = Nothing
End If
rec.OldBid = SelectNewBID(CType(e.Item.FindControl("hdnDate"), HiddenField).Value)
'rec.IndID = lstIndividuals.SelectedValue
rec.RecDate = CType(e.Item.FindControl("txtServiceDate"), TextBox).Text
bid = SelectNewBID(rec.RecDate)
rec.BID = bid
rec.OldRecDate = CType(e.Item.FindControl("hdnDate"), HiddenField).Value
rec.ClaimID = Val(e.CommandArgument)
rec.ClaimDetailID = CType(e.Item.FindControl("hdnClaimDetailID"), HiddenField).Value
rec.IndID = -1
'rec.RecDate = txtDate.Text
rec.Modified = DateTime.Now
rec.ModifiedBy = Session("UserID")
'rec.ServiceTypeID = lstServiceTypes.SelectedValue
rec.InternalEventID = CType(e.Item.FindControl("lstProvidedEvents"), ListBox).SelectedValue
Dim lstDditedExpenseType As DropDownList = CType(e.Item.FindControl("lstExpenseType"), DropDownList)
If lstDditedExpenseType IsNot Nothing AndAlso lstDditedExpenseType.Enabled AndAlso lstDditedExpenseType.SelectedValue >= 0 Then
rec.ExpenseTypeID = lstDditedExpenseType.SelectedValue
End If
Dim dur As New TimeSpan
Dim cont As Boolean = True
If CType(e.Item.FindControl("txtExpense"), TextBox).Text <> "0.00" Then
rec.StartTime = txtDate.Text
rec.EndTime = txtDate.Text
rec.Duration = 0.0
cont = True
Else
rec.StartTime = DateTime.Parse(rec.RecDate & " " & CType(e.Item.FindControl("txtStartHour"), TextBox).Text & ":" & CType(e.Item.FindControl("txtStartMinute"), TextBox).Text & " " & CType(e.Item.FindControl("lstStartAMPM"), ListBox).SelectedItem.Text)
rec.EndTime = DateTime.Parse(rec.RecDate & " " & CType(e.Item.FindControl("txtEndHour"), TextBox).Text & ":" & CType(e.Item.FindControl("txtEndMinute"), TextBox).Text & " " & CType(e.Item.FindControl("lstEndAMPM"), ListBox).SelectedItem.Text)
dur = DateTime.Parse(rec.EndTime).Subtract(DateTime.Parse(rec.StartTime))
rec.Duration = dur.TotalMinutes
cont = Convert.ToDateTime(rec.StartTime) < Convert.ToDateTime(rec.EndTime)
End If
Dim txtEditExpense As TextBox = CType(e.Item.FindControl("txtExpense"), TextBox)
Dim txtEditMileage As TextBox = CType(e.Item.FindControl("txtMileage"), TextBox)
If txtEditExpense.Enabled Then
rec.Expense = txtEditExpense.Text
rec.Mileage = 0
rec.MileageRate = 0
Else
rec.Mileage = txtEditMileage.Text
rec.MileageRate = System.Configuration.ConfigurationManager.AppSettings("MileageRate")
rec.Expense = rec.Mileage * rec.MileageRate
End If
Dim cont2 As Boolean = CheckDate(rec.RecDate)
'Dim cont3 As Boolean = CheckTime(rec.RecDate, rec.StartTime, rec.EndTime, rec.ClaimID, CType(e.Item.FindControl("lstProvidedServices"), ListBox).SelectedItem.Text)
'If cont3 Then
If cont2 Then
If cont Then
rec.ClaimID = Val(e.CommandArgument)
rec.PSID = Nothing
rec.ProvidedBy = CType(e.Item.FindControl("lstProvidedBy"), ListBox).SelectedValue
'rec.LocationID = Integer.Parse(IIf(CType(e.Item.FindControl("lstLocations"), ListBox).Enabled = False, CType(e.Item.FindControl("lstLocations"), ListBox).Items(0).Value, CType(e.Item.FindControl("lstLocations"), ListBox).SelectedValue))
'rec.SelectServiceRate()
Dim u As New Units()
'rec.Duration = u.CalculateUnitsUtilized(rec.StartTime, rec.EndTime, rec.ServiceID)
'rec.BilledAmt = rec.Rate * rec.Duration
rec.ClaimNote = CType(e.Item.FindControl("txtClaimNote"), TextBox).Text
rec.ClaimNote = Regex.Replace(rec.ClaimNote, "<(.|\n)*?>", "")
rec.ClaimNote = rec.ClaimNote.Replace(ControlChars.NewLine, "<br>")
rec.ClaimNote = Regex.Replace(rec.ClaimNote, "\n", "<br>")
rec.Signature = CType(e.Item.FindControl("txtSignature"), TextBox).Text
If rec.InsertUpdateTime() Then
CType(e.Item.FindControl("lblStatus"), Label).Text = "Service successfully updated"
LoadEnteredServices()
LoadProvidedBy()
LoadTime()
lstProvidedEvents.SelectedIndex = 0
lstProvidedEvents.Focus()
txtNotes.Text = ""
'LoadLocations(True)
Else
lblSubmitStatus.Text = "There was a problem updating this service. Service not updated"
End If
Else
lblSubmitStatus.Text = "End Time cannot be earlier than Start Time"
End If
Else
lblSubmitStatus.Text = "You do not have permission to edit the date to " & rec.RecDate
End If
'Else
' lblSubmitStatus.Text = "There was a problem updating this service. Time overlaps with a previously entered service."
'End If
dlstEnteredServices.EditItemIndex = -1
LoadEnteredServices()
End If
End Sub
Protected Sub dlstProvidedService_OnSelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'Dim lstServices As ListBox = CType(sender, ListBox)
'Dim r As DataListItem = CType(lstServices.NamingContainer, DataListItem)
'Dim lstLoc As ListBox = CType(r.FindControl("lstLocations"), ListBox)
'Dim hdnLocationID As HiddenField = CType(r.FindControl("hdnLocationID"), HiddenField)
'Dim lstnProvidedBy As ListBox = CType(r.FindControl("lstProvidedBy"), ListBox)
'If lstServiceTypes.SelectedIndex > 0 Then
' lstLoc.Items.Clear()
' If lstServices.SelectedIndex = 0 Then
' lstLoc.Items.Insert(0, "You must select a service")
' lstLoc.Enabled = False
' Else
' Dim l As New Location()
' Dim serviceid As Integer = 0
' Dim indid As Integer = 0
' Dim lst As New List(Of Location)
' If lstServiceTypes.SelectedValue = 3 Or lstServiceTypes.SelectedValue = 2 Then
' serviceid = lstServices.SelectedValue
' Else
' indid = lstIndividuals.SelectedValue
' End If
' lst = l.SelectLocations(serviceid, indid)
' lstLoc.DataSource = lst
' lstLoc.DataBind()
' If lst.Count = 1 Then
' lstLoc.Enabled = False
' Else
' lstLoc.Enabled = True
' lstLoc.Items.Insert(0, "Select Location")
' End If
' End If
'End If
'Else
'lstLoc.SelectedIndex = 0
'lstLoc.Enabled = False
'End If
End Sub
Private Sub lstProvidedServices_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
If lstServiceTypes.SelectedIndex > 0 Then
'LoadLocations()
If lstProvidedEvents.SelectedIndex > 0 Then
Dim service As New IndividualService
Dim lstS As New List(Of IndividualService)
service.LocServiceID = lstProvidedEvents.SelectedValue
'service.IndID = lstIndividuals.SelectedValue
'lstS = service.SelectIndividualService(lstProvidedEvents.SelectedValue, Date.Parse(txtDate.Text))
End If
If lstProvidedEvents.SelectedIndex > 0 Then
Dim srv As New Services()
Dim lst As New List(Of Services)
lst = srv.SelectServices(, , lstProvidedEvents.SelectedValue)
For Each s As Services In lst
If s.UnitType = Units.TypeOfUnit.Day.ToString() Then
txtStartHour.Text = "12"
txtStartHour.Enabled = False
txtStartMinute.Text = "00"
txtStartMinute.Enabled = False
lstStartAMPM.SelectedItem.Text = "AM"
lstStartAMPM.Enabled = False
txtEndHour.Text = "11"
txtEndHour.Enabled = False
txtEndMinute.Text = "59"
txtEndMinute.Enabled = False
lstEndAMPM.SelectedItem.Text = "PM"
lstEndAMPM.Enabled = False
Else
txtStartHour.Text = "12"
txtStartHour.Enabled = True
txtStartMinute.Text = "00"
txtStartMinute.Enabled = True
txtEndHour.Text = "12"
txtEndHour.Enabled = True
txtEndMinute.Text = "00"
txtEndMinute.Enabled = True
'lstEndAMPM.SelectedItem.Text = "AM"
lstEndAMPM.Enabled = True
LoadTime()
End If
'hdnRate.Value = s.Rate
Next
End If
Else
'lstLocations.SelectedIndex = 0
'lstLocations.Enabled = False
End If
lblSubmitStatus.Text = ""
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
'lstProvidedServices.Focus()
lstProvidedBy.Focus()
End Sub
Private Sub btnClearForm_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnClearForm.Click
Response.Redirect("TimeExpenseEntry.aspx")
End Sub
Private Sub lstEndAMPM_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstEndAMPM.SelectedIndexChanged
lblSubmitStatus.Text = ""
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
If lstProvidedBy.SelectedIndex = 0 Then
lstProvidedBy.Focus()
Else
txtStartHour.Focus()
End If
End Sub
Private Sub lstStartAMPM_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstStartAMPM.SelectedIndexChanged
lblSubmitStatus.Text = ""
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
If lstProvidedBy.SelectedIndex = 0 Then
lstProvidedBy.Focus()
Else
txtStartHour.Focus()
End If
End Sub
Private Sub lstProvidedBy_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstProvidedBy.SelectedIndexChanged
lblSubmitStatus.Text = ""
lblApproveStatus.Text = ""
lblVoidStatus.Text = ""
If lstProvidedBy.SelectedIndex > 0 Then
txtStartHour.Focus()
Else
lstProvidedBy.Focus()
End If
End Sub
Private Sub dlstEnteredServices_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlstEnteredServices.ItemDataBound
Dim lblTotalExpense As Label = CType(e.Item.FindControl("lblTotalExpense"), Label)
Dim lblTotalHours As Label = CType(e.Item.FindControl("lblTotalHours"), Label)
Dim lblTotalMileage As Label = CType(e.Item.FindControl("lblTotalMileage"), Label)
If lblTotalExpense IsNot Nothing Then
lblTotalExpense.Text = String.Format("${0}", totalExpense)
End If
If lblTotalExpense IsNot Nothing Then
lblTotalHours.Text = Math.Round(totalHours, 2)
End If
If lblTotalMileage IsNot Nothing Then
lblTotalMileage.Text = Math.Round(totalMileage, 1)
End If
If e.Item.ItemType = ListItemType.EditItem Then
Dim lstnStartAMPM As ListBox = CType(e.Item.FindControl("lstStartAMPM"), ListBox)
Dim lstnEndAMPM As ListBox = CType(e.Item.FindControl("lstEndAMPM"), ListBox)
Dim hdnStartAMPM As HiddenField = CType(e.Item.FindControl("hdnStartAMPM"), HiddenField)
Dim hdnEndAMPM As HiddenField = CType(e.Item.FindControl("hdnEndAMPM"), HiddenField)
Dim txtStartHour As TextBox = CType(e.Item.FindControl("txtStartHour"), TextBox)
Dim txtStartMinute As TextBox = CType(e.Item.FindControl("txtStartMinute"), TextBox)
Dim txtEndHour As TextBox = CType(e.Item.FindControl("txtEndHour"), TextBox)
Dim txtEndMinute As TextBox = CType(e.Item.FindControl("txtEndMinute"), TextBox)
lstnStartAMPM.Items.Clear()
lstnStartAMPM.Items.Insert(0, "PM")
lstnStartAMPM.Items.Insert(0, "AM")
lstnStartAMPM.SelectedValue = hdnStartAMPM.Value
lstnEndAMPM.Items.Clear()
lstnEndAMPM.Items.Insert(0, "PM")
lstnEndAMPM.Items.Insert(0, "AM")
lstnEndAMPM.SelectedValue = hdnEndAMPM.Value
Dim lstProvidedEvents As ListBox = CType(e.Item.FindControl("lstProvidedEvents"), ListBox)
Dim hdnProvidedServiceID As HiddenField = CType(e.Item.FindControl("hdnProvidedServiceID"), HiddenField)
Dim srv As New Events 'SelectServices
lstProvidedEvents.Items.Clear()
Dim liveEvents As List(Of LiveEvents) = New LiveEvents().SelectLiveEvents()
Dim editedEvents As List(Of Events) = srv.SelectEvents(,, CType(e.Item.DataItem, Claim).InternalEventID)
For Each liveEvent In liveEvents
If Not editedEvents.Any(Function(editedEvent) editedEvent.InternalEventID = liveEvent.InternalEventID) Then
editedEvents.Add(liveEvent)
End If
Next
'Dim authorized As List(Of Services) = srv.SelectAuthorizedServices(lstIndividuals.SelectedValue)
lstProvidedEvents.DataSource = editedEvents
lstProvidedEvents.DataBind()
'stnProvidedServices.DataSource = srv.SelectServices(lstServiceTypes.SelectedValue)
'lstnProvidedServices.DataBind()
'lstnProvidedServices.Items.Insert(0, "Select Provided Services")
lstProvidedEvents.SelectedValue = CType(e.Item.DataItem, Claim).InternalEventID
Dim txtExpense As TextBox = CType(e.Item.FindControl("txtExpense"), TextBox)
Dim txtMileage As TextBox = CType(e.Item.FindControl("txtMileage"), TextBox)
Dim trExpense As HtmlTableRow = CType(e.Item.FindControl("trExpense"), HtmlTableRow)
If txtExpense.Text = "0" Or txtMileage.Text = "0" Or txtExpense.Text = "" Or txtMileage.Text = "" Then
trExpense.Visible = False
CType(e.Item.FindControl("txtExpense"), TextBox).Enabled = False
CType(e.Item.FindControl("lstExpenseType"), DropDownList).Enabled = False
CType(e.Item.FindControl("txtMileage"), TextBox).Enabled = False
txtStartHour.Enabled = True
txtStartMinute.Enabled = True
lstStartAMPM.Enabled = True
txtEndHour.Enabled = True
txtEndMinute.Enabled = True
lstnEndAMPM.Enabled = True
lstnStartAMPM.Enabled = True
Else
trExpense.Visible = True
CType(e.Item.FindControl("txtStartHour"), TextBox).Enabled = False
CType(e.Item.FindControl("txtEndHour"), TextBox).Enabled = False
CType(e.Item.FindControl("txtStartMinute"), TextBox).Enabled = False
CType(e.Item.FindControl("txtEndMinute"), TextBox).Enabled = False
CType(e.Item.FindControl("lstStartAMPM"), ListBox).Enabled = False
CType(e.Item.FindControl("lstEndAMPM"), ListBox).Enabled = False
' Ensure the expense types are populated
Dim lstEditedExpenseType As DropDownList = CType(e.Item.FindControl("lstExpenseType"), DropDownList)
Dim expenseTypeSelection As New ExpenseType
Dim expenseTypes As List(Of ExpenseType) = expenseTypeSelection.SelectAllExpenseTypes()
lstEditedExpenseType.Items.Clear()
lstEditedExpenseType.DataSource = expenseTypes
lstEditedExpenseType.DataValueField = "ExpenseTypeID"
lstEditedExpenseType.DataTextField = "Description"
lstEditedExpenseType.DataBind()
Dim sourceClaimData As Claim = CType(dlstEnteredServices.DataSource(e.Item.ItemIndex), Claim)
If sourceClaimData.ExpenseTypeID IsNot Nothing And sourceClaimData.ExpenseTypeID >= 0 Then
lstEditedExpenseType.SelectedValue = sourceClaimData.ExpenseTypeID
lstEditedExpenseType.Items.Insert(0, New ListItem("Select Expense Type", -1))
Else
lstEditedExpenseType.Items.Insert(0, New ListItem("Invalid Expense Type", -1))
End If
End If
'Dim d As DateTime = DateTime.Parse(CType(e.Item.FindControl("txtServiceDate"), TextBox).Text & " " & CType(e.Item.FindControl("txtStartHour"), TextBox).Text & ":" & CType(e.Item.FindControl("txtStartMinute"), TextBox).Text & " " & CType(e.Item.FindControl("lstStartAMPM"), ListBox).SelectedItem.Text)
'Dim f As DateTime = DateTime.Parse(CType(e.Item.FindControl("txtServiceDate"), TextBox).Text & " " & CType(e.Item.FindControl("txtEndHour"), TextBox).Text & ":" & CType(e.Item.FindControl("txtEndMinute"), TextBox).Text & " " & CType(e.Item.FindControl("lstEndAMPM"), ListBox).SelectedItem.Text)
'If d = f Then
' CType(e.Item.FindControl("txtStartHour"), TextBox).Enabled = False
' CType(e.Item.FindControl("txtEndHour"), TextBox).Enabled = False
' CType(e.Item.FindControl("txtStartMinute"), TextBox).Enabled = False
' CType(e.Item.FindControl("txtEndMinute"), TextBox).Enabled = False
' CType(e.Item.FindControl("lstStartAMPM"), ListBox).Enabled = False
' CType(e.Item.FindControl("lstEndAMPM"), ListBox).Enabled = False
' ' Ensure the expense types are populated
' Dim lstEditedExpenseType As DropDownList = CType(e.Item.FindControl("lstExpenseType"), DropDownList)
' Dim expenseTypeSelection As New ExpenseType
' Dim expenseTypes As List(Of ExpenseType) = expenseTypeSelection.SelectAllExpenseTypes()
' lstEditedExpenseType.Items.Clear()
' lstEditedExpenseType.DataSource = expenseTypes
' lstEditedExpenseType.DataValueField = "ExpenseTypeID"
' lstEditedExpenseType.DataTextField = "Description"
' lstEditedExpenseType.DataBind()
' Dim sourceClaimData As Claim = CType(dlstEnteredServices.DataSource(e.Item.ItemIndex), Claim)
' If sourceClaimData.ExpenseTypeID IsNot Nothing And sourceClaimData.ExpenseTypeID >= 0 Then
' lstEditedExpenseType.SelectedValue = sourceClaimData.ExpenseTypeID
' lstEditedExpenseType.Items.Insert(0, New ListItem("Select Expense Type", -1))
' Else
' lstEditedExpenseType.Items.Insert(0, New ListItem("Invalid Expense Type", -1))
' End If
'Else
' CType(e.Item.FindControl("txtExpense"), TextBox).Enabled = False
' CType(e.Item.FindControl("lstExpenseType"), DropDownList).Enabled = False
' CType(e.Item.FindControl("txtMileage"), TextBox).Enabled = False
'End If
Dim serviceid As Integer = 0
Dim indid As Integer = 0
Dim txtClaimNote As TextBox = CType(e.Item.FindControl("txtClaimNote"), TextBox)
If txtClaimNote.Text <> "" Then
txtClaimNote.Text = txtClaimNote.Text.Replace("<br>", vbNewLine)
End If
Dim lstnProvidedBy As ListBox = CType(e.Item.FindControl("lstProvidedBy"), ListBox)
Dim hdnProvidedByID As HiddenField = CType(e.Item.FindControl("hdnProvidedByID"), HiddenField)
Dim u As New User 'SelectServices
u.Active = True
u.LockedOut = False
lstnProvidedBy.Items.Clear()
lstnProvidedBy.DataSource = u.SelectUsers()
lstnProvidedBy.DataBind()
lstnProvidedBy.Items.Insert(0, "Select Provided By")
lstnProvidedBy.SelectedValue = hdnProvidedByID.Value
If Session("RoleID") = 4 Or Session("RoleID") = 9 Or Session("RoleID") = 10 Or Session("RoleName").ToString().Contains("Staff") Then
lstnProvidedBy.Enabled = False
End If
ElseIf e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
Dim hdnApproved As HiddenField = CType(e.Item.FindControl("hdnApproved"), HiddenField)
Dim hdnTitle As HiddenField = CType(e.Item.FindControl("hdnTitle"), HiddenField)
Dim btnEdit As LinkButton = CType(e.Item.FindControl("btnEdit"), LinkButton)
Dim btnRemove As LinkButton = CType(e.Item.FindControl("btnRemove"), LinkButton)
Dim lblTitle As Label = CType(e.Item.FindControl("lblTitle"), Label)
If hdnTitle.Value = "0" Then
lblTitle.Text = ""
ElseIf hdnTitle.Value = "1" Then
lblTitle.Text = "Habilitation Specialist"
ElseIf hdnTitle.Value = "2" Then
lblTitle.Text = "Specialized Duties"
ElseIf hdnTitle.Value = "3" Then
lblTitle.Text = "Manager"
End If
If hdnApproved.Value = True Then
btnEdit.Visible = False
btnRemove.Visible = False
Else
btnEdit.Visible = True
btnRemove.Visible = True
End If
End If
End Sub
Private Function CheckTime() As Boolean
Dim srv As New Services 'SelectServices
Dim IndSrv As New IndividualService
Dim returnValue As Boolean = True
Dim cb As New Claim()
Dim clst As New List(Of Claim)
cb.BID = SelectBID()
'cb.IndID = lstIndividuals.SelectedValue
cb.RecDate = txtDate.Text
cb.RecDateEnd = txtDate.Text
'cb.ServiceTypeID = lstServiceTypes.SelectedValue
clst = cb.SelectClaims()
' Dim authorized As List(Of Services) = srv.SelectAuthorizedServices(lstIndividuals.SelectedValue)
If clst.Count = 0 Then
'returnValue = True
End If
'For Each c In clst
' If c.StartTime < DateTime.Parse(txtDate.Text & " " & txtEndHour.Text & ":" & txtEndMinute.Text & " " & lstEndAMPM.SelectedItem.Text) And c.EndTime > DateTime.Parse(txtDate.Text & " " & txtStartHour.Text & ":" & txtStartMinute.Text & " " & lstStartAMPM.SelectedItem.Text) Then
' If c.WCode.Contains("7095") Or c.WCode.Contains("7061") Or hdnWCode.Value.Contains("7095") Or hdnWCode.Value.Contains("7061") Or _
' c.WCode.Contains("2019") Or hdnWCode.Value.Contains("2019") Or _
' ((c.WCode.Contains("7250") And c.ProvidedServiceName.Contains("Alleg")) Or (hdnWCode.Value.Contains("7250") And lstProvidedServices.SelectedItem.Text.Contains("Alleg"))) Or _
' ((c.WCode.Contains("7290") And c.ProvidedServiceName.Contains("Alleg")) Or (hdnWCode.Value.Contains("7290") And lstProvidedServices.SelectedItem.Text.Contains("Alleg"))) Or _
' ((c.WCode.Contains("7290") And c.ProvidedServiceName.Contains("Wash")) Or (hdnWCode.Value.Contains("7290") And lstProvidedServices.SelectedItem.Text.Contains("Wash"))) Or _
' ((c.WCode.Contains("8002") And c.ProvidedServiceName.Contains("Alleg")) Or (hdnWCode.Value.Contains("8002") And lstProvidedServices.SelectedItem.Text.Contains("Alleg"))) Or _
' ((c.WCode.Contains("7258") And c.ProvidedServiceName.Contains("Beaver")) Or (hdnWCode.Value.Contains("7258") And lstProvidedServices.SelectedItem.Text.Contains("Beaver"))) Or _
' ((c.WCode.Contains("7265") And c.ProvidedServiceName.Contains("Alleg")) Or (hdnWCode.Value.Contains("7265") And lstProvidedServices.SelectedItem.Text.Contains("Alleg"))) Then
' returnValue = True
' Else
' returnValue = False
' lblSubmitStatus.Text = "There was a problem adding this service. Service not added. Time overlaps with a previously entered service."
' Exit For
' End If
' Else
' If Convert.ToDateTime(txtDate.Text).Date > Date.Now.Date Then
' returnValue = False
' If lblSubmitStatus.Text <> "" Then
' Else
' lblSubmitStatus.Text = "Invalid Service Date - No prospective date entry."
' End If
' Else
' returnValue = True
' If lblSubmitStatus.Text <> "" Then
' Else
' lblSubmitStatus.Text = ""
' End If
' End If
' End If
'Next
Return returnValue
End Function
Private Function CheckTime(ByVal RecDate As String, ByVal StartTime As String, ByVal EndTime As String, ByVal ClaimID As Integer, ByVal ServiceDesc As String) As Boolean
Dim srv As New Services 'SelectServices
Dim IndSrv As New IndividualService
Dim returnValue As Boolean = True
Dim cb As New Claim()
Dim clst As New List(Of Claim)
cb.BID = SelectBID()
'cb.IndID = lstIndividuals.SelectedValue
cb.RecDate = RecDate
cb.RecDateEnd = RecDate
cb.ServiceTypeID = lstServiceTypes.SelectedValue
clst = cb.SelectClaims()
'Dim authorized As List(Of Services) = srv.SelectAuthorizedServices(lstIndividuals.SelectedValue)
'For Each a In authorized
' If a.Description = ServiceDesc Then
' 'hdnWCode.Value = a.Wcode
' End If
'Next
If clst.Count = 0 Then
returnValue = True
End If
'For Each c In clst
' If c.ClaimID <> ClaimID Then
' If (Convert.ToDateTime(c.StartTime) > Convert.ToDateTime(StartTime) And Convert.ToDateTime(c.StartTime) < Convert.ToDateTime(EndTime)) Or (Convert.ToDateTime(c.EndTime) > Convert.ToDateTime(StartTime) And Convert.ToDateTime(c.EndTime) < Convert.ToDateTime(EndTime)) Then
' If c.WCode.Contains("7095") Or c.WCode.Contains("7061") Or hdnWCode.Value.Contains("7095") Or hdnWCode.Value.Contains("7061") Or _
' c.WCode.Contains("2019") Or hdnWCode.Value.Contains("2019") Or _
' ((c.WCode.Contains("7250") And c.ProvidedServiceName.Contains("Alleg")) Or (hdnWCode.Value.Contains("7250") And ServiceDesc.ToString.Contains("Alleg"))) Or _
' ((c.WCode.Contains("7290") And c.ProvidedServiceName.Contains("Alleg")) Or (hdnWCode.Value.Contains("7290") And ServiceDesc.ToString.Contains("Alleg"))) Or _
' ((c.WCode.Contains("7290") And c.ProvidedServiceName.Contains("Wash")) Or (hdnWCode.Value.Contains("7290") And ServiceDesc.ToString.Contains("Wash"))) Or _
' ((c.WCode.Contains("8002") And c.ProvidedServiceName.Contains("Alleg")) Or (hdnWCode.Value.Contains("8002") And ServiceDesc.ToString.Contains("Alleg"))) Or _
' ((c.WCode.Contains("7258") And c.ProvidedServiceName.Contains("Beaver")) Or (hdnWCode.Value.Contains("7258") And ServiceDesc.ToString.Contains("Beaver"))) Or _
' ((c.WCode.Contains("7265") And c.ProvidedServiceName.Contains("Alleg")) Or (hdnWCode.Value.Contains("7265") And ServiceDesc.ToString.Contains("Alleg"))) Then
' returnValue = True
' Else
' returnValue = False
' lblSubmitStatus.Text = "There was a problem updating this service. Service not added. Time overlaps with a previously entered service."
' 'Exit For
' End If
' Else
' returnValue = True
' If lblSubmitStatus.Text <> "" Then
' Else
' lblSubmitStatus.Text = ""
' End If
' End If
' Else
' returnValue = True
' End If
'Next
Return returnValue
End Function
Protected Function SelectNewBID(ByVal dates As DateTime) As Integer
Dim mth As String = dates.Month
Dim yr As String = dates.Year
Dim bm As New BillingMonths
Dim lst As List(Of BillingMonths) = bm.SelectBillingMonths(, mth, yr)
SelectNewBID = 0
For Each b As BillingMonths In lst
SelectNewBID = b.BID
Next
Return SelectNewBID
End Function
Private Function CheckDate(ByVal datecheck As String) As Boolean
Dim lst As New List(Of AssignedPermission.PermissionType)
lst = CType(Session("Permissions"), List(Of AssignedPermission.PermissionType))
If lst.Contains(AssignedPermission.PermissionType.EnterCSOutsideRange) Then
If Convert.ToDateTime(datecheck).Date <= Date.Now.Date Then
Return True
Else
Return False
End If
ElseIf lst.Contains(AssignedPermission.PermissionType.EnterCSThirtyDays) Then
If Convert.ToDateTime(datecheck).Date >= Date.Now.AddDays(-30).Date And Convert.ToDateTime(datecheck).Date <= Date.Now.Date Then
Return True
Else
Return False
End If
Else
If Convert.ToDateTime(datecheck).Date >= Date.Now.AddDays(-10).Date And Convert.ToDateTime(datecheck).Date <= Date.Now.Date Then
Return True
Else
Return False
End If
End If
End Function
Protected Sub txtMileage_TextChanged(sender As Object, e As EventArgs) Handles txtMileage.TextChanged
Dim mileagerate As String = System.Configuration.ConfigurationManager.AppSettings("MileageRate")
Dim total As Decimal = 0
If txtExpense.Enabled Then
total += Convert.ToDecimal(txtExpense.Text)
End If
If txtMileage.Enabled Then
Dim mileageInput As Decimal
If Decimal.TryParse(txtMileage.Text, mileageInput) Then
total += Convert.ToDecimal(mileagerate) * mileageInput
lblMileageTotal.Text = String.Format("${0}", Convert.ToString(total))
Else
lblMileageTotal.Text = "$0"
End If
lblTotal.Text = Convert.ToString(total)
End If
End Sub
End Class
Too much code to look in, save event btnSave_Click is same for Save and Edit or for Edit is there any other event
ASKER
I apologize for not keeping upon this topic. I became overwhelmed at work and forgot all about it. Thank you all for your help.