using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CY.IDAL;
using System.Data.SqlClient;
using System.Data;
using CY.Model;
using System.Transactions;
namespace CY.SQLDAL
{
//软件激活码
public class Soft_KeyCodeDAL : ISoft_KeyCodeDAL
{
private Database _dataBase = null;
public Soft_KeyCodeDAL()
{
_dataBase = new Database();
}
public Soft_KeyCodeDAL(Database dataBase)
{
_dataBase = dataBase;
}
///
/// 新增
///
///
///
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Soft_KeyCode trueModel = model as Model.Soft_KeyCode;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@KeySoftId",trueModel.KeySoftId),
new SqlParameter("@KeySoftName",trueModel.KeySoftName),
new SqlParameter("@KeyCode",trueModel.KeyCode),
new SqlParameter("@KeyStatus",trueModel.KeyStatus),
new SqlParameter("@KeyProxyId",trueModel.KeyProxyId),
new SqlParameter("@KeyCreatTime",trueModel.KeyCreatTime),
new SqlParameter("@KeyOutTime",trueModel.KeyOutTime),
new SqlParameter("@KeyUseTime",trueModel.KeyUseTime),
new SqlParameter("@KeyUseIP",trueModel.KeyUseIP),
new SqlParameter("@KeyMachineCode",trueModel.KeyMachineCode),
new SqlParameter("@KeyClientId",trueModel.KeyClientId),
new SqlParameter("@KeyClientName",trueModel.KeyClientName),
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
new SqlParameter("@Operator",trueModel.Operator),
new SqlParameter("@KeyWord",trueModel.KeyWord),
new SqlParameter("@KeyOldNum",trueModel.KeyOldNum),
new SqlParameter("@KeyNewNum",trueModel.KeyNewNum),
new SqlParameter("@KeyUpTime",trueModel.KeyUpTime),
new SqlParameter("@KeyTryTime",trueModel.KeyTryTime)
};
try
{
_dataBase.Query("sp_Soft_KeyCode_Insert", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 修改
///
///
///
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Soft_KeyCode trueModel = model as Model.Soft_KeyCode;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid", trueModel.Keyid) ,
new SqlParameter("@KeySoftId",trueModel.KeySoftId),
new SqlParameter("@KeySoftName",trueModel.KeySoftName),
new SqlParameter("@KeyCode",trueModel.KeyCode),
new SqlParameter("@KeyStatus",trueModel.KeyStatus),
new SqlParameter("@KeyProxyId",trueModel.KeyProxyId),
new SqlParameter("@KeyCreatTime",trueModel.KeyCreatTime),
new SqlParameter("@KeyOutTime",trueModel.KeyOutTime),
new SqlParameter("@KeyUseTime",trueModel.KeyUseTime),
new SqlParameter("@KeyUseIP",trueModel.KeyUseIP),
new SqlParameter("@KeyMachineCode",trueModel.KeyMachineCode),
new SqlParameter("@KeyClientId",trueModel.KeyClientId),
new SqlParameter("@KeyClientName",trueModel.KeyClientName),
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
new SqlParameter("@Operator",trueModel.Operator),
new SqlParameter("@KeyWord",trueModel.KeyWord),
new SqlParameter("@KeyOldNum",trueModel.KeyOldNum),
new SqlParameter("@KeyNewNum",trueModel.KeyNewNum),
new SqlParameter("@KeyUpTime",trueModel.KeyUpTime),
new SqlParameter("@KeyTryTime",trueModel.KeyTryTime)
};
try
{
_dataBase.Query("sp_Soft_KeyCode_Update", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 删除
///
///
///
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Soft_KeyCode trueModel = model as Model.Soft_KeyCode;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid)
};
try
{
_dataBase.Query("sp_Soft_KeyCode_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 分页查询
///
///
///
///
public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination)
{
throw new NotImplementedException();
}
///
/// 单个查询
///
///
///
public IEnumerable SelectAllModel(Infrastructure.Query.Query query)
{
throw new NotImplementedException();
}
///
/// 根据编号获得信息
///
/// 编号
///
public Soft_KeyCode GetModelByKeyid(int? Keyid)
{
try
{
if (Keyid == null || Keyid < 0)
return null;//错误数据返会空
IList result = _dataBase.SelectModel(" * ", " Soft_KeyCode ", string.Format(" Keyid='{0}'", Keyid)) as IList;//执行查询
return (null == result || result.Count == 0) ? null : result[0];//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 分页查询
///
///
///
public IEnumerable SelectModelPage(Infrastructure.Query.Pagination pagination, int? _KeySoftId, string _KeySoftName, string _KeyCode, int? _KeyStatus, int? _KeyProxyId, DateTime? _BeginKeyCreatTime, DateTime? _EndKeyCreatTime, DateTime? _BeginKeyOutTime, DateTime? _EndKeyOutTime, DateTime? _BeginKeyUseTime, DateTime? _EndKeyUseTime, string _KeyUseIP, int? _KeyClientId, string _KeyClientName, DateTime? _BeginLastUpdateTime, DateTime? _EndLastUpdateTime, string _Operator, string _KeyWord, int? _txtKeyVersion)
{
try
{
string condition = " 1=1 ";
if (_KeySoftId.HasValue)
condition += " and KeySoftId = '" + _KeySoftId + "' ";
if (!string.IsNullOrEmpty(_KeySoftName))
condition += " and KeySoftName = '" + _KeySoftName + "' ";
if (!string.IsNullOrEmpty(_KeyWord))
condition += " and KeyWord like '%" + _KeyWord + "%' ";
if (!string.IsNullOrEmpty(_KeyCode))
condition += " and KeyCode like '%" + _KeyCode + "%' ";
if (_KeyStatus.HasValue)
condition += " and KeyStatus = '" + _KeyStatus + "' ";
if (_KeyProxyId.HasValue)
condition += " and KeyProxyId = '" + _KeyProxyId + "' ";
if (_BeginKeyCreatTime.HasValue)
condition += string.Format(" and CAST(KeyCreatTime AS DATE) >='{0}' ", _BeginKeyCreatTime);
if (_EndKeyCreatTime.HasValue)
condition += string.Format(" and CAST(KeyCreatTime AS DATE) <='{0}' ", _EndKeyCreatTime);
if (_BeginKeyOutTime.HasValue)
condition += string.Format(" and CAST(KeyOutTime AS DATE) >='{0}' ", _BeginKeyOutTime);
if (_EndKeyOutTime.HasValue)
condition += string.Format(" and CAST(KeyOutTime AS DATE) <='{0}' ", _EndKeyOutTime);
if (_BeginKeyUseTime.HasValue)
condition += string.Format(" and CAST(KeyUseTime AS DATE) >='{0}' ", _BeginKeyUseTime);
if (_EndKeyUseTime.HasValue)
condition += string.Format(" and CAST(KeyUseTime AS DATE) <='{0}' ", _EndKeyUseTime);
if (!string.IsNullOrEmpty(_KeyUseIP))
condition += " and KeyUseIP = '" + _KeyUseIP + "' ";
if (_KeyClientId.HasValue)
condition += " and KeyClientId = '" + _KeyClientId + "' ";
if (!string.IsNullOrEmpty(_KeyClientName))
condition += " and KeyClientName = '" + _KeyClientName + "' ";
if (_BeginLastUpdateTime.HasValue)
condition += string.Format(" and CAST(LastUpdateTime AS DATE) >='{0}' ", _BeginLastUpdateTime);
if (_EndLastUpdateTime.HasValue)
condition += string.Format(" and CAST(LastUpdateTime AS DATE) <='{0}' ", _EndLastUpdateTime);
if (!string.IsNullOrEmpty(_Operator))
condition += " and Operator = '" + _Operator + "' ";
if (_txtKeyVersion.HasValue)
{
if (_txtKeyVersion == 1)
{
condition += " and KeyNewNum = '-1' ";
}
else if (_txtKeyVersion == 2)
{
condition += " and KeyNewNum <> '-1' ";
}
}
return _dataBase.SelectModelPage(pagination, " * ", " Soft_KeyCode ", " Keyid desc", " Keyid desc ", condition);
}
catch (Exception ex)
{
throw ex;
}
}
}
}