Guest User

Untitled

a guest
Jan 22nd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 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. public delegate void TransactionParticipant();
  15.  
  16. public void RunTransaction(Action fn)
  17. {
  18. // ...
  19. fn();
  20. // ...
  21. }
  22.  
  23. RunTransaction(() => Edit(editModel, uploadedImage));
  24.  
  25. public delegate void TransactionParticipant(NHibernateSession session);
  26.  
  27. fn(session);
  28.  
  29. RunTransaction(s => Edit(s, editModel, uploadedImage));
  30.  
  31. void RunTransaction(System.Action anAction)
  32. {
  33. //...
  34. anAction();
  35. //...
  36. }
  37.  
  38. void SomeMethod()
  39. {
  40. }
  41.  
  42. RunTransaction(SomeMethod);
  43. RunTransaction(() => { /* any code */ });
  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