Guest User

Untitled

a guest
Jan 22nd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. void RunTransaction(void Function(...))
  2. {
  3. using (var manager = new NHibernateManager())
  4. {
  5. var session = manager.GetSession();
  6. using (var transaction = session.BeginTransaction())
  7. {
  8. Function();
  9. transaction.Commit();
  10. }
  11. }
  12. }
  13.  
  14. void RunTransaction(System.Action anAction)
  15. {
  16. //...
  17. anAction();
  18. //...
  19. }
  20.  
  21. void SomeMethod()
  22. {
  23. }
  24.  
  25. RunTransaction(SomeMethod);
  26. RunTransaction(() => { /* any code */ });
  27.  
  28. public delegate void TransactionParticipant();
  29.  
  30. public void ExecuteInTransaction(Action fn)
  31. {
  32. // ...
  33. fn();
  34. // ...
  35. }
  36.  
  37. ExecuteInTransaction(() => Edit(editModel, uploadedImage));
  38.  
  39. public delegate void TransactionParticipant(NHibernateSession session);
  40.  
  41. fn(session);
  42.  
  43. ExecuteInTransaction(s => Edit(s, editModel, uploadedImage));
  44.  
  45. void RunTransaction()//тут указывать параметром void_функцию незачем
  46. {
  47. using (var manager = new NHibernateManager())
  48. {
  49. var session = manager.GetSession();
  50. using (var transaction = session.BeginTransaction())
  51. {
  52. Function();//!ф-ия будет вызываться просто если её "видно"
  53. transaction.Commit();
  54. }
  55. }
  56. }
Add Comment
Please, Sign In to add comment