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_PaymentRecordDAL : IEC_PaymentRecordDAL
|
{
|
|
private Database _dataBase = null;
|
|
public EC_PaymentRecordDAL()
|
{
|
_dataBase = new Database();
|
}
|
|
public EC_PaymentRecordDAL(Database dDatabase)
|
{
|
_dataBase = dDatabase;
|
}
|
|
/// <summary>
|
/// 新增
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.EC_PaymentRecord trueModel = model as Model.EC_PaymentRecord;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
new SqlParameter("@PayType",trueModel.PayType),
|
new SqlParameter("@Operator",trueModel.Operator),
|
new SqlParameter("@MemberId",trueModel.MemberId),
|
new SqlParameter("@MemberName",trueModel.MemberName),
|
new SqlParameter("@BusinessManagerId",trueModel.BusinessManagerId),
|
new SqlParameter("@AccountManagerId",trueModel.AccountManagerId),
|
new SqlParameter("@Contact",trueModel.Contact),
|
new SqlParameter("@CompanyPhone",trueModel.CompanyPhone),
|
new SqlParameter("@Email",trueModel.Email),
|
new SqlParameter("@QQ",trueModel.QQ),
|
new SqlParameter("@PayMoney",trueModel.PayMoney),
|
new SqlParameter("@PayAllMoney",trueModel.PayAllMoney),
|
new SqlParameter("@PayStartTime",trueModel.PayStartTime),
|
new SqlParameter("@PayEndTime",trueModel.PayEndTime),
|
new SqlParameter("@PayRole",trueModel.PayRole),
|
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
|
new SqlParameter("@Remark",trueModel.Remark),
|
new SqlParameter("@SoftwarePermissions",trueModel.SoftwarePermissions),
|
new SqlParameter("@AdForum",trueModel.AdForum),
|
new SqlParameter("@AdLocation",trueModel.AdLocation),
|
new SqlParameter("@AdSize",trueModel.AdSize),
|
new SqlParameter("@AdImg",trueModel.AdImg),
|
new SqlParameter("@AdInstallments",trueModel.AdInstallments)
|
};
|
try
|
{
|
_dataBase.Query("sp_EC_PaymentRecord_Insert", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 修改
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.EC_PaymentRecord trueModel = model as Model.EC_PaymentRecord;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
new SqlParameter("@Keyid",trueModel.Keyid),
|
new SqlParameter("@PayType",trueModel.PayType),
|
new SqlParameter("@Operator",trueModel.Operator),
|
new SqlParameter("@MemberId",trueModel.MemberId),
|
new SqlParameter("@MemberName",trueModel.MemberName),
|
new SqlParameter("@BusinessManagerId",trueModel.BusinessManagerId),
|
new SqlParameter("@AccountManagerId",trueModel.AccountManagerId),
|
new SqlParameter("@Contact",trueModel.Contact),
|
new SqlParameter("@CompanyPhone",trueModel.CompanyPhone),
|
new SqlParameter("@Email",trueModel.Email),
|
new SqlParameter("@QQ",trueModel.QQ),
|
new SqlParameter("@PayMoney",trueModel.PayMoney),
|
new SqlParameter("@PayAllMoney",trueModel.PayAllMoney),
|
new SqlParameter("@PayStartTime",trueModel.PayStartTime),
|
new SqlParameter("@PayEndTime",trueModel.PayEndTime),
|
new SqlParameter("@PayRole",trueModel.PayRole),
|
new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime),
|
new SqlParameter("@Remark",trueModel.Remark),
|
new SqlParameter("@SoftwarePermissions",trueModel.SoftwarePermissions),
|
new SqlParameter("@AdForum",trueModel.AdForum),
|
new SqlParameter("@AdLocation",trueModel.AdLocation),
|
new SqlParameter("@AdSize",trueModel.AdSize),
|
new SqlParameter("@AdImg",trueModel.AdImg),
|
new SqlParameter("@AdInstallments",trueModel.AdInstallments)
|
};
|
try
|
{
|
_dataBase.Query("sp_EC_PaymentRecord_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_PaymentRecord trueModel = model as Model.EC_PaymentRecord;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
new SqlParameter("@Keyid",trueModel.Keyid)
|
};
|
try
|
{
|
_dataBase.Query("sp_EC_PaymentRecord_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_PaymentRecord> SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination)
|
{
|
throw new NotImplementedException();
|
}
|
|
/// <summary>
|
/// 单个查询
|
/// </summary>
|
/// <param name="query"></param>
|
/// <returns></returns>
|
public IEnumerable<Model.EC_PaymentRecord> SelectAllModel(Infrastructure.Query.Query query)
|
{
|
|
throw new NotImplementedException();
|
}
|
|
/// <summary>
|
/// 分页查询
|
/// </summary>
|
/// <param name="pagination"></param>
|
/// <param name="StartTime"></param>
|
/// <param name="EndTime"></param>
|
/// <param name="Name"></param>
|
/// <param name="MemberType"></param>
|
/// <param name="OrderType"></param>
|
/// <param name="Province"></param>
|
/// <param name="City"></param>
|
/// <param name="Country"></param>
|
/// <returns></returns>
|
public IEnumerable<EC_PaymentRecord> SelectAllModelPage(Infrastructure.Query.Pagination pagination, DateTime? StartTime, DateTime? EndTime, string Name, string MemberType, string OrderType, string Province, string City, string Country)
|
{
|
try
|
{
|
string condition = " 1=1 ";
|
if (StartTime != null)
|
condition += " And a.PayStartTime >= '" + StartTime + "' ";
|
if (EndTime != null)
|
condition += " And a.PayStartTime <= '" + EndTime.Value.AddDays(1) + "' ";
|
if (!string.IsNullOrEmpty(Name))
|
condition += " And a.MemberName like '%" + Name + "%' ";
|
if (!string.IsNullOrEmpty(MemberType))
|
condition += " And a.PayRole = '" + MemberType + "' ";
|
if (!string.IsNullOrEmpty(OrderType))
|
condition += " And a.PayType = '" + OrderType + "' ";
|
if (!string.IsNullOrEmpty(Province))
|
condition += " And b.Province = '" + Province + "' ";
|
if (!string.IsNullOrEmpty(City))
|
condition += " And b.City = '" + City + "' ";
|
if (!string.IsNullOrEmpty(Country))
|
condition += " And b.County = '" + Country + "' ";
|
|
|
IList<EC_PaymentRecord> result = _dataBase.SelectModelPage<EC_PaymentRecord>(pagination, " a.* ", " dbo.EC_PaymentRecord AS a LEFT JOIN dbo.EC_MemberBasic AS b ON a.MemberId=b.MemberId ", " a.LastUpdateTime desc ", " LastUpdateTime desc ", condition) as IList<EC_PaymentRecord>;//执行查询
|
return result;//返回结果
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 分页查询
|
/// </summary>
|
/// <param name="pagination"></param>
|
/// <param name="StartTime"></param>
|
/// <param name="EndTime"></param>
|
/// <param name="Name"></param>
|
/// <param name="MemberType"></param>
|
/// <param name="OrderType"></param>
|
/// <returns></returns>
|
public IEnumerable<EC_PaymentRecord> SelectAllModelPage(Infrastructure.Query.Pagination pagination, string StartTime, string EndTime, string OrderType, string selectProvince, string selectCity, string selectCounty)
|
{
|
IEnumerable<EC_PaymentRecord> list = null;
|
string selectTarget = " a.* ";
|
string fromSouce = " dbo.EC_PaymentRecord a INNER JOIN EC_MemberBasic b ON a.MemberId=b.MemberId ";
|
|
fromSouce += " where 1=1 and a.PayMoney>0 ";
|
|
if (!string.IsNullOrEmpty(OrderType))
|
fromSouce += " And a.PayType = '" + OrderType + "' ";
|
|
if (!string.IsNullOrEmpty(StartTime))
|
fromSouce += " And a.PayStartTime >= '" + StartTime + "' ";
|
if (!string.IsNullOrEmpty(EndTime))
|
fromSouce += " And a.PayStartTime < '" + EndTime + "' ";
|
|
if (!string.IsNullOrEmpty(selectProvince))
|
{
|
fromSouce += " and b.Province='" + selectProvince + "'";
|
}
|
|
if (!string.IsNullOrEmpty(selectCity))
|
{
|
fromSouce += " and b.City='" + selectCity + "'";
|
}
|
|
if (!string.IsNullOrEmpty(selectCounty))
|
{
|
fromSouce += " and b.County='" + selectCounty + "'";
|
}
|
list = _dataBase.SelectModelPage<EC_PaymentRecord>(pagination, selectTarget, fromSouce, " a.LastUpdateTime desc ", " LastUpdateTime desc ", string.Empty);
|
return list;
|
}
|
|
/// <summary>
|
/// 新增
|
/// </summary>
|
/// <param name="m_EC_PaymentRecord"></param>
|
/// <param name="m_EC_MemberBasic"></param>
|
/// <param name="m_Sys_Permissions_UserRoleRelation"></param>
|
/// <returns></returns>
|
public bool AddModel(EC_PaymentRecord m_EC_PaymentRecord, EC_MemberBasic m_EC_MemberBasic, Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation)
|
{
|
try
|
{
|
EC_PaymentRecordDAL dal_EC_PaymentRecordDAL = new EC_PaymentRecordDAL(_dataBase);
|
Sys_Permissions_UserRoleRelationDAL dal_Sys_Permissions_UserRoleRelation = new Sys_Permissions_UserRoleRelationDAL(_dataBase);
|
EC_MemberBasicDAL dal_EC_MemberBasicDAL = new EC_MemberBasicDAL(_dataBase);
|
Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation_del = new Sys_Permissions_UserRoleRelation();
|
m_Sys_Permissions_UserRoleRelation_del = dal_Sys_Permissions_UserRoleRelation.SelectModel(m_EC_MemberBasic.MemberId);
|
|
bool result = false;
|
using (TransactionScope t_TransactionScope = new TransactionScope())
|
{
|
result = this.InserModel(m_EC_PaymentRecord);
|
if (result)
|
{
|
result = dal_EC_MemberBasicDAL.UpdateModel(m_EC_MemberBasic);
|
if (result)
|
{
|
if (m_Sys_Permissions_UserRoleRelation_del != null)
|
{
|
result = dal_Sys_Permissions_UserRoleRelation.DeleteModel(m_Sys_Permissions_UserRoleRelation_del);
|
}
|
if (result)
|
{
|
result = dal_Sys_Permissions_UserRoleRelation.InserModel(m_Sys_Permissions_UserRoleRelation);
|
if (result)
|
{
|
t_TransactionScope.Complete();
|
}
|
}
|
}
|
}
|
}
|
return result;
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 根据编号获得信息
|
/// </summary>
|
/// <param name="Keyid">编号</param>
|
/// <returns></returns>
|
public EC_PaymentRecord GetModelByKeyid(int? Keyid)
|
{
|
try
|
{
|
if (Keyid == null || Keyid < 0)
|
return null;//错误数据返会空
|
|
IList<EC_PaymentRecord> result = _dataBase.SelectModel<EC_PaymentRecord>("*", "EC_PaymentRecord", string.Format(" Keyid='{0}'", Keyid)) as IList<EC_PaymentRecord>;//执行查询
|
|
return (null == result || result.Count == 0) ? null : result[0];//返回结果
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 获取新的订单编号
|
/// </summary>
|
/// <returns></returns>
|
public string GetNewOrderId()
|
{
|
try
|
{
|
string OldNum = DateTime.Now.ToString("yyyyMMdd");
|
string NewNum = "";
|
|
IList<EC_PaymentRecord> result = _dataBase.SelectModel<EC_PaymentRecord>(" Top(1) * ", " EC_PaymentRecord ", string.Format(" Remark like '%{0}%' order by Keyid DESC ", OldNum)) as IList<EC_PaymentRecord>;//执行查询
|
|
if (result == null || result.Count == 0)
|
NewNum = DateTime.Now.ToString("yyyyMMdd") + "001";
|
else
|
NewNum = OldNum + (int.Parse(result[0].Remark.Replace(OldNum, "")) + 1).ToString("000");
|
|
return NewNum;
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
/// <summary>
|
/// 更新已付费用,并且修改会员状态
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public bool UpdateModel(Model.EC_PaymentRecord model, CY.Model.Pay.Pay_Request m_Pay_Request, EC_MemberBasic memberBasic)
|
{
|
try
|
{
|
Pay_PaymentAccountDAL _pay_PaymentAccount = new Pay_PaymentAccountDAL(_dataBase);
|
EC_MemberBasicDAL _EC_MemberBasicDAL = new EC_MemberBasicDAL(_dataBase);
|
bool IsSuccess = true;
|
using (TransactionScope t_TransactionScope = new TransactionScope())
|
{
|
IsSuccess = UpdateModel(model);
|
if (IsSuccess)
|
{
|
IsSuccess = _pay_PaymentAccount.Pay(m_Pay_Request);
|
if (IsSuccess)
|
{
|
if (model.PayType == "个人网店押金" || model.PayType == "印刷厂商注册费" || model.PayType == "印刷厂商续费")
|
{
|
IsSuccess = _EC_MemberBasicDAL.UpdateModel(memberBasic);
|
}
|
|
if (IsSuccess)
|
{
|
t_TransactionScope.Complete();
|
}
|
}
|
}
|
}
|
return IsSuccess;
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
|
}
|
|
}
|
}
|