1 // Copyright 2004-2007 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 TestSiteARSupport
.Controllers
17 using Castle
.Components
.Binder
;
18 using Castle
.MonoRail
.ActiveRecordSupport
;
19 using Castle
.MonoRail
.Framework
;
21 using TestSiteARSupport
.Model
;
24 public class PersonUserController
: ARSmartDispatcherController
28 PropertyBag
["user"] = new PersonUser();
31 [AccessibleThrough(Verb
.Post
)]
32 public void Insert([ARDataBind("user", AutoLoad
= AutoLoadBehavior
.OnlyNested
)] PersonUser user
)
34 ErrorList errorList
= (ErrorList
)BoundInstanceErrors
[user
];
36 PropertyBag
.Add("errorlist", errorList
);
38 if (errorList
.Count
== 0)
42 PropertyBag
.Add("user", user
);
46 public void Edit([ARFetch("id", false, true)] PersonUser user
)
48 PropertyBag
.Add("user", user
);
51 [AccessibleThrough(Verb
.Post
)]
52 public void Update([ARDataBind("user", AutoLoad
= AutoLoadBehavior
.Always
)] PersonUser user
)
54 ErrorList errorList
= (ErrorList
)BoundInstanceErrors
[user
];
56 PropertyBag
.Add("errorlist", errorList
);
58 if (errorList
.Count
== 0)
62 PropertyBag
.Add("user", user
);
66 public void RemoveConfirm([ARFetch("id", false, true)] PersonUser user
)
68 PropertyBag
.Add("user", user
);
71 [AccessibleThrough(Verb
.Post
)]
72 public void Delete([ARDataBind("user", AutoLoad
= AutoLoadBehavior
.Always
)] PersonUser user
)