88 lines
1.6 KiB
C#
88 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using Csla;
|
|
|
|
namespace Templates
|
|
{
|
|
[Serializable()]
|
|
class ReadOnlyRoot : ReadOnlyBase<ReadOnlyRoot>
|
|
{
|
|
#region Business Methods
|
|
|
|
// TODO: add your own fields, properties and methods
|
|
private int _id;
|
|
|
|
public int Id
|
|
{
|
|
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
|
get
|
|
{
|
|
CanReadProperty(true);
|
|
return _id;
|
|
}
|
|
}
|
|
|
|
protected override object GetIdValue()
|
|
{
|
|
return _id;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Authorization Rules
|
|
|
|
protected override void AddAuthorizationRules()
|
|
{
|
|
// TODO: add authorization rules
|
|
//AuthorizationRules.AllowRead("", "");
|
|
}
|
|
|
|
public static bool CanGetObject()
|
|
{
|
|
// TODO: customize to check user role
|
|
//return ApplicationContext.User.IsInRole("");
|
|
return true;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Factory Methods
|
|
|
|
public static ReadOnlyRoot GetReadOnlyRoot(int id)
|
|
{
|
|
return DataPortal.Fetch<ReadOnlyRoot>(new Criteria(id));
|
|
}
|
|
|
|
private ReadOnlyRoot()
|
|
{ /* require use of factory methods */ }
|
|
|
|
#endregion
|
|
|
|
#region Data Access
|
|
|
|
[Serializable()]
|
|
private class Criteria
|
|
{
|
|
private int _id;
|
|
|
|
public int Id
|
|
{
|
|
get { return _id; }
|
|
}
|
|
public Criteria(int id)
|
|
{
|
|
_id = id;
|
|
}
|
|
}
|
|
|
|
private void DataPortal_Fetch(Criteria criteria)
|
|
{
|
|
// TODO: load values
|
|
_id = criteria.Id;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|