class= " lineNumbers " de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
|
class= de
>private " de l'id= " codeSnippet787896 de 1 && rame [0]. Tableau ! = nulle)
Entité = rangées [0]. Tableau ;
autrement
retour ;
si (entité de && de vaeCollection.IsCollectionValid ! = nulle)
{
ConcurrencyError booléen = faux ;
utilisation (solides totaux de TransactionScope = ((nulle de == de this.ParentTransaction) ? nouveau TransactionScope () : nouveau TransactionScope (this.ParentTransaction)))
{
essai
{
si (nulle de == de this.ParentTransaction)
this.ParentTransaction = Transaction.Current.DependentClone (DependentCloneOption.BlockCommitUntilComplete) ;
si (== UpdateAction.Update d'UpdateAction)
{
si (l'entité est ISaveable || L'entité est ISaveMultipleRows)
{
si (l'entité est && d'ISaveMultipleRows Rows.Length > 1)
(Entité (d'ISaveMultipleRows)). Économiser (rangées) ;
autrement
(Entité (d'ISaveable)). Économiser () ;
}
}
autrement si (== UpdateAction.Delete d'UpdateAction)
{
si (l'entité est IDeleteable || L'entité est IDeleteMultipleRows)
{
si (l'entité est && d'IDeleteMultipleRows Rows.Length > 1)
{
(Entité (d'IDeleteMultipleRows)) .DeleteObject (rangées) ;
si (DoCommit)
(Entité (d'IDeleteMultipleRows)) .CommitDeletedObject (rangées) ;
}
autrement
{
(Entité (d'IDeleteable)) .DeleteObject () ;
si (DoCommit)
(Entité (d'IDeleteable)) .CommitDeletedObject () ;
}
}
}
Ts.Complete () ;
}
crochet (TransactionAbortedException ex)
{
si (this.DatabaseUpdateError ! = nulle)
{
ficeler le message = « Fehler \ r \ n » ;
si (ex.InnerException ! = nulle)
Message += ex.InnerException.Message + « \ r \ nStacktrace : » + ex.InnerException.StackTrace ;
autrement
Message += ex. Message + « \ r \ nStacktrace : » + ex.StackTrace ;
this.DatabaseUpdateError (nouvel ExceptionEventArgs (message));
}
autrement si (ex.InnerException ! = nulle)
jet ex.InnerException ;
autrement
jet ex ;
}
crochet (dex de DBConcurrencyException)
{
si (ConcurrencyErrorOccured ! = nulle)
this.ConcurrencyErrorOccured (dex. Rangée, nouvel EventArgs ());
//ConcurrencyError = rectifient ;
Ts.Dispose () ;
retour ;
}
}
}
}
|