<?xml version="1.0"?>
<Entity>
	<Name>Model</Name>
	<Type>Single</Type>
	<Table>
		<Name>Model</Name>
		<Column>
			<Name>ModelCode</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>ModelName</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>Structure</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>ImageCode</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>50</ColumnSize>
		</Column>
		<Column>
			<Name>BuildArea</Name>
			<DataType>System.Decimal</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>17</ColumnSize>
		</Column>
		<Column>
			<Name>RoomArea</Name>
			<DataType>System.Decimal</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>17</ColumnSize>
		</Column>
		<Column>
			<Name>Remark</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>800</ColumnSize>
		</Column>
		<Column>
			<Name>HouseType</Name>
			<DataType>System.String</DataType>
			<IsKey>false</IsKey>
			<IsAllowNull>true</IsAllowNull>
			<ColumnSize>20</ColumnSize>
		</Column>
		<Sql>
			<Name>Insert</Name>
			<String> Insert into Model (  ModelCode, ProjectCode, ModelName, Structure, ImageCode, BuildArea, RoomArea, Remark, HouseType ) values (  @ModelCode, @ProjectCode, @ModelName, @Structure, @ImageCode, @BuildArea, @RoomArea, @Remark, @HouseType )</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ModelCode</Name>
				<Column>ModelCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ProjectCode</Name>
				<Column>ProjectCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ModelName</Name>
				<Column>ModelName</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@Structure</Name>
				<Column>Structure</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ImageCode</Name>
				<Column>ImageCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@BuildArea</Name>
				<Column>BuildArea</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@RoomArea</Name>
				<Column>RoomArea</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@Remark</Name>
				<Column>Remark</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@HouseType</Name>
				<Column>HouseType</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>Update</Name>
			<String> Update Model set ProjectCode=@ProjectCode,ModelName=@ModelName,Structure=@Structure,ImageCode=@ImageCode,BuildArea=@BuildArea,RoomArea=@RoomArea,Remark=@Remark,HouseType=@HouseType where  ModelCode=@ModelCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ModelCode</Name>
				<Column>ModelCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ProjectCode</Name>
				<Column>ProjectCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ModelName</Name>
				<Column>ModelName</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@Structure</Name>
				<Column>Structure</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@ImageCode</Name>
				<Column>ImageCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@BuildArea</Name>
				<Column>BuildArea</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@RoomArea</Name>
				<Column>RoomArea</Column>
				<SqlDbType>Decimal</SqlDbType>
			</Param>
			<Param>
				<Name>@Remark</Name>
				<Column>Remark</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@HouseType</Name>
				<Column>HouseType</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>Delete</Name>
			<String> Delete from Model  where  ModelCode=@ModelCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ModelCode</Name>
				<Column>ModelCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>Select</Name>
			<String> select * from Model where  ModelCode=@ModelCode</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ModelCode</Name>
				<Column>ModelCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectAll</Name>
			<String> select Model.* from Model</String>
			<CommandType>Text</CommandType>
		</Sql>
		<Sql>
			<Name>SelectDoorNum</Name>
			<String>
        select Model.*,(select count(*) from Room a where ModelCode = Model.ModelCode) as DoorNum
        ,(select PictrueName from photos b where pictureCode = Model.ImageCode) as picName
        , dbo.GetPBSTypeFullName(HouseType) as PBSTypeName
        from Model
      </String>
			<CommandType>Text</CommandType>
		</Sql>
		<Sql>
			<Name>SelectCountByBuildingCode</Name>
			<String>
        select Model.*
        ,(select count(*) from Room a where BuildingCode = @BuildingCode and ModelCode = Model.ModelCode) as RoomCount
        ,(select sum(isnull(PreBuildArea, 0)) from Room b where BuildingCode = @BuildingCode and ModelCode = Model.ModelCode) as TotalPreBuildArea
        ,(select sum(isnull(PreRoomArea, 0)) from Room c where BuildingCode = @BuildingCode and ModelCode = Model.ModelCode) as TotalPreRoomArea
        ,(select sum(isnull(BuildArea, 0)) from Room d where BuildingCode = @BuildingCode and ModelCode = Model.ModelCode) as TotalBuildArea
        ,(select sum(isnull(RoomArea, 0)) from Room e where BuildingCode = @BuildingCode and ModelCode = Model.ModelCode) as TotalRoomArea
        ,(select PictrueName from photos f where pictureCode = Model.ImageCode) as picName
        from Model
        where ProjectCode = @ProjectCode
        and exists(select * from Room g where BuildingCode = @BuildingCode and ModelCode = Model.ModelCode)
        order by ModelName
      </String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ProjectCode</Name>
				<Column>ProjectCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@BuildingCode</Name>
				<Column>BuildingCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
		<Sql>
			<Name>SelectNoUseByBuildingCode</Name>
			<String> select * from Model where ProjectCode = @ProjectCode and not exists (select * from V_BuildingModel where V_BuildingModel.ModelCode=Model.ModelCode and BuildingCode=@BuildingCode and BuildingModelCode != @BuildingModelCode )</String>
			<CommandType>Text</CommandType>
			<Param>
				<Name>@ProjectCode</Name>
				<Column>ProjectCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@BuildingCode</Name>
				<Column>BuildingCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
			<Param>
				<Name>@BuildingModelCode</Name>
				<Column>BuildingModelCode</Column>
				<SqlDbType>VarChar</SqlDbType>
			</Param>
		</Sql>
	</Table>
</Entity>