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

215 lines
9.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using SuperMap.RealEstate.ServiceModel;
using Business = SuperMap.RealEstate.Contract.Running.Business;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
/// <summary>
/// 附件表相关方法
/// 2023/10/12 11:42:45自动生成
/// </summary>
public class ATTACHMENTHelper
{
#region
/// <summary>
/// 获取附件表列表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="TotalCount">查询结果总数</param>
/// <param name="searchModel">查询条件对象</param>
public static List<Model.ATTACHMENTModel> GetATTACHMENTList(Transaction transaction,
ref int TotalCount, Model.SearchModel<Model.ATTACHMENTModel> searchModel)
{
List<Model.ATTACHMENTModel> ATTACHMENTList = new List<Model.ATTACHMENTModel>();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper<Model.ATTACHMENTModel>.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
if (WhereSQL != "")
{
WhereSQL = "WHERE " + WhereSQL;
}
}
DataTable dtATTACHMENT = new Business.ATTACHMENT(transaction).FillDataTable(WhereSQL);
//增加组合查询条件
if (searchModel.keyWord != null && !string.IsNullOrWhiteSpace(searchModel.keyWord.Key))
{
foreach (string KeyName in searchModel.keyWord.Key.Split(','))
{
RowFilterSQL += (RowFilterSQL == "" ? "" : " or ") +
KeyName + " like '%" + searchModel.keyWord.Value + "%'";
}
}
if (RowFilterSQL != "")
{
dtATTACHMENT.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtATTACHMENT.DefaultView.Sort = searchModel.SortStr;
dtATTACHMENT = dtATTACHMENT.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtATTACHMENT.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtATTACHMENT = CommonHelper.GetDataTableWithPageSize(dtATTACHMENT, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drATTACHMENT in dtATTACHMENT.Rows)
{
Model.ATTACHMENTModel attachmentModel = new Model.ATTACHMENTModel();
//绑定用户表数据对象
BindDataRowToModel(drATTACHMENT, attachmentModel);
ATTACHMENTList.Add(attachmentModel);
}
return ATTACHMENTList;
}
#region model
/// <summary>
/// 绑定model
/// </summary>
/// <param name="drATTACHMENT">datarow数据源</param>
/// <param name="attachmentModel">model对象</param>
public static void BindDataRowToModel(DataRow drATTACHMENT, Model.ATTACHMENTModel attachmentModel)
{
if (drATTACHMENT["ATTACHMENT_ID"].ToString() != "")
{
attachmentModel.ATTACHMENT_ID = drATTACHMENT["ATTACHMENT_ID"].TryParseToInt(); //附件内码
}
attachmentModel.ATTACHMENT_NAME = drATTACHMENT["ATTACHMENT_NAME"].ToString(); //附件名称
attachmentModel.ATTACHMENT_URL = drATTACHMENT["ATTACHMENT_URL"].ToString(); //附件地址
attachmentModel.ATTACHMENT_PATH = drATTACHMENT["ATTACHMENT_PATH"].ToString(); //附件相对路径
if (drATTACHMENT["TABLE_ID"].ToString() != "")
{
attachmentModel.TABLE_ID = drATTACHMENT["TABLE_ID"].TryParseToInt(); //数据表主键值
}
attachmentModel.TABLE_NAME = drATTACHMENT["TABLE_NAME"].ToString(); //数据表名称
if (drATTACHMENT["STAFF_ID"].ToString() != "")
{
attachmentModel.STAFF_ID = drATTACHMENT["STAFF_ID"].TryParseToInt(); //操作人内码
}
attachmentModel.STAFF_NAME = drATTACHMENT["STAFF_NAME"].ToString(); //操作人员
if (drATTACHMENT["OPERATE_DATE"].ToString() != "")
{
attachmentModel.OPERATE_DATE = drATTACHMENT["OPERATE_DATE"].TryParseToLong(); //操作时间
}
}
#endregion
#endregion
#region
/// <summary>
/// 获取附件表明细
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="ATTACHMENTId">附件表内码</param>
public static Model.ATTACHMENTModel GetATTACHMENTDetail(Transaction transaction, int ATTACHMENTId)
{
Model.ATTACHMENTModel attachmentModel = new Model.ATTACHMENTModel();
Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(transaction);
_ATTACHMENT.ATTACHMENT_ID = ATTACHMENTId;
if (_ATTACHMENT.Select())
{
attachmentModel.ATTACHMENT_ID = _ATTACHMENT.ATTACHMENT_ID; //附件内码
attachmentModel.ATTACHMENT_NAME = _ATTACHMENT.ATTACHMENT_NAME; //附件名称
attachmentModel.ATTACHMENT_URL = _ATTACHMENT.ATTACHMENT_URL; //附件地址
attachmentModel.ATTACHMENT_PATH = _ATTACHMENT.ATTACHMENT_PATH; //附件相对路径
attachmentModel.TABLE_ID = _ATTACHMENT.TABLE_ID; //数据表主键值
attachmentModel.TABLE_NAME = _ATTACHMENT.TABLE_NAME; //数据表名称
attachmentModel.STAFF_ID = _ATTACHMENT.STAFF_ID; //操作人内码
attachmentModel.STAFF_NAME = _ATTACHMENT.STAFF_NAME; //操作人员
attachmentModel.OPERATE_DATE = _ATTACHMENT.OPERATE_DATE; //操作时间
}
return attachmentModel;
}
#endregion
#region
/// <summary>
/// 赋值附件表数据对象
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="attachmentModel">附件表数据对象</param>
public static bool SynchroATTACHMENT(Transaction transaction, Model.ATTACHMENTModel attachmentModel)
{
bool SynchroFlag = true;
Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(transaction);
if (attachmentModel.ATTACHMENT_ID != null)
{
_ATTACHMENT.ATTACHMENT_ID = attachmentModel.ATTACHMENT_ID;
if (_ATTACHMENT.Select())
{
SynchroModelToObject(_ATTACHMENT, attachmentModel);
_ATTACHMENT.Update();
}
else
{
SynchroFlag = false;
}
}
else
{
SynchroModelToObject(_ATTACHMENT, attachmentModel);
_ATTACHMENT.Insert();
}
return SynchroFlag;
}
#region
/// <summary>
/// 赋值附件表数据对象
/// </summary>
/// <param name="_ATTACHMENT"></param>
/// <param name="attachmentModel"></param>
public static void SynchroModelToObject(Business.ATTACHMENT _ATTACHMENT, Model.ATTACHMENTModel attachmentModel)
{
_ATTACHMENT.ATTACHMENT_NAME = attachmentModel.ATTACHMENT_NAME; //附件名称
_ATTACHMENT.ATTACHMENT_URL = attachmentModel.ATTACHMENT_URL; //附件地址
_ATTACHMENT.ATTACHMENT_PATH = attachmentModel.ATTACHMENT_PATH; //附件相对路径
_ATTACHMENT.TABLE_ID = attachmentModel.TABLE_ID; //数据表主键值
_ATTACHMENT.TABLE_NAME = attachmentModel.TABLE_NAME; //数据表名称
_ATTACHMENT.STAFF_ID = attachmentModel.STAFF_ID; //操作人内码
_ATTACHMENT.STAFF_NAME = attachmentModel.STAFF_NAME; //操作人员
_ATTACHMENT.OPERATE_DATE = attachmentModel.OPERATE_DATE; //操作时间
}
#endregion
#endregion
#region
/// <summary>
/// 删除附件表
/// </summary>
/// <param name="transaction">事务管理器</param>
/// <param name="ATTACHMENTId">附件表内码</param>
public static bool DeleteATTACHMENT(Transaction transaction, int? ATTACHMENTId)
{
bool DeleteFlag = false;
if (ATTACHMENTId != null)
{
Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(transaction);
_ATTACHMENT.ATTACHMENT_ID = ATTACHMENTId;
if (_ATTACHMENT.Select())
{
_ATTACHMENT.ATTACHMENT_STATE = 0;
DeleteFlag = _ATTACHMENT.Update();
}
}
return DeleteFlag;
}
#endregion
}
}