Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Shared Sub Save(TaskSession As TaskSession)
- Using db As New StaffAbsenceEntities
- If TaskSession.JobTaskSessionID = 0 Then
- db.TaskSessions.Add(TaskSession)
- Else
- Update(TaskSession, db)
- End If
- db.SaveChanges()
- End Using
- End Sub
- Private Shared Sub Update(TaskSession As TaskSession, ByRef db As StaffAbsenceEntities)
- Dim oldAbsence = db.TaskSessions.Find(TaskSession.JobTaskSessionID)
- For Each p In TaskSession.GetType.GetProperties
- If p.Name = "JobTaskSessionID" Then Continue For 'Avoid primary key or any damned entity property!
- If p.PropertyType.Name.Contains("Nullable") Then
- If Not Nullable.Equals(p.GetValue(TaskSession), p.GetValue(oldAbsence)) Then p.SetValue(oldAbsence, p.GetValue(TaskSession))
- Else
- If p.GetValue(TaskSession) <> p.GetValue(oldAbsence) Then p.SetValue(oldAbsence, p.GetValue(TaskSession))
- End If
- Next
- End Sub
- End Class
- Partial Class StaffAbsence
- Public Shared Sub Save(staffabsence As StaffAbsence)
- Using db As New StaffAbsenceEntities
- If staffabsence.AbsenceID = 0 Then
- db.StaffAbsences.Add(staffabsence)
- Else
- Update(staffabsence, db)
- End If
- db.SaveChanges()
- End Using
- End Sub
- Private Shared Sub Update(staffabsence As StaffAbsence, ByRef db As StaffAbsenceEntities)
- Dim oldAbsence = db.StaffAbsences.Find(staffabsence.AbsenceID)
- For Each p In staffabsence.GetType.GetProperties
- If p.Name = "AbsenceID" Then Continue For 'Avoid primary key or any damned entity property!
- If p.PropertyType.Name.Contains("Nullable") Then
- If Not Nullable.Equals(p.GetValue(staffabsence), p.GetValue(oldAbsence)) Then p.SetValue(oldAbsence, p.GetValue(staffabsence))
- Else
- If p.GetValue(staffabsence) <> p.GetValue(oldAbsence) Then p.SetValue(oldAbsence, p.GetValue(staffabsence))
- End If
- Next
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement