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 EC_ExchangeRecordDAL : IEC_ExchangeRecordDAL
|
{
|
|
private Database _dataBase = null;
|
|
public EC_ExchangeRecordDAL()
|
{
|
_dataBase = new Database();
|
}
|
|
/// <summary>
|
/// 新增
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.EC_ExchangeRecord trueModel = model as Model.EC_ExchangeRecord;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
new SqlParameter(){Direction=ParameterDirection.ReturnValue,SqlDbType = SqlDbType.Int},
|
new SqlParameter("@MemberId",trueModel.MemberId),
|
new SqlParameter("@PrizeId",trueModel.PrizeId),
|
new SqlParameter("@ExchangeCount",trueModel.ExchangeCount),
|
new SqlParameter("@UseIntegral",trueModel.UseIntegral),
|
new SqlParameter("@ExchangeTime",trueModel.ExchangeTime),
|
new SqlParameter("@ShippingMethod",trueModel.ShippingMethod),
|
new SqlParameter("@AllUseIntegral",trueModel.AllUseIntegral),
|
new SqlParameter("@ExchangeStatus",trueModel.ExchangeStatus),
|
new SqlParameter("@AssociateAddress",trueModel.AssociateAddress),
|
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
|
new SqlParameter("@Operator",trueModel.Operator),
|
new SqlParameter("@Remark",trueModel.Remark),
|
new SqlParameter("@RecivePeople",trueModel.RecivePeople),
|
new SqlParameter("@ReciveInfo",trueModel.ReciveInfo)
|
};
|
try
|
{
|
_dataBase.Query("sp_EC_ExchangeRecord_Insert", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
|
trueModel.Keyid = (int)sqlParms[0].Value;
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 新增
|
/// </summary>
|
/// <param name="m_EC_ExchangeRecord"></param>
|
/// <param name="m_EC_PrizeInfo"></param>
|
/// <param name="m_Pay_PaymentAccount"></param>
|
/// <param name="m_Pay_ScoreRecord"></param>
|
/// <returns></returns>
|
public bool InserModel(EC_ExchangeRecord m_EC_ExchangeRecord, EC_PrizeInfo m_EC_PrizeInfo, Pay_PaymentAccount m_Pay_PaymentAccount, Pay_ScoreRecord m_Pay_ScoreRecord)
|
{
|
try
|
{
|
bool result = true;
|
EC_PrizeInfoDAL dal_EC_PrizeInfoDAL = new EC_PrizeInfoDAL(_dataBase);
|
Pay_PaymentAccountDAL dal_Pay_PaymentAccountDAL = new Pay_PaymentAccountDAL(_dataBase);
|
Pay_ScoreRecordDAL dal_Pay_ScoreRecordDAL = new Pay_ScoreRecordDAL(_dataBase);
|
|
using (TransactionScope t_TransactionScope = new TransactionScope())
|
{
|
if (result)
|
{
|
result = InserModel(m_EC_ExchangeRecord);
|
if (result)
|
{
|
result = dal_EC_PrizeInfoDAL.UpdateModel(m_EC_PrizeInfo);
|
if (result)
|
{
|
result = dal_Pay_PaymentAccountDAL.UpdateModel(m_Pay_PaymentAccount);
|
if (result)
|
{
|
result = dal_Pay_ScoreRecordDAL.InserModel(m_Pay_ScoreRecord);
|
if (result)
|
{
|
t_TransactionScope.Complete();
|
}
|
}
|
}
|
}
|
}
|
}
|
return result;
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 修改
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.EC_ExchangeRecord trueModel = model as Model.EC_ExchangeRecord;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
new SqlParameter("@Keyid",trueModel.Keyid),
|
new SqlParameter("@MemberId",trueModel.MemberId),
|
new SqlParameter("@PrizeId",trueModel.PrizeId),
|
new SqlParameter("@ExchangeCount",trueModel.ExchangeCount),
|
new SqlParameter("@UseIntegral",trueModel.UseIntegral),
|
new SqlParameter("@ExchangeTime",trueModel.ExchangeTime),
|
new SqlParameter("@ShippingMethod",trueModel.ShippingMethod),
|
new SqlParameter("@AllUseIntegral",trueModel.AllUseIntegral),
|
new SqlParameter("@ExchangeStatus",trueModel.ExchangeStatus),
|
new SqlParameter("@AssociateAddress",trueModel.AssociateAddress),
|
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
|
new SqlParameter("@Operator",trueModel.Operator),
|
new SqlParameter("@Remark",trueModel.Remark),
|
new SqlParameter("@RecivePeople",trueModel.RecivePeople),
|
new SqlParameter("@ReciveInfo",trueModel.ReciveInfo)
|
};
|
try
|
{
|
_dataBase.Query("sp_EC_ExchangeRecord_Update", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 删除
|
/// </summary>
|
/// <param name="id"></param>
|
/// <returns></returns>
|
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.EC_ExchangeRecord trueModel = model as Model.EC_ExchangeRecord;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
new SqlParameter("@Keyid",trueModel.Keyid)
|
};
|
try
|
{
|
_dataBase.Query("sp_EC_ExchangeRecord_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 分页查询
|
/// </summary>
|
/// <param name="query"></param>
|
/// <param name="pagination"></param>
|
/// <returns></returns>
|
public IEnumerable<Model.EC_ExchangeRecord> SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination)
|
{
|
throw new NotImplementedException();
|
}
|
|
/// <summary>
|
/// 分页查询
|
/// </summary>
|
/// <param name="pagination"></param>
|
/// <param name="MemberId"></param>
|
/// <param name="MemberName"></param>
|
/// <param name="PrizeName"></param>
|
/// <param name="Status"></param>
|
/// <returns></returns>
|
public IEnumerable<Model.EC_ExchangeRecord> SelectModelPage(Infrastructure.Query.Pagination pagination, Guid MemberId, string MemberName,string PrizeName, int? Status)
|
{
|
try
|
{
|
string condition = " 1=1 ";
|
if (!string.IsNullOrEmpty(MemberName))
|
{
|
condition += "and m.Name like '%" + MemberName + "%'";
|
}
|
|
if (!string.IsNullOrEmpty(PrizeName))
|
{
|
condition += "and p.PrizeName like '%" + PrizeName + "%'";
|
}
|
|
if (MemberId != Guid.Empty)
|
{
|
condition += " and e.MemberId = '" + MemberId + "'";
|
}
|
|
if (Status != null)
|
{
|
condition += " and ExchangeStatus = '" + Status + "'";
|
}
|
|
return _dataBase.SelectModelPage<Model.EC_ExchangeRecord>(pagination, "e.*,s.Name as ApplicationStatusName,m.Name as MemberName,p.PrizeName as PrizeName",
|
" EC_ExchangeRecord as e left join Sys_Dictionary s on e.ExchangeStatus = s.MeanValue and s.DicType ='积分奖品兑换状态' left join EC_MemberBasic as m on e.MemberId = m.MemberId left join EC_PrizeInfo as p on e.PrizeId = p.Keyid",
|
" ExchangeStatus ASC ,ExchangeTime DESC ", " ExchangeStatus ASC ,ExchangeTime DESC ", condition);
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 单个查询
|
/// </summary>
|
/// <param name="query"></param>
|
/// <returns></returns>
|
public IEnumerable<Model.EC_ExchangeRecord> SelectAllModel(Infrastructure.Query.Query query)
|
{
|
throw new NotImplementedException();
|
}
|
|
/// <summary>
|
/// 根据编号获得信息
|
/// </summary>
|
/// <param name="Keyid">编号</param>
|
/// <returns></returns>
|
public EC_ExchangeRecord GetModelByKeyid(int? Keyid)
|
{
|
try
|
{
|
if (Keyid == null || Keyid < 0)
|
return null;//错误数据返会空
|
|
IList<EC_ExchangeRecord> result = _dataBase.SelectModel<EC_ExchangeRecord>("*", "EC_ExchangeRecord", string.Format(" Keyid='{0}'", Keyid)) as IList<EC_ExchangeRecord>;//执行查询
|
|
return (null == result || result.Count == 0) ? null : result[0];//返回结果
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
}
|
}
|