using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
namespace IStation
{
///
/// Sql条件类
///
[DataContract]
[Serializable]
public class SqlCondition
{
///
/// 条件类型
///
[DataMember]
public int ConditionType { get; set; }
///
/// 前缀类型
///
[DataMember]
public int Prefix { get; set; }
///
/// 数据类型
///
[DataMember]
public int DataType { get; set; }
///
/// 属性名称
///
[DataMember]
public string PropName { get; set; }
///
/// 数据
///
[DataMember]
public List Data { get; set; }
///
/// 排序码
///
[DataMember]
public int SortCode { get; set; }
///
/// 参数名称列表
///
internal List Parameters { get; set; }
//普通条件设置
private void SetGeneralCondition(eSqlConditionType conditionType, string propName, object data, eSqlDataType dataType= eSqlDataType.String, eSqlConditionPrefix prefix = eSqlConditionPrefix.And)
{
this.ConditionType = (int)conditionType;
this.PropName = propName;
this.Data = new List() { Convert.ToString(data) };
this.DataType = (int)dataType;
this.Prefix = (int)prefix;
}
///
/// 设置 Equals
///
///
///
///
///
public void SetEqualsCondition(string propName, object data, eSqlDataType dataType= eSqlDataType.String, eSqlConditionPrefix prefix = eSqlConditionPrefix.And)
{
this.SetGeneralCondition(eSqlConditionType.Equals,propName,data,dataType,prefix);
}
///
/// 设置 NotEquals
///
///
///
///
///
public void SetNotEqualsCondition(string propName, object data, eSqlDataType dataType = eSqlDataType.String, eSqlConditionPrefix prefix = eSqlConditionPrefix.And)
{
this.SetGeneralCondition(eSqlConditionType.NotEquals,propName,data,dataType,prefix);
}
///
/// 设置 GreaterThan
///
///
///
///
///
public void SetGreaterThanCondition(string propName, object data, eSqlDataType dataType = eSqlDataType.String, eSqlConditionPrefix prefix = eSqlConditionPrefix.And)
{
this.SetGeneralCondition(eSqlConditionType.GreaterThan, propName, data, dataType, prefix);
}
///
/// 设置 GreaterThanOrEqual
///
///
///
///
///
public void SetGreaterThanOrEqualCondition(string propName, object data, eSqlDataType dataType = eSqlDataType.String, eSqlConditionPrefix prefix = eSqlConditionPrefix.And)
{
this.SetGeneralCondition(eSqlConditionType.GreaterThanOrEqual, propName, data, dataType, prefix);
}
///
/// 设置 LessThan
///
///
///
///
///
public void SetLessThanCondition(string propName, object data, eSqlDataType dataType = eSqlDataType.String, eSqlConditionPrefix prefix = eSqlConditionPrefix.And)
{
this.SetGeneralCondition(eSqlConditionType.LessThan, propName, data, dataType, prefix);
}
///
/// 设置 LessThanOrEqual
///
///
///
///
///
public void SetLessThanOrEqualCondition(string propName, object data, eSqlDataType dataType = eSqlDataType.String, eSqlConditionPrefix prefix = eSqlConditionPrefix.And)
{
this.SetGeneralCondition(eSqlConditionType.LessThanOrEqual, propName, data, dataType, prefix);
}
///
/// 设置 In
///
///
///
///
///
public void SetInCondition(string propName, List