Trent Adams
asked on
ASP TEXTBOX LOSING VALUE
So when running this application there is some inline VB code:
<td><asp:Label ID="lblStartTime" runat="server" Text='<%# Convert.ToDateTime(Eval("StartTime")).ToString("hh:mm tt") %>' /></td>
This is where it is crashing and I cannot seem to find out why. The StartTime has a value until it gets to this point and I am getting invalid DateTIme string because the string is empty "". I am out of options and have done a lot of debugging with break points etc. Â Then there is a corresponding piece of code:
cb.StartTime = IIf(dr("StartTime") Is DBNull.Value, "", dr("StartTime"))
and for some reason entries from the textboxes are not being pushed to the DB and are set to NULL.
ASKER
Full Page Code:
Imports System.Data.SqlClient
Imports System.Web.Services
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
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack() Then
SetPage()
btnSave.Attributes.Add("onclick", "this.disabled=true;" + ClientScript.GetPostBackEventReference(btnSave, "").ToString())
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.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
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
'Determines if T & E entries exist for user. If they
'do not exist within a given date range "Today back 7 days"
'they will be required to only enter T & E for that date range.
Private Sub CheckForEntries()
End Sub
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 txtDate.Text <> "" Then
txtMileage.Text = ""
txtExpense.Text = ""
panelMileageTotal.Visible = False
lblMileageTotal.Text = "$0"
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
Private Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
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
rec.Created = DateTime.Now
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 = 0
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 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()
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 <> "" Or txtExpense.Text <> "" Then
trExpense.Visible = True
End If
txtStartHour.Enabled = True
txtStartMinute.Enabled = True
lstStartAMPM.Enabled = True
txtEndHour.Enabled = True
txtEndMinute.Enabled = True
lstnEndAMPM.Enabled = True
lstnStartAMPM.Enabled = True
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
'Added 08-07-2017 by Trent Adams
'Checks to see if the users LockStatus is True or False (1 or 0).
'If the users LockStatus is 1, then the user is locked down and cannot
'enter time for the current week until they enter time from the previous week.
'This method returns a boolean value.
Private Function GetUserLockStatus(userID As Integer) As Boolean
'Get current day of week
'Dim currentDayOfWeek = WeekdayName(1)
Dim StoredProcedureName As String = StoredProcedure.Name.spr_CheckTimeEntryStatus.ToString()
Dim helper As New DataBaseHelper(StoredProcedureName)
Dim _param As SqlParameter() = {
New SqlParameter("UserID", userID, SqlDbType.Int )
}
End Function
End Class
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I discovered that the issue was within a stored procedure and not within ASP.
what is cb?
Open in new window
will fail if Eval("StartTime") is null or ""
maybe this will work
Open in new window
or
Open in new window