New test.
[mono.git] / mcs / class / System.Transactions / System.Transactions / TransactionInformation.cs
1 //
2 // TransactionInformation.cs
3 //
4 // Author:
5 //      Atsushi Enomoto  <atsushi@ximian.com>
6 //
7 // (C)2005 Novell Inc,
8 //
9
10 #if NET_2_0
11
12 namespace System.Transactions
13 {
14         public class TransactionInformation
15         {
16                 string local_id;
17                 Guid dtcId = Guid.Empty;
18                 DateTime creation_time;
19                 TransactionStatus status;
20
21                 internal TransactionInformation ()
22                 {
23                         status = TransactionStatus.Active;
24                         creation_time = DateTime.Now.ToUniversalTime ();
25                         local_id = Guid.NewGuid ().ToString () + ":1";
26                 }
27
28                 private TransactionInformation (TransactionInformation other)
29                 {
30                         local_id = other.local_id;
31                         dtcId = other.dtcId;
32                         creation_time = other.creation_time;
33                         status = other.status;
34                 }
35
36                 public DateTime CreationTime {
37                         get { return creation_time; }
38                 }
39
40                 public Guid DistributedIdentifier {
41                         get { return dtcId; }
42                         internal set { dtcId = value; }
43                 }
44
45                 public string LocalIdentifier {
46                         get { return local_id; }
47                 }
48
49                 public TransactionStatus Status {
50                         get { return status; }
51                         internal set { status = value; }
52                 }
53
54                 internal TransactionInformation Clone (
55                         TransactionInformation other)
56                 {
57                         return new TransactionInformation (other);
58                 }
59         }
60 }
61
62 #endif