<?xml version="1.0"?>
<Entity>
	<Name>DocumentType</Name>
	<Type>Single</Type>
	<Table>
		<Name>DocumentType</Name>
		<Column>
			<Name>DocumentTypeCode</Name>
			<DataType>System.String</DataType>
			<IsKey>true</IsKey>
			<IsAllowNull>false</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>TypeName</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</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>SortID</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Column>
			<Name>Description</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>800</ColumnSize>
		</Column>
		<Column>
			<Name>FullCode</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>800</ColumnSize>
		</Column>
		<Column>
			<Name>Fixed</Name>
			<DataType>System.Int32</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>4</ColumnSize>
		</Column>
		<Sql>
			<Name>Select</Name>
			<String> select  DocumentTypeCode, TypeName, ParentCode, Deep, SortID, Description, FullCode, Fixed from DocumentType where  DocumentTypeCode=@DocumentTypeCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@DocumentTypeCode</Name>
				<Column>DocumentTypeCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectAll</Name>
			<String> select  DocumentTypeCode, TypeName, ParentCode, Deep, SortID, Description, FullCode, Fixed, ( Select count(*) from DocumentType t2 where t2.ParentCode=DocumentType.DocumentTypeCode  ) as ChildCount from DocumentType</String>
			<CommandType>Text</CommandType>
		</Sql>
		<Sql>
			<Name>Insert</Name>
			<String> Insert into DocumentType (  DocumentTypeCode, TypeName, ParentCode, Deep, SortID, Description, FullCode, Fixed ) values (  @DocumentTypeCode, @TypeName, @ParentCode, @Deep, @SortID, @Description, @FullCode, @Fixed )</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@DocumentTypeCode</Name>
				<Column>DocumentTypeCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@TypeName</Name>
				<Column>TypeName</Column>
				<SqlDbType>VarChar</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>@SortID</Name>
				<Column>SortID</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@Description</Name>
				<Column>Description</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@FullCode</Name>
				<Column>FullCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@Fixed</Name>
				<Column>Fixed</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>Update</Name>
			<String> Update DocumentType set TypeName=@TypeName,ParentCode=@ParentCode,Deep=@Deep,SortID=@SortID,Description=@Description,FullCode=@FullCode,Fixed=@Fixed where  DocumentTypeCode=@DocumentTypeCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@DocumentTypeCode</Name>
				<Column>DocumentTypeCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@TypeName</Name>
				<Column>TypeName</Column>
				<SqlDbType>VarChar</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>@SortID</Name>
				<Column>SortID</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
			<Param>
				<Name>@Description</Name>
				<Column>Description</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@FullCode</Name>
				<Column>FullCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@Fixed</Name>
				<Column>Fixed</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>Delete</Name>
			<String> Delete from DocumentType  where  DocumentTypeCode=@DocumentTypeCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@DocumentTypeCode</Name>
				<Column>DocumentTypeCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectByFixed</Name>
			<String> select  DocumentTypeCode, TypeName, ParentCode, Deep, SortID, Description, FullCode, Fixed, ( Select count(*) from DocumentType t2 where t2.ParentCode=DocumentType.DocumentTypeCode  ) as ChildCount from DocumentType where  isnull(Fixed, 0)=@Fixed</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@Fixed</Name>
				<Column>Fixed</Column>
				<SqlDbType>Int</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectChildByParentCode</Name>
			<String> select * from DocumentType where ParentCode = @ParentCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ParentCode</Name>
				<Column>ParentCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectAllChildByParentCode</Name>
			<String> select * from DocumentType where FullCode like @ParentCode + '-%'</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ParentCode</Name>
				<Column>ParentCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
	</Table>
</Entity>