2025-03-27 15:05:14 +08:00

152 lines
6.3 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Text;
using System.Data;
using System.Collections;
using SuperMap.RealEstate.Utility;
using SRAI = SuperMap.RealEstate.Archives.Image;
using System.Web.Script.Serialization;
namespace SuperMap.RealEstate.HousingSecurity.API
{
/// <summary>
/// 提供给房源管理页获取房屋关联的图片列表直接返回HTML输出
/// 【数据源】
/// </summary>
public class gethousepics : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
List<Hashtable> list = new List<Hashtable>();
StringBuilder htm = new StringBuilder();
string _CaseFileIDstr = context.Request.QueryString["CaseFileID"];
string _ScanFileIDstr = context.Request.QueryString["ScanFileID"];
long _CaseFileID = 0;
long _ScanFileID = 0;
long.TryParse(_CaseFileIDstr, out _CaseFileID);
long.TryParse(_ScanFileIDstr, out _ScanFileID);
string _MaterialIDstr = context.Request.QueryString["MaterialID"];
string _ProinstScanFileIDstr = context.Request.QueryString["ProinstScanFileID"];
long _MaterialID = 0;
long _ProinstScanFileID = 0;
long.TryParse(_MaterialIDstr, out _MaterialID);
long.TryParse(_ProinstScanFileIDstr, out _ProinstScanFileID);
try
{
if (_ScanFileID != 0)
{
#region
ServiceModel.Transaction _Transaction = new ServiceModel.Transaction();
SRAI.Business.ScanFile _ScanFile = new SRAI.Business.ScanFile(_Transaction);
_ScanFile.ScanFile_ID = _ScanFileID;
if (_ScanFile.Select())
{
Hashtable ht = null;
ht = new Hashtable();
ht.Add("id", _ScanFile.ScanFile_ID.ToString());
ht.Add("title", _ScanFile.ScanFile_Name);
ht.Add("url", _ScanFile.ScanFile_Path);
list.Add(ht);
}
#endregion
}
else if (_CaseFileID != 0)
{
#region
using (SRAI.Business.ScanFile _pics = new SRAI.Business.ScanFile())
{
List<SRAI.Business.ScanFile> _ScanFileCollection = _pics.FillCollection(string.Format("where {0}={1} order by scanfile_index", SRAI.Interface.TableSchema_ScanFile.CaseFile_ID, _CaseFileID));
if (_ScanFileCollection.Count > 0)
{
Hashtable ht = null;
for (int i = 0; i < _ScanFileCollection.Count; i++)
{
ht = new Hashtable();
ht.Add("id", _ScanFileCollection[i].ScanFile_ID.ToString());
ht.Add("title", _ScanFileCollection[i].ScanFile_Name);
ht.Add("url", _ScanFileCollection[i].ScanFile_Path);
//加入
list.Add(ht);
}
}
}
#endregion
}
else if (_ProinstScanFileID != 0)
{
#region
ServiceModel.Transaction _Transaction = new ServiceModel.Transaction();
SRAI.Business.ProinstScanFile _ScanFile = new SRAI.Business.ProinstScanFile(_Transaction);
_ScanFile.ProinstScanFile_ID = _ProinstScanFileID;
if (_ScanFile.Select())
{
Hashtable ht = null;
ht = new Hashtable();
ht.Add("id", _ScanFile.ProinstScanFile_ID.ToString());
ht.Add("title", _ScanFile.ScanFile_Name);
ht.Add("url", _ScanFile.ScanFile_Path);
list.Add(ht);
}
#endregion
}
else if (_MaterialID != 0)
{
#region
using (SRAI.Business.ProinstScanFile _pics = new SRAI.Business.ProinstScanFile())
{
List<SRAI.Business.ProinstScanFile> _ScanFileCollection = _pics.FillCollection(string.Format("where {0}={1} order by scanfile_index", SRAI.Interface.TableSchema_ProinstScanFile.Material_ID, _MaterialID));
if (_ScanFileCollection.Count > 0)
{
Hashtable ht = null;
for (int i = 0; i < _ScanFileCollection.Count; i++)
{
ht = new Hashtable();
ht.Add("id", _ScanFileCollection[i].ProinstScanFile_ID.ToString());
ht.Add("title", _ScanFileCollection[i].ScanFile_Name);
ht.Add("url", _ScanFileCollection[i].ScanFile_Path);
list.Add(ht);
}
}
}
#endregion
}
}
catch (Exception ex)
{
htm.Append("get housepics error:" + ex.Message);
}
StringBuilder buider = new StringBuilder();
JavaScriptSerializer json = new JavaScriptSerializer(new SimpleTypeResolver());
json.MaxJsonLength = Int32.MaxValue;
json.Serialize(list, buider);
//【输出】application/json;charset=utf-8
context.Response.ContentType = "application/json";
context.Response.Charset = "utf-8";
context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
context.Response.Write(buider.ToString());
}
public bool IsReusable
{
get
{
return false;
}
}
}
}