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
.ActiveRecordIntegration
.Tests
.Model
19 using Castle
.Services
.Transaction
;
23 public class BlogService
25 [Transaction(TransactionMode
.Requires
)]
26 public virtual Blog
Create(String name
, String author
)
28 Blog blog
= new Blog();
35 [Transaction(TransactionMode
.Requires
)]
36 public virtual Blog
CreateAndThrowException(String name
, String author
)
38 Blog blog
= new Blog();
43 throw new Exception("Doh!");
46 [Transaction(TransactionMode
.Requires
)]
47 public virtual Blog
CreateAndThrowException2(String name
, String author
)
51 throw new Exception("Doh!");
54 [Transaction(TransactionMode
.Requires
)]
55 public virtual Blog
CreateAndThrowException3(String name
, String author
)
59 Blog
.FindAll(); // will it flush?
61 throw new Exception("Doh!");
64 [Transaction(TransactionMode
.Requires
)]
65 public virtual void ModifyAndThrowException(Blog blog
, String newName
)
71 throw new Exception("Doh!");
74 [Transaction(TransactionMode
.Requires
)]
75 public virtual void ModifyAndThrowException2(Blog blog
, String newName
)
79 throw new Exception("Doh!");