Skip to content

Instantly share code, notes, and snippets.

@CodeHeight
Created April 20, 2018 20:40
Show Gist options
  • Save CodeHeight/84a8aae3fe5b504ee7619a827bb93abc to your computer and use it in GitHub Desktop.
Save CodeHeight/84a8aae3fe5b504ee7619a827bb93abc to your computer and use it in GitHub Desktop.
Multiple List objects in One object
Namespace Models
Public Class SkeletonOne
Public Property Id As String
Public Property Abbreviation As String
Public Property Date As String
End Class
Public Class SkeletonTwo
Public Property Id As String
Public Property Abbreviation As String
Public Property Date As String
Public Property Notes As String
End Class
Public Class SkeletonThree
Public Property Id As String
Public Property Notes As String
End Class
'Special class to encapsulate all data for Skeletons
Public Class SkeletonModel
Public Property _skeletonOne As List(Of SkeletonOne)
Public Property _skeletonTwo As List(Of SkeletonTwo)
Public Property _skeletonThree As List(Of SkeletonThree)
End Class
End Namespace
Partial Class Skeleton_SkeletonHistory
Inherits System.Web.UI.Page
Dim _skeletonService As New SkeletonService
Dim skeletonId As String
Dim count As Integer
'First: load Object
Dim _skeletons As New Models.SkeletonModel
_skeletons = _skeletonService.GetAllSkeletons(skeletonId)
'Now use LINQ to query objects
count = _skeletons._skeletonOne.Where(Function(x) x.Id = 12345).Count()
If Not (count = 0) Then
For value As Integer = 0 To count - 1
Dim skeleton_one As New Models.SkeletonOne
Dim skeleton_two As New Models.SkeletonTwo
skeleton_one = _skeletons._skeletonOne.Where(Function(x) x.Id = 12345)(value)
If Not skeleton_one Is Nothing Then
skeleton_two = _skeletons._skeletonTwo.FirstOrDefault(Function(x) x.Id = skeleton_one.Id And Convert.ToDateTime(x.Date) = Convert.ToDateTime(skeleton_one.Date))
If Not skeleton_two Is Nothing Then
litBuildTree.Text = litBuildTree.Text + "<li data-jstree='{&quot;icon&quot; : &quot;fa fa-circle &quot; }'><a href='../skeleton/skeleton_details.aspx?id=" & skeletonId & "&skeleton1=" & skeleton_one.Id & "&skeletondate=" & Convert.ToDateTime(skeleton_one.Date).ToString("MM/dd/yyyy") & "'><span style='color:red'>" & skeleton_one.Abbreviation & "</span>&nbsp;<sup>prime</sup> (" & Convert.ToDateTime(skeleton_one.Date).ToString("MM/dd/yyyy") & ")</a></li>"
Else
litBuildTree.Text = litBuildTree.Text + "<li data-jstree='{&quot;icon&quot; : &quot;fa fa-circle &quot; }'><a href='../skeleton/skeleton_details.aspx?id=" & skeletonId & "&skeleton1=" & skeleton_one.Id & "&skeletondate=" & Convert.ToDateTime(skeleton_one.Date).ToString("MM/dd/yyyy") & "'><span style='color:blue'>" & skeleton_one.Abbreviation & "</span>&nbsp;<sup>prime</sup> (" & Convert.ToDateTime(skeleton_one.Date).ToString("MM/dd/yyyy") & ")</a></li>"
End If
End If
Next
End If
litBuildTree.Text = litBuildTree.Text & "</ul></li>"
End Class
Public Class SkeletonRepository
Dim oraconn As OracleConnection
Dim oracmd As OracleCommand
Dim constring As String = ConnectionStrings.GetConnection().ToString()
Dim dr As OracleDataReader
Function GetSkeleton(ByVal skeletonId As Integer) As PatientVaccineHistoryChart
Dim _skeletons As New SkeletonModel
Dim skeleton_one As New List(Of SkeletonOne)
Dim skeleton_two As New List(Of SkeletonTwo)
Dim skeleton_three As New List(Of SkeletonThree)
oraconn = New OracleConnection(constring)
Dim get_skeletonOne As OracleCommand
Dim get_skeletonTwo As OracleCommand
Dim get_skeletonThree As OracleCommand
Try
oraconn.Open()
get_skeletonOne = New OracleCommand("oracledb.p_skeletons.get_skeleton_one", oraconn)
get_skeletonOne.CommandType = CommandType.StoredProcedure
get_skeletonOne.Parameters.Add(New OracleParameter("p_skeleton_id", OracleDbType.Int32, 10)).Direction = ParameterDirection.Input
get_skeletonOne.Parameters("p_skeleton_id").Value = skeletonId
get_skeletonOne.Parameters.Add(New OracleParameter("p_err_code", OracleDbType.Int32, ParameterDirection.Output))
get_skeletonOne.Parameters.Add("p_err_msg", OracleDbType.Varchar2, 250).Direction = ParameterDirection.Output
get_skeletonOne.Parameters.Add(New OracleParameter("p_skeleton_cursor", OracleDbType.RefCursor, ParameterDirection.Output))
get_skeletonOne.ExecuteNonQuery()
dr = DirectCast(get_skeletonOne.Parameters("p_skeleton_cursor").Value, Types.OracleRefCursor).GetDataReader()
While dr.Read
Dim skeleton As New SkeletonOne
skeleton.Id = dr("skeleton_id").ToString
skeleton.Abbreviation = dr("skeleton_abbr").ToString
skeleton.Date = dr("skeleton_date").ToString
skeleton_one.Add(skeleton)
End While
dr.Close()
get_skeletonOne.Dispose()
get_skeletonTwo = New OracleCommand("oracledb.p_skeletons.get_skeleton_two", oraconn)
get_skeletonTwo.CommandType = CommandType.StoredProcedure
get_skeletonTwo.Parameters.Add(New OracleParameter("p_skeleton_id", OracleDbType.Int32)).Direction = ParameterDirection.Input
get_skeletonTwo.Parameters("p_skeleton_id").Value = skeletonId
get_skeletonTwo.Parameters.Add("p_err_code", OracleDbType.Int32, ParameterDirection.Output)
get_skeletonTwo.Parameters.Add("p_err_desc", OracleDbType.Varchar2, 250).Direction = ParameterDirection.Output
get_skeletonTwo.Parameters.Add(New OracleParameter("p_skeleton_cursor", OracleDbType.RefCursor, ParameterDirection.InputOutput))
get_skeletonTwo.ExecuteNonQuery()
dr = DirectCast(get_skeletonTwo.Parameters("p_skeleton_cursor").Value, Types.OracleRefCursor).GetDataReader()
While dr.Read
Dim skeleton As New SkeletonTwo
skeleton.Id = dr("skeleton_id").ToString
skeleton.Date = dr("skeleton_date").ToString
skeleton.Abbreviation = dr("skeleton_abbr").ToString
skeleton.Notes = dr("skeleton_Notes").ToString
skeleton_two.Add(skeleton)
End While
dr.Close()
get_skeletonTwo.Dispose()
get_skeletonThree = New OracleCommand("oracledb.p_skeletons.get_skeleton_three", oraconn)
get_skeletonThree.CommandType = CommandType.StoredProcedure
get_skeletonThree.Parameters.Add(New OracleParameter("p_patient_id", OracleDbType.Int32, 10)).Direction = ParameterDirection.Input
get_skeletonThree.Parameters("p_patient_id").Value = patientId
get_skeletonThree.Parameters.Add(New OracleParameter("p_err_code", OracleDbType.Int32, ParameterDirection.Output))
get_skeletonThree.Parameters.Add("p_err_msg", OracleDbType.Varchar2, 250).Direction = ParameterDirection.Output
get_skeletonThree.Parameters.Add(New OracleParameter("p_skeleton_cursor", OracleDbType.RefCursor, ParameterDirection.InputOutput))
get_skeletonThree.ExecuteNonQuery()
dr = DirectCast(get_skeletonThree.Parameters("p_skeleton_cursor").Value, Types.OracleRefCursor).GetDataReader()
While dr.Read
Dim skeleton As New SkeletonThree
SkeletonThree.Id = dr("skeleton_id").ToString
SkeletonThree.Notes = dr("skeleton_Notes").ToString
skeleton_three.Add(Skeleton)
End While
dr.Close()
get_skeletonThree.Dispose()
_skeletons._skeletonOne = skeleton_one
_skeletons._skeletonTwo = skeleton_two
_skeletons._skeletonThree = skeleton_three
Return _skeletons
Catch ex As OracleException
Throw
Finally
If oraconn.State = ConnectionState.Open Then
oraconn.Close()
End If
oraconn.Dispose()
End Try
End Function
End Class
Public Class SkeletonService
Dim _skeletonRepository As New SkeletonRepository
Public Function GetAllSkeletons(ByVal Id As String) As Models.SkeletonModel
Dim _skeletonModel As New SkeletonModel
If Id = "" Then
Id = "0"
End If
_skeletonModel = _skeletonRepository.GetSkeleton(CInt(Id))
Return skeletonModel
End Function
End Class
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment