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;
namespace CY.SQLDAL
{
public class Pay_PromotionRecordDAL : IPay_PromotionRecordDAL
{
private Database _dataBase = null;
public Pay_PromotionRecordDAL()
{
_dataBase = new Database();
}
public Pay_PromotionRecordDAL(Database database)
{
_dataBase = database;
}
///
/// 新增
///
///
///
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Pay_PromotionRecord trueModel = model as Model.Pay_PromotionRecord;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@PayId",trueModel.PayId),
new SqlParameter("@TradingName",trueModel.TradingName),
new SqlParameter("@TradingType",trueModel.TradingType),
new SqlParameter("@TradingState",trueModel.TradingState),
new SqlParameter("@TradingMoney",trueModel.TradingMoney),
new SqlParameter("@ResidualMoney",trueModel.ResidualMoney),
new SqlParameter("@CreateTime",trueModel.CreateTime),
new SqlParameter("@Remark",trueModel.Remark),
new SqlParameter("@IsProxy",trueModel.IsProxy),
new SqlParameter("@TardingRemark",trueModel.TardingRemark),
new SqlParameter("@SendMemberId",trueModel.SendMemberId),
new SqlParameter("@GetMemberId",trueModel.GetMemberId),
new SqlParameter("@RewardType",trueModel.RewardType),
new SqlParameter("@DataType",trueModel.DataType)
};
try
{
_dataBase.Query("sp_Pay_PromotionRecord_Insert", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 修改
///
///
///
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Pay_PromotionRecord trueModel = model as Model.Pay_PromotionRecord;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid),
new SqlParameter("@PayId",trueModel.PayId),
new SqlParameter("@TradingName",trueModel.TradingName),
new SqlParameter("@TradingType",trueModel.TradingType),
new SqlParameter("@TradingState",trueModel.TradingState),
new SqlParameter("@TradingMoney",trueModel.TradingMoney),
new SqlParameter("@ResidualMoney",trueModel.ResidualMoney),
new SqlParameter("@CreateTime",trueModel.CreateTime),
new SqlParameter("@Remark",trueModel.Remark) ,
new SqlParameter("@IsProxy",trueModel.IsProxy),
new SqlParameter("@TardingRemark",trueModel.TardingRemark),
new SqlParameter("@SendMemberId",trueModel.SendMemberId),
new SqlParameter("@GetMemberId",trueModel.GetMemberId),
new SqlParameter("@RewardType",trueModel.RewardType),
new SqlParameter("@DataType",trueModel.DataType)
};
try
{
_dataBase.Query("sp_Pay_PromotionRecord_Update", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 删除
///
///
///
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Pay_PromotionRecord trueModel = model as Model.Pay_PromotionRecord;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid)
};
try
{
_dataBase.Query("sp_Pay_PromotionRecord_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 IEnumerable SelectAllModel(Infrastructure.Query.Pagination pagination, int? PayId, int? TradingType, int? TradingState, string IsProxy, DateTime? CreatStartTime, DateTime? CreatEndTime,string DataType)
{
if (PayId == null || PayId <= 0)
return null;//错误数据返会空
try
{
string condtion = " 1=1 ";
if (PayId > 0)
{
condtion = condtion + " and PayId ='" + PayId + "' ";
}
if (TradingType != null)
{
condtion = condtion + " and TradingType ='" + TradingType + "' ";
}
if (TradingState != null)
{
condtion = condtion + " and TradingState ='" + TradingState + "' ";
}
if (!string.IsNullOrEmpty(IsProxy))
{
condtion = condtion + " and IsProxy ='" + IsProxy + "' ";
}
if (!string.IsNullOrEmpty(DataType))
{
condtion = condtion + " and DataType ='" + DataType + "' ";
}
if (CreatStartTime != null)
{
condtion = condtion + " and CreateTime >='" + CreatStartTime + "' ";
}
if (CreatEndTime != null)
{
condtion = condtion + " and CreateTime <='" + CreatEndTime.Value.AddDays(1) + "' ";
}
IList result = _dataBase.SelectModelPage(pagination, "*", "Pay_PromotionRecord", "CreateTime DESC", "CreateTime DESC", condtion) as IList;//执行查询
return null == result ? null : result;//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
public IEnumerable SelectAllModel(Infrastructure.Query.Pagination pagination, int TradingType, string startDate, string endDate, string province, string city, string country)
{
IEnumerable list = null;
string selectTarget = " a.*,c.Name as MemberName ";
string fromSouce = " dbo.Pay_PromotionRecord a INNER JOIN dbo.Pay_PaymentAccount b ON a.Payid=b.Keyid INNER JOIN dbo.EC_MemberBasic c ON c.MemberId=b.MemberId ";
fromSouce += " where 1=1 and a.TradingState=-1 ";
fromSouce += " and a.tradingType=" + TradingType;
if (!string.IsNullOrEmpty(startDate))
fromSouce += " And a.CreateTime >= '" + startDate + "' ";
if (!string.IsNullOrEmpty(endDate))
fromSouce += " And a.CreateTime < '" + endDate + "' ";
if (!string.IsNullOrEmpty(province))
{
fromSouce += " and c.Province='" + province + "'";
}
if (!string.IsNullOrEmpty(city))
{
fromSouce += " and c.City='" + city + "'";
}
if (!string.IsNullOrEmpty(country))
{
fromSouce += " and c.County='" + country + "'";
}
list = _dataBase.SelectModelPage(pagination, selectTarget, fromSouce, " a.CreateTime desc ", " CreateTime desc ", string.Empty);
return list;
}
///
/// 获取上个月的推广排名
///
///
///
///
public IEnumerable SelectAllModelByLastMonth(DateTime? CreatStartTime, DateTime? CreatEndTime)
{
try
{
IList result = _dataBase.SelectModel(" TOP (10) c.Name AS MemberName,SUM(TradingMoney) AS AllMoney ", " dbo.Pay_PromotionRecord AS a LEFT JOIN dbo.Pay_PaymentAccount AS b ON a.PayId = b.Keyid LEFT JOIN dbo.EC_MemberBasic AS c ON b.MemberId = c.MemberId ", " CreateTime >= '" + DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01' and CreateTime < '" + DateTime.Now.ToString("yyyy-MM") + "-01' and DataType='推广' AND RewardType ='推广金' GROUP BY c.Name ") as IList;//执行查询
return null == result ? null : result;//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
}
}