using System;
using System.Collections.Generic;
using System.Data;
using SuperMap.RealEstate.ServiceModel;
using Business = SuperMap.RealEstate.HighWay.SellData.Business;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
///
/// 卡口流水表相关方法
///
public class BAYONETHelper
{
#region 获取卡口流水表列表
///
/// 获取卡口流水表列表
///
/// 事务管理器
/// 查询结果总数
/// 查询条件对象
public static List GetBAYONETList(Transaction transaction,
ref int TotalCount, Model.SearchModel searchModel)
{
List BAYONETList = new List();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
if (WhereSQL != "")
{
WhereSQL = "WHERE " + WhereSQL;
}
}
DataTable dtBAYONET = new Business.BAYONET(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 != "")
{
dtBAYONET.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtBAYONET.DefaultView.Sort = searchModel.SortStr;
dtBAYONET = dtBAYONET.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtBAYONET.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtBAYONET = CommonHelper.GetDataTableWithPageSize(dtBAYONET, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drBAYONET in dtBAYONET.Rows)
{
Model.BAYONETModel bayonetModel = new Model.BAYONETModel();
bayonetModel.BAYONET_ID = drBAYONET["BAYONET_ID"].TryParseToInt(); //卡口流水内码
bayonetModel.SERVERPART_ID = drBAYONET["SERVERPART_ID"].TryParseToInt(); //服务区内码
bayonetModel.SERVERPART_NAME = drBAYONET["SERVERPART_NAME"].ToString(); //服务区名称
bayonetModel.SERVERPART_REGION = drBAYONET["SERVERPART_REGION"].ToString(); //服务区方位
bayonetModel.INOUT_TYPE = (short)drBAYONET["INOUT_TYPE"].TryParseToInt(); //进出类别(0:出;1:进)
bayonetModel.INOUT_TIME = drBAYONET["INOUT_TIME"].TryParseToLong(); //车辆进出时间
bayonetModel.VEHICLE_TYPE = drBAYONET["VEHICLE_TYPE"].ToString(); //车辆类型
bayonetModel.LICENSE_PLATE = drBAYONET["LICENSE_PLATE"].ToString(); //车牌号
bayonetModel.VEHICLE_SPEED = drBAYONET["VEHICLE_SPEED"].TryParseToDouble(); //车速(km/h)
bayonetModel.STAY_TIMES = drBAYONET["STAY_TIMES"].TryParseToInt(); //停留时长
bayonetModel.STATISTICS_DATE = drBAYONET["STATISTICS_DATE"].TryParseToLong(); //统计时间
bayonetModel.OPERATE_DATE = drBAYONET["OPERATE_DATE"].TryParseToLong(); //更新时间
bayonetModel.BAYONET_STATUS = (short)drBAYONET["BAYONET_STATUS"].TryParseToInt(); //有效状态(0:无效;1:有效)
bayonetModel.BAYONET_DESC = drBAYONET["BAYONET_DESC"].ToString(); //备注说明
BAYONETList.Add(bayonetModel);
}
return BAYONETList;
}
#endregion
#region 获取卡口流水表明细
///
/// 获取卡口流水表明细
///
/// 事务管理器
/// 卡口流水表内码
public static Model.BAYONETModel GetBAYONETDetail(Transaction transaction, int BAYONETId)
{
Model.BAYONETModel bayonetModel = new Model.BAYONETModel();
Business.BAYONET _BAYONET = new Business.BAYONET(transaction);
_BAYONET.BAYONET_ID = BAYONETId;
if (_BAYONET.Select())
{
bayonetModel.BAYONET_ID = _BAYONET.BAYONET_ID; //卡口流水内码
bayonetModel.SERVERPART_ID = _BAYONET.SERVERPART_ID; //服务区内码
bayonetModel.SERVERPART_NAME = _BAYONET.SERVERPART_NAME; //服务区名称
bayonetModel.SERVERPART_REGION = _BAYONET.SERVERPART_REGION; //服务区方位
bayonetModel.INOUT_TYPE = _BAYONET.INOUT_TYPE; //进出类别(0:出;1:进)
bayonetModel.INOUT_TIME = _BAYONET.INOUT_TIME; //车辆进出时间
bayonetModel.VEHICLE_TYPE = _BAYONET.VEHICLE_TYPE; //车辆类型
bayonetModel.LICENSE_PLATE = _BAYONET.LICENSE_PLATE; //车牌号
bayonetModel.VEHICLE_SPEED = _BAYONET.VEHICLE_SPEED; //车速(km/h)
bayonetModel.STAY_TIMES = _BAYONET.STAY_TIMES; //停留时长
bayonetModel.STATISTICS_DATE = _BAYONET.STATISTICS_DATE; //统计时间
bayonetModel.OPERATE_DATE = _BAYONET.OPERATE_DATE; //更新时间
bayonetModel.BAYONET_STATUS = _BAYONET.BAYONET_STATUS; //有效状态(0:无效;1:有效)
bayonetModel.BAYONET_DESC = _BAYONET.BAYONET_DESC; //备注说明
}
return bayonetModel;
}
#endregion
#region 同步卡口流水表
///
/// 赋值卡口流水表数据对象
///
/// 事务管理器
/// 卡口流水表数据对象
public static bool SynchroBAYONET(Transaction transaction, Model.BAYONETModel bayonetModel)
{
bool SynchroFlag = true;
Business.BAYONET _BAYONET = new Business.BAYONET(transaction);
if (bayonetModel.BAYONET_ID != null)
{
_BAYONET.BAYONET_ID = bayonetModel.BAYONET_ID;
if (_BAYONET.Select())
{
SynchroModelToObject(_BAYONET, bayonetModel);
_BAYONET.Update();
}
else
{
SynchroFlag = false;
}
}
else
{
SynchroModelToObject(_BAYONET, bayonetModel);
_BAYONET.Insert();
}
return SynchroFlag;
}
#region 赋值卡口流水表数据对象
///
/// 赋值卡口流水表数据对象
///
///
///
public static void SynchroModelToObject(Business.BAYONET _BAYONET, Model.BAYONETModel bayonetModel)
{
_BAYONET.SERVERPART_ID = bayonetModel.SERVERPART_ID; //服务区内码
_BAYONET.SERVERPART_NAME = bayonetModel.SERVERPART_NAME; //服务区名称
_BAYONET.SERVERPART_REGION = bayonetModel.SERVERPART_REGION; //服务区方位
_BAYONET.INOUT_TYPE = bayonetModel.INOUT_TYPE; //进出类别(0:出;1:进)
_BAYONET.INOUT_TIME = bayonetModel.INOUT_TIME; //车辆进出时间
_BAYONET.VEHICLE_TYPE = bayonetModel.VEHICLE_TYPE; //车辆类型
_BAYONET.LICENSE_PLATE = bayonetModel.LICENSE_PLATE; //车牌号
_BAYONET.VEHICLE_SPEED = bayonetModel.VEHICLE_SPEED; //车速(km/h)
_BAYONET.STAY_TIMES = bayonetModel.STAY_TIMES; //停留时长
_BAYONET.STATISTICS_DATE = bayonetModel.STATISTICS_DATE; //统计时间
_BAYONET.OPERATE_DATE = bayonetModel.OPERATE_DATE; //更新时间
_BAYONET.BAYONET_STATUS = bayonetModel.BAYONET_STATUS; //有效状态(0:无效;1:有效)
_BAYONET.BAYONET_DESC = bayonetModel.BAYONET_DESC; //备注说明
}
#endregion
#endregion
#region 删除卡口流水表
///
/// 删除卡口流水表
///
/// 事务管理器
/// 卡口流水表内码
public static bool DeleteBAYONET(Transaction transaction, int? BAYONETId)
{
bool DeleteFlag = false;
if (BAYONETId != null)
{
Business.BAYONET _BAYONET = new Business.BAYONET(transaction);
_BAYONET.BAYONET_ID = BAYONETId;
if (_BAYONET.Select())
{
_BAYONET.BAYONET_STATE = 0;
DeleteFlag = _BAYONET.Update();
}
}
return DeleteFlag;
}
#endregion
}
}