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_UpgradeRecordDAL : IEC_UpgradeRecordDAL
{
private Database _dataBase = null;
public EC_UpgradeRecordDAL()
{
_dataBase = new Database();
}
public EC_UpgradeRecordDAL(Database database)
{
_dataBase = database;
}
///
/// 新增
///
///
///
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.EC_UpgradeRecord trueModel = model as Model.EC_UpgradeRecord;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@MemberId",trueModel.MemberId),
new SqlParameter("@Name",trueModel.Name),
new SqlParameter("@OldMemberType",trueModel.OldMemberType),
new SqlParameter("@NewMemberType",trueModel.NewMemberType),
new SqlParameter("@ApplicationStatus",trueModel.ApplicationStatus),
new SqlParameter("@ApplicationName",trueModel.ApplicationName),
new SqlParameter("@ApplicationTime",trueModel.ApplicationTime),
new SqlParameter("@AuditName",DBNull.Value),
new SqlParameter("@AuditTime",DBNull.Value),
new SqlParameter("@ApproveName",DBNull.Value),
new SqlParameter("@ApproveTime",DBNull.Value),
new SqlParameter("@Remark",trueModel.Remark)
};
try
{
_dataBase.Query("sp_EC_UpgradeRecord_Insert", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 修改
///
///
///
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.EC_UpgradeRecord trueModel = model as Model.EC_UpgradeRecord;
if (trueModel == null)
{
return false;
}
object AppName = null;
if (string.IsNullOrEmpty(trueModel.ApproveName))
AppName = DBNull.Value;
else
AppName = trueModel.ApproveName;
object AppTime = null;
if (trueModel.ApproveTime == null)
AppTime = DBNull.Value;
else
AppTime = trueModel.ApproveTime;
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid),
new SqlParameter("@MemberId",trueModel.MemberId),
new SqlParameter("@Name",trueModel.Name),
new SqlParameter("@OldMemberType",trueModel.OldMemberType),
new SqlParameter("@NewMemberType",trueModel.NewMemberType),
new SqlParameter("@ApplicationStatus",trueModel.ApplicationStatus),
new SqlParameter("@ApplicationName",trueModel.ApplicationName),
new SqlParameter("@ApplicationTime",trueModel.ApplicationTime),
new SqlParameter("@AuditName",trueModel.AuditName),
new SqlParameter("@AuditTime",trueModel.AuditTime),
new SqlParameter("@ApproveName",AppName),
new SqlParameter("@ApproveTime",AppTime),
new SqlParameter("@Remark",trueModel.Remark)
};
try
{
_dataBase.Query("sp_EC_UpgradeRecord_Update", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 会员升级批准
///
///
///
///
///
///
///
///
public bool UpdateModel(EC_UpgradeRecord m_EC_UpgradeRecord, EC_MemberBasic m_EC_MemberBasic, EC_FirmInfo m_EC_FirmInfo, EC_ShopInfo m_EC_ShopInfo, OA_Commodity m_OA_Commodity_Paper, OA_Commodity m_OA_Commodity_Sheet, Integrity_IntegrityCard m_Integrity_IntegrityCard_Seller)
{
try
{
bool result = false;
EC_MemberBasicDAL dal_EC_MemberBasicDAL = new EC_MemberBasicDAL(_dataBase);
EC_FirmInfoDAL dal_EC_FirmInfoDAL = new EC_FirmInfoDAL(_dataBase);
EC_ShopInfoDAL dal_EC_ShopInfoDAL = new EC_ShopInfoDAL(_dataBase);
OA_CommodityDAL dal_OA_CommodityDAL = new OA_CommodityDAL(_dataBase);
Integrity_IntegrityCardDAL dal_Integrity_IntegrityCardDAL = new Integrity_IntegrityCardDAL(_dataBase);
using (TransactionScope t_TransactionScope = new TransactionScope())
{
result = UpdateModel(m_EC_UpgradeRecord);
if (result)
{
result = dal_EC_MemberBasicDAL.UpdateModel(m_EC_MemberBasic);
if (result)
{
if (m_EC_FirmInfo != null && m_EC_FirmInfo.MemberId == m_EC_MemberBasic.MemberId)
result = dal_EC_FirmInfoDAL.InserModel(m_EC_FirmInfo);
else if (m_EC_ShopInfo != null && m_EC_ShopInfo.SellerId == m_EC_MemberBasic.MemberId)
result = dal_EC_ShopInfoDAL.InserModel(m_EC_ShopInfo);
if (result && m_OA_Commodity_Paper != null && m_OA_Commodity_Paper.FirmId == m_EC_MemberBasic.MemberId)
result = dal_OA_CommodityDAL.InserModel(m_OA_Commodity_Paper);
if (result && m_OA_Commodity_Sheet != null && m_OA_Commodity_Sheet.FirmId == m_EC_MemberBasic.MemberId)
result = dal_OA_CommodityDAL.InserModel(m_OA_Commodity_Sheet);
if (result && m_Integrity_IntegrityCard_Seller != null && m_Integrity_IntegrityCard_Seller.Keyid == null)
result = dal_Integrity_IntegrityCardDAL.InserModel(m_Integrity_IntegrityCard_Seller);
if (result)
t_TransactionScope.Complete();
}
}
}
return result;
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 删除
///
///
///
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.EC_UpgradeRecord trueModel = model as Model.EC_UpgradeRecord;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid)
};
try
{
_dataBase.Query("sp_EC_UpgradeRecord_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 SelectModelPage(Infrastructure.Query.Pagination pagination, Guid MemberId, string MemberName, int? Status)
{
try
{
string condition = " 1=1 ";
if (!string.IsNullOrEmpty(MemberName))
{
condition += "and e.Name like '%" + MemberName + "%'";
}
if (MemberId != Guid.Empty)
{
condition += " and MemberId = '" + MemberId + "'";
}
if (Status != null)
{
condition += " and ApplicationStatus = '" + Status + "'";
}
return _dataBase.SelectModelPage(pagination, "e.*,s.Name as ApplicationStatusName", " EC_UpgradeRecord as e left join Sys_Dictionary s on e.ApplicationStatus = s.MeanValue and s.DicType ='会员升级状态' ", " ApplicationStatus ASC ,ApplicationTime DESC ", " ApplicationStatus ASC ,ApplicationTime DESC ", condition);
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 单个查询
///
///
///
public IEnumerable SelectAllModel(Infrastructure.Query.Query query)
{
throw new NotImplementedException();
}
///
/// 根据编号获得信息
///
/// 编号
///
public EC_UpgradeRecord GetModelByKeyid(int? Keyid)
{
try
{
if (Keyid == null || Keyid < 0)
return null;//错误数据返会空
IList result = _dataBase.SelectModel("*", "EC_UpgradeRecord", string.Format(" Keyid='{0}'", Keyid)) as IList;//执行查询
return (null == result || result.Count == 0) ? null : result[0];//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 根据会员编号判断是否存在申请中的记录
///
///
///
public bool IsAlreadyApplication(Guid MemberId)
{
try
{
if (MemberId == null)
return false;//错误数据返会空
IList m_EC_UpgradeRecordList = _dataBase.SelectModel("*", "EC_UpgradeRecord", string.Format(" MemberId='{0}' and (ApplicationStatus ='1' or ApplicationStatus ='2')", MemberId)) as IList;//执行查询
return (null == m_EC_UpgradeRecordList || m_EC_UpgradeRecordList.Count == 0) ? false : true;//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
}
}