-
卷
号
卷
内
编
p>
号
密
级
分
类
:
正式
项目编号
:
S
×××-
codeSmith
用户手册
用户使用手册
Version:
项
目
承
担
部
门:
撰
写
人
(签名)
:
完
成
日
期:
本文档
使
用部门:
■主管领导
■项目组
■客户(市场)
■维护人员
■用户
评审负责人
(签名)
:
评
审
日
期:
目
录
1.
目的
.
..................................................
..................................................
..................................................
.............................3
阅读对象
.......................
..................................................
..................................................
.......................................3
1.1
2.
软件概述
.
..................................................
..................................................
..................................................
....................3
功能和特点<
/p>
........................................
..................................................
..................................................
..................3
2.1
3.
软件环境
.
..................................................
..................................................
..................................................
....................3
安装准备
.......................
..................................................
..................................................
.......................................3
3.1
4.
使用指南
.
..................................................
..................................................
..................................................
....................3
CSLA
业务类
.........
..................................................
..................................................
.............................................3
4.1
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
4.1.6
4.2
4.3
4.4
4.5
业务基类
.......................
..................................................
..................................................
..............................3
业务对象创建
.....................
..................................................
..................................................
.......................3
业务对象获取
.....................
..................................................
..................................................
.......................4
业务对象更新
.....................
..................................................
..................................................
.......................4
业务对象新增
.....................
..................................................
..................................................
.......................5
业务对象删除
.....................
..................................................
..................................................
.......................6
界面层数据绑定
.
< br>............................................... .................................................. .................................................. .9
界面层
DXE
< br>RROR
P
ROVIDER
设置
.......................................
..................................................
............................10
界面层对象修改保存
.
.............................................
..................................................
..........................................10
WCF
服务网站建立
..
..................................................
..................................................
.......................................12
4.5.1
4.5.2
添加
WCF
服务网站
.......
..................................................
..................................................
........................12
模版
.
p>
.........................................
..................................................
...............................................15<
/p>
用户使用手册
codeSmith
用户手册
1.
目的
《用户手册》将向用户介绍
CodeSmith5.2
生成
p>
CSLA3.84C#
代码的使用,并帮助用户迅速安装和运行
p>
该软件。
1.1
阅读对象
本手册的编写对象为期开发部开发人员
2.
软件概述
2.1
功能和特点
3.
软件环境
3.1
安装准备
VS2008
4.
使用指南
4.1 CSLA
业务类
4.1.1
业务基类
ssBa
se
所有可编辑的业务类都要继承的基类
ssListBase
所有可编辑的业务集合类都要继承的基类
lyBa
se
所有只读的业务类都要继承的基类
lyListBa
se
所有只读的业务集合类都要继承的基类
4.1.2
ssBase
4.1.2.1
业务对象创建
p>
[
RunLocal
]
//
在本地执行,提升效率
protected
override
void
DataPortal_Create()
{
using
(BypassPro
pertyChecks)
//
绕过
P
ropertyChanged
事件和用户权限检查,提升效率
{
Guid =
Guid
.NewGuid();
Sbvcode =
;
p>
//
绕过授权检查,并不引发
Proper
tyChanging
、
PropertyChanged
p>
事件。载入值不会
导致验证规则调用
LoadProperty(_ddateProperty, System.
DateTime
.Now)
;
CusGUID =
Guid
.Empty;
ule
s();
//
进行有效性校验,以便一开始就进行一些提醒
p>
}
}
3
用户使用手册
4.1.2.2
业务对象获取
codeSmith
用户手册
///
///
查询发票主表记录
///
///
private
void
DataPortal_Fetch(
SaleBillVouchCriteria
criteria)
{
if
(criteria ==
null
)
return
;
else
{
//<
/p>
使用
ContextManager
管理
数据库连接
//
使用
using
保证代码块内变量在完成后资源释放
//
使用
G
etManager(isDatabaseName:false)
传入连接字符串<
/p>
using
(
var
ctx =
Con
textManager
<
br> 将 LastChange <
br>DataBase <
br>.BuildLinqWhereStatement(ag), <
br>调用子对象 DataPortal <
br>Sys_SetingTemplate // <
br>时间戳
CslaTest
DataContext
>.
GetManager(
ADOHelper
.ConnectionString,
false
))
{
//
获取父对象
var
query =
eQu
ery
SaleBillVouch
>(<
/p>
SaleBillVouch
+
p>
//
根据传入
criteria
参数构建
where
条件字符串
ADOHelper
.BuildL
inqWhereStatement(ag),
//<
/p>
根据传入
criteria
参数构建
p>
LinQ
参数值数组
p>
ADOHelper
.LinqParameters(ag));
var
data =
(
from
p
in
query
select
p).Single();
using
(BypassPropertyChecks)
{
Guid =
Sbvcode = e;
//
日期
型尽量使用
SmartDate
类型,支持空日期及与有效日期
比较
//LoadPropertyConvert
将类型转换后附值
LoadPropertyCon
vert<
SmartDate
,
System.
DateTime
?>(
_ddateProperty, );
CusGUID = D;
//
LastChange
一定要获取
LastChange = y();
//
linq
的
Binary
转换为
byte[]
}
//
获取子对象集
LoadProperty(
_saleBillVouchDetailsProperty,
SaleBillVouchDetailList
.GetSaleBillVouchDetails(y()));
}
}
}
4.1.2.3
业务对象更新
[Transactional(ctionScope)]
protected
override
void
DataPortal_Update()
{
// TODO: update
values
using
(
var
ctx =
4
用户使用手册
codeSmith
用户手册
ContextManager
false
))
{
using
(BypassPropertyChecks)
{
var
data =
new
llVouch();
//
当前对象数据是否有更改
if
(IsSelfDirty)
{
= ReadProperty(_guidProperty);
e =
ReadProperty(_sbvcodeProperty);
p>
//
日期型尽量使用
SmartDate<
/p>
类型,支持空日期及与有效日期比较
//L
oadPropertyConvert
将类型转换后附值
=ReadPropertyConvert
me?>(_ddateProperty);
D =
ReadProperty(_cusGUIDProperty);
ange = LastChange;
//
以修改状态将实体附加到
ntext
(data,
true
);
p>
//
主对象修改保存,一定要将主对象保存后,再做子对象保存
p>
Changes();
//
重新完成后
一定要重新获取
LastChange = y();
}
}
//
更新子对象数据
Children(
this
);
}
}
4.1.2.4
业务对象新增
//
事务
标记,该方法在一个事务里执行
[
Tra
nsactional
(
TransactionalType
s
.TransactionScope)]
protected
override
void
DataPortal_Insert()
{
using
(
var
ctx=
ContextM
anager
CslaTestDataC
ontext
>.GetManager(
ADOHelper
.ConnectionString,
false
))
{
using
(BypassPropertyChecks)
{
var
data =
new
DALLinq.
SaleBillVouch
();
= ReadProperty(_guidProper
ty);//
发票主表
ID
e =
ReadProperty(_sbvcodeProperty);//
发票号
= ReadPropertyConvert<
SmartDate
,
System.
DateTime
?>(_ddateProperty);
D = ReadProperty(_cusGUIDPr
operty);//
客户编码
OnS
ubmit(data);//
新增事务
//
主对象保存后再做子对象集的更新
Changes();
//<
/p>
重新完成后
LastChange
一定要
重新获取
LastChange =
y();
}
p>
Children(
this
);//
p>
更新发票子表
5
用户使用手册
}
}
4.1.2.5
业务对象删除
codeSmith
用户手册
[
Transactional
p>
(
TransactionalTypes
.TransactionScope)]
private
void
DataPortal_Delete(
SaleBillVouchCriteria
criteria)
{
// TODO: delete
values
if
(criteria ==
null
)
{
return
;
}
else
{
//
清除子对象数据集
this
.();
//
子对象集删除后再做父对象的删除
Children(
this
);
using
(
var
ctx =
Contex
tManager
CslaTestDat
aContext
>.GetManager(
ADOHelp
er
.ConnectionString,
false
))
{
var
query =
eQu
ery
SaleBillVouch
>(<
/p>
from SaleBillVouch
+
ADOHelper
.BuildWhereStatement(ag),
p>
ADOHelper
.LinqParameters(ag));
var
data =
(
from
p
in
query
select
p).Single();
//
父对象删除
OnSubmit(data);
Changes();
}
}
}
6
用户使用手册
4.1.3
ssListBase
codeSmith
用户手册
4.1.3.1
集合业务对象获取
///
///
查询设置列表记录
///
///
private
void
DataPortal_Fetch(
SetingTemplateCriteria
criteria)
{
if
(criteria ==
null
)
return
;
RaiseListChangedEvents =
fal
se
;
//
关闭
ListChange
事件
using
(
var
ctx =
Contex
tManager
KDSystemDa
taContext
>.GetManager(DataBase.
.KDSystem))
{
var
query =
p>
eQuery
Sys_SetingTemp
late
>(
Sys_SetingT
emplate
+
ADOHelper
ADOHel
per
.LinqParameters(ag));
var
data =
from
p
in
query
select
SetingTemp
late
.GetByLinq(p);
//
Get
方法
p>
this
.AddRange(data);
//
将子对象集加入到
List
对象
}
RaiseListChangedEvents =
tru
e
;
//
恢复
ListChange
事件
}
///
///
根据列表父传入
Linq
对象获取子对
象
///
///
///
internal
static
SetingTemplate
GetByLinq(se.
Sys_SetingTemplate
p)
{
return
.FetchChild<
Seti
ngTemplate
>(p);
//
一定要通过
DataPortal
的
F
etch
方法获
取,以保证获取对象状态
IsDirty
为
True
}
[
Run
Local
]
//
代码本地
(
服务器端
)
运行
private
void
Child_Fetch(se.
childData)
{
LastChanged = y();
一定要获取
LastChanged
LoadProperty(_gidProperty,
);
LoadProperty(_setingTypeProperty,
Type);
LoadProperty(_settingDescProperty,
gDesc);
LoadProperty(_settingNameProperty,
gName);
LoadProperty(_defaultValueProperty,
tValue);
}
4.1.3.2
集合业务对象重新
父集合对象代码:
protected
override
void
DataPortal_Update()
//
重写
DataPortal_Update
方法
{
Chi
ld_Update(
this
);
/
/
重新子对象
}
子对象代码
7
-
-
-
-
-
-
-
-
-
上一篇:OpenVPN服务端配置
下一篇:常见手术英语名称讲解学习