Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. Public Shared Sub Save(TaskSession As TaskSession)
  2. Using db As New StaffAbsenceEntities
  3. If TaskSession.JobTaskSessionID = 0 Then
  4. db.TaskSessions.Add(TaskSession)
  5. Else
  6. Update(TaskSession, db)
  7. End If
  8. db.SaveChanges()
  9. End Using
  10. End Sub
  11.  
  12. Private Shared Sub Update(TaskSession As TaskSession, ByRef db As StaffAbsenceEntities)
  13. Dim oldAbsence = db.TaskSessions.Find(TaskSession.JobTaskSessionID)
  14. For Each p In TaskSession.GetType.GetProperties
  15. If p.Name = "JobTaskSessionID" Then Continue For 'Avoid primary key or any damned entity property!
  16. If p.PropertyType.Name.Contains("Nullable") Then
  17. If Not Nullable.Equals(p.GetValue(TaskSession), p.GetValue(oldAbsence)) Then p.SetValue(oldAbsence, p.GetValue(TaskSession))
  18. Else
  19. If p.GetValue(TaskSession) <> p.GetValue(oldAbsence) Then p.SetValue(oldAbsence, p.GetValue(TaskSession))
  20. End If
  21. Next
  22. End Sub
  23. End Class
  24.  
  25. Partial Class StaffAbsence
  26. Public Shared Sub Save(staffabsence As StaffAbsence)
  27. Using db As New StaffAbsenceEntities
  28. If staffabsence.AbsenceID = 0 Then
  29. db.StaffAbsences.Add(staffabsence)
  30. Else
  31. Update(staffabsence, db)
  32. End If
  33. db.SaveChanges()
  34. End Using
  35. End Sub
  36.  
  37. Private Shared Sub Update(staffabsence As StaffAbsence, ByRef db As StaffAbsenceEntities)
  38. Dim oldAbsence = db.StaffAbsences.Find(staffabsence.AbsenceID)
  39. For Each p In staffabsence.GetType.GetProperties
  40. If p.Name = "AbsenceID" Then Continue For 'Avoid primary key or any damned entity property!
  41. If p.PropertyType.Name.Contains("Nullable") Then
  42. If Not Nullable.Equals(p.GetValue(staffabsence), p.GetValue(oldAbsence)) Then p.SetValue(oldAbsence, p.GetValue(staffabsence))
  43. Else
  44. If p.GetValue(staffabsence) <> p.GetValue(oldAbsence) Then p.SetValue(oldAbsence, p.GetValue(staffabsence))
  45. End If
  46. Next
  47. End Sub
  48. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement