using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;
using System.Data.SqlClient;
using System.Data;
using HouseSys.Models;
using System.Data.SqlClient;
namespace HouseSys.DLL
{
/// <summary>
/// 房屋的数据访问层
/// </summary>
public class HouseDLL
{
/// <summary>
/// 分页查询所有房屋信息
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public List<HouseModel> GetHousesAll(int pageIndex,int pageSize,ConditionModel cond)
{
List<HouseModel> houseList = new List<HouseModel>();
string sql = "select top "+pageSize+" * from house where HouseId not in (select top "+(pageIndex-1)*pageSize+" HouseId from House where 1=1) and 1=1 ";
//动态查询
if(cond!=null)
{
//根据标题
if (cond.Title != null)
{
sql += " and Title like"+cond.Title;
}
//最低价格到最高价格
if (cond.StartPrice != null && cond.EndPrice != null)
{
sql += " and Price >=" + cond.StartPrice + " and Price <= " + cond.EndPrice;
}
//根据最低的面积
if(cond.StartProportion!=null && cond.EndProportion!=null)
{
sql += " and floorage >=" + cond.StartProportion + " and floorage<="+cond.EndProportion;
}
}
using (SqlDataReader reader = SqlHelper.ExcuteReader(sql, CommandType.Text, null))
{
while(reader.Read())
{
HouseModel house = new HouseModel();
house.Contract = reader["Contract"].ToString();
house.Description = reader["Description"].ToString();
house.Floorage = Convert.ToDouble(reader["Floorage"]);
house.HouseId = Convert.ToInt32(reader["houseid"]);
house.Price = Convert.ToDouble(reader["Price"]);
house.PublishTime = Convert.ToDateTime(reader["PublishTime"]);
house.PublishUser = new UserDLL().GetUserById(Convert.ToInt32(reader["PublishUser"]));
house.Street = new StreetDLL().GetStreetById(Convert.ToInt32(reader["streetid"]));
house.Title = reader["title"].ToString();
house.Type = new HouseTypeDLL().GetHouseTypeById(Convert.ToInt32(reader["typeid"]));
houseList.Add(house);
}
}
return houseList;
}
/// <summary>
/// 查询总记录数
/// </summary>
/// <returns></returns>
public int GetHouseCount()
{
string sql = "select count(1) from House";
int rel = Convert.ToInt32(SqlHelper.ExecuteScalar(sql,CommandType.Text,null));
return rel;
}
}
}