Beispiel #1
0
        /// <summary>
        /// 获取详情信息
        /// </summary>
        /// <param name="houseId">房屋ID</param>
        /// <returns></returns>
        public async Task <T4_House_Show> QueryInformation(string houseId)
        {
            // 获取房屋信息
            string   sql        = $"select * from T4_House where column1='{houseId}'";
            T4_House houseModel = await dataService.GetSingleAsync <T4_House>(sql);

            // 获取房屋实体类属性
            Type typeInfo   = typeof(T4_House);
            var  properties = typeInfo.GetProperties().ToList();
            // 获取可修改的列
            List <t4_code> modifyColumns = new t4_code().Select <t4_code>();

            Parallel.ForEach(modifyColumns, p =>
            {
                sql = $"select * from t4_json where houseid='{houseId}' and codeid='{p.id}'";
                // 获取列修改的信息
                List <t4_json> jsonModel             = new t4_json(true).Select <t4_json>(sql);
                List <T4_ModifyJsonModel> jsonModify = JsonConvert.DeserializeObject <List <T4_ModifyJsonModel> >(jsonModel[0].jsonstr);
                T4_ModifyJsonModel mdify             = jsonModify.OrderByDescending(a => a.Column207).FirstOrDefault();
                PropertyInfo proInfo = properties.Where(o => o.Name == p.name).FirstOrDefault();

                if (proInfo != null)
                {
                    // 给房屋信息赋值
                    proInfo.SetValue(houseModel, mdify.Column205);
                }
            });
            // 获取电话信息
            List <t4_tel> telList        = new t4_tel().Select <t4_tel>(houseModel.column10, "column202");
            T4_House_Show houseShowModel = new T4_House_Show();

            BaseModel.Mapper(houseShowModel, houseModel);
            houseShowModel.column10 = telList;
            return(houseShowModel);
        }
Beispiel #2
0
        /// <summary>
        /// 详细信息的查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ApiResponse> GetHouseInfo(string id)
        {
            List <t4_house>   list        = new List <t4_house>();
            List <t4_code>    fileds      = new t4_code().Select <t4_code>().ToList();
            Type              typeInfo    = typeof(t4_house);
            var               properties  = typeInfo.GetProperties().ToList();
            List <t5_history> listHistory = new List <t5_history>();
            ApiResponse       resp        = new ApiResponse(null).OK();
            string            sqlStr      = $@"select * from t4_house where column1 = {id}";

            list.AddRange(await dataService.GetAsync <t4_house>(sqlStr));
            foreach (var item in list)
            {
                string sqlHistory = $@"select * from t5_history where houseid = {item.column1}";
                listHistory = (await dataService.GetAsync <t5_history>(sqlHistory)).ToList();
                listHistory = (listHistory.Where((x, i) => listHistory.FindLastIndex(z => z.codeid == x.codeid) == i)).ToList();
                Parallel.ForEach(listHistory, i =>
                {
                    t4_code columnName   = fileds.Where(o => o.id == i.codeid).FirstOrDefault();
                    PropertyInfo proInfo = properties.Where(o => o.Name == columnName.name).FirstOrDefault();
                    if (proInfo != null)
                    {
                        proInfo.SetValue(item, i.value);
                    }
                });
            }
            resp.Model = list;
            return(resp);
        }
Beispiel #3
0
        /// <summary>
        /// 查询前9项
        /// </summary>
        /// <param name="index">页数</param>
        /// <param name="pagesize">页大小</param>
        /// <returns></returns>
        public async Task <ResponseModel <T4_House_Part> > QueryPage(GenericQueryModel queryBody, int index, int pagesize)
        {
            string wheresql = Build(queryBody);
            // 获取修改的列
            List <t4_code> fileds = await new t4_code().SelectAsync <t4_code>();
            // 获取前9项实体属性
            Type typeInfo   = typeof(T4_House_Part);
            var  properties = typeInfo.GetProperties().ToList();
            // 获取房源
            List <T4_House_Part> houseList = new T4_House_Part().SelectPart <T4_House_Part>(typeof(T4_House).Name, index, pagesize, wheresql, "column1");


            Parallel.ForEach(houseList, info =>
            {
                // 获取修改历史信息
                List <t4_json> jsonList = new t4_json(true).Select <t4_json>(info.column1, "houseid");
                Parallel.ForEach(jsonList, p =>
                {
                    List <T4_ModifyJsonModel> modifyInfoList =
                        JsonConvert.DeserializeObject <List <T4_ModifyJsonModel> >(p.jsonstr);
                    T4_ModifyJsonModel mdify = modifyInfoList.OrderByDescending(a => a.Column207).FirstOrDefault();
                    t4_code columnName       = fileds.Where(o => o.id == p.codeid).FirstOrDefault();
                    PropertyInfo proInfo     = properties.Where(o => o.Name == columnName.name).FirstOrDefault();
                    if (proInfo != null)
                    {
                        proInfo.SetValue(info, mdify.Column205);
                    }
                });
            });
            ResponseModel <T4_House_Part> resModel = new ResponseModel <T4_House_Part>(houseList);

            return(resModel);
        }
Beispiel #4
0
        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="queryBody"></param>
        /// <param name="index"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public ResponseModel <Result> GetHouse(int pageIndex, int pageSize)
        {
            List <t4_code> fileds     = new t4_code().Select <t4_code>().ToList();
            Type           typeInfo   = typeof(Result);
            var            properties = typeInfo.GetProperties().ToList();
            List <Result>  List       = new Result().SelectPart <Result>(typeof(t4_house).Name, pageIndex, pageSize, "column1");

            Parallel.ForEach(List, item =>
            {
                List <t5_history> listHistory = new t5_history(true).Select <t5_history>(item.column1, "houseid");
                listHistory = (listHistory.Where((x, i) => listHistory.FindLastIndex(z => z.codeid == x.codeid) == i)).ToList();
                Parallel.ForEach(listHistory, i =>
                {
                    t4_code columnName   = fileds.Where(o => o.id == i.codeid).FirstOrDefault();
                    PropertyInfo proInfo = properties.Where(o => o.Name == columnName.name).FirstOrDefault();
                    if (proInfo != null)
                    {
                        proInfo.SetValue(item, i.value);
                    }
                });
            });
            ResponseModel <Result> resModel = new ResponseModel <Result>(List);

            return(resModel);
        }