1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle
.Facilities
.NHibernateIntegration
.Tests
.Transactions
17 using Castle
.Services
.Transaction
;
21 public class OrderDao2
: NHibernateGenericDao
23 private readonly ISessionManager sessManager
;
25 public OrderDao2(ISessionManager sessManager
) : base(sessManager
, "db2")
27 this.sessManager
= sessManager
;
30 [Transaction(Distributed
= true)]
31 public virtual Order
Create(float val
)
33 using(ISession session
= sessManager
.OpenSession("db2"))
35 NUnit
.Framework
.Assert
.IsNotNull(session
.Transaction
);
37 Order order
= new Order();
45 [Transaction(Distributed
= true)]
46 public virtual void Update(Order order
, float newval
)
48 using(ISession session
= sessManager
.OpenSession("db2"))
50 NUnit
.Framework
.Assert
.IsNotNull(session
.Transaction
);
54 session
.Update(order
);
58 [Transaction(Distributed
= true)]
59 public virtual void Delete(int orderId
)
61 using(ISession session
= sessManager
.OpenSession("db2"))
63 NUnit
.Framework
.Assert
.IsNotNull(session
.Transaction
);
65 Order order
= (Order
) session
.Load(typeof(Order
), orderId
);
67 session
.Delete(order
);