<?xml version="1.0"?>
<Entity>
	<Name>WBS</Name>
	<Type>Single</Type>
	<Table>
		<Name>WBS</Name>
		<Column>
			<Name>WBSCode</Name>
			<DataType>System.String</DataType>
			<IsKey>true</IsKey>
			<IsAllowNull>false</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>ProjectCode</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>TaskName</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>OutLineNumber</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>SortID</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>ParentCode</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>Deep</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>FullCode</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>400</ColumnSize>
		</Column>
		<Sql>
			<Name>Select</Name>
			<String> select  WBSCode, ProjectCode, TaskName, OutLineNumber, SortID, ParentCode, Deep, FullCode from WBS where  WBSCode=@WBSCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@WBSCode</Name>
				<Column>WBSCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectAll</Name>
			<String> select  WBSCode, ProjectCode, TaskName, OutLineNumber, SortID, ParentCode, Deep, FullCode from WBS</String>
			<CommandType>Text</CommandType>
		</Sql>
		<Sql>
			<Name>Insert</Name>
			<String> Insert into WBS (  WBSCode, ProjectCode, TaskName, OutLineNumber, SortID, ParentCode, Deep, FullCode ) values (  @WBSCode, @ProjectCode, @TaskName, @OutLineNumber, @SortID, @ParentCode, @Deep, @FullCode )</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@WBSCode</Name>
				<Column>WBSCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ProjectCode</Name>
				<Column>ProjectCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@TaskName</Name>
				<Column>TaskName</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@OutLineNumber</Name>
				<Column>OutLineNumber</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@SortID</Name>
				<Column>SortID</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@ParentCode</Name>
				<Column>ParentCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@Deep</Name>
				<Column>Deep</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@FullCode</Name>
				<Column>FullCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>Update</Name>
			<String> Update WBS set ProjectCode=@ProjectCode,TaskName=@TaskName,OutLineNumber=@OutLineNumber,SortID=@SortID,ParentCode=@ParentCode,Deep=@Deep,FullCode=@FullCode where  WBSCode=@WBSCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@WBSCode</Name>
				<Column>WBSCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ProjectCode</Name>
				<Column>ProjectCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@TaskName</Name>
				<Column>TaskName</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@OutLineNumber</Name>
				<Column>OutLineNumber</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@SortID</Name>
				<Column>SortID</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@ParentCode</Name>
				<Column>ParentCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@Deep</Name>
				<Column>Deep</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@FullCode</Name>
				<Column>FullCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>Delete</Name>
			<String> Delete from WBS  where  WBSCode=@WBSCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@WBSCode</Name>
				<Column>WBSCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectByProjectCode</Name>
			<String> select  WBSCode, ProjectCode, TaskName, OutLineNumber, SortID, ParentCode, Deep, FullCode , (select count(*) from wbs WebChilds where ParentCode=WBS.WBSCode) as ChildNodesCount  from WBS where  ProjectCode=@ProjectCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ProjectCode</Name>
				<Column>ProjectCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectByWBSCode</Name>
			<String> select  WBSCode, ProjectCode, TaskName, OutLineNumber, SortID, ParentCode, Deep , FullCode , (select count(*) from wbs WebChilds where ParentCode=WBS.WBSCode) as ChildNodesCount from WBS where ProjectCode=@ProjectCode and WBSCode=@WBSCode </String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ProjectCode</Name>
				<Column>ProjectCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@WBSCode</Name>
				<Column>WBSCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectByParent</Name>
			<String> select   WBSCode, ProjectCode, TaskName, OutLineNumber, SortID, ParentCode, Deep, FullCode  from WBS where ParentCode=@ParentCode </String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ParentCode</Name>
				<Column>ParentCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
	</Table>
</Entity>