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_ProxyApplicationDAL : IEC_ProxyApplicationDAL
{
private Database _dataBase = null;
public EC_ProxyApplicationDAL()
{
_dataBase = new Database();
}
public EC_ProxyApplicationDAL(Database database)
{
_dataBase = database;
}
///
/// 新增
///
///
///
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.EC_ProxyApplication trueModel = model as Model.EC_ProxyApplication;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@ApplicationMemberId",trueModel.ApplicationMemberId),
new SqlParameter("@ApplicationType",trueModel.ApplicationType),
new SqlParameter("@ApplicationArea",trueModel.ApplicationArea),
new SqlParameter("@ApplicationAreaLevel",trueModel.ApplicationAreaLevel),
new SqlParameter("@ApplicationTime",trueModel.ApplicationTime),
new SqlParameter("@ApplicationStatus",trueModel.ApplicationStatus),
new SqlParameter("@UnitName",trueModel.UnitName),
new SqlParameter("@UnitLegal",trueModel.UnitLegal),
new SqlParameter("@UnitRegistCapital",trueModel.UnitRegistCapital),
new SqlParameter("@UnAddressiDetail",trueModel.UnAddressiDetail),
new SqlParameter("@UnitContacts",trueModel.UnitContacts),
new SqlParameter("@UnitPhoneNum",trueModel.UnitPhoneNum),
new SqlParameter("@UnitBusiness",trueModel.UnitBusiness),
new SqlParameter("@UnitAnnualMoney",trueModel.UnitAnnualMoney),
new SqlParameter("@UnitAnnualProfit",trueModel.UnitAnnualProfit),
new SqlParameter("@UnitMachine",trueModel.UnitMachine),
new SqlParameter("@UnitStaffNum",trueModel.UnitStaffNum),
new SqlParameter("@UnitSize",trueModel.UnitSize),
new SqlParameter("@UnitCustomDetail",trueModel.UnitCustomDetail),
new SqlParameter("@UnitLegalDetail",trueModel.UnitLegalDetail),
new SqlParameter("@UnitShareholder",trueModel.UnitShareholder),
new SqlParameter("@UnitAffiliateProgram",trueModel.UnitAffiliateProgram),
new SqlParameter("@UnitSuperiority",trueModel.UnitSuperiority),
new SqlParameter("@HandleTime",trueModel.HandleTime),
new SqlParameter("@HandlePeople",trueModel.HandlePeople),
new SqlParameter("@HandleResult",trueModel.HandleResult)
};
try
{
_dataBase.Query("sp_EC_ProxyApplication_Insert", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 修改
///
///
///
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.EC_ProxyApplication trueModel = model as Model.EC_ProxyApplication;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid),
new SqlParameter("@ApplicationMemberId",trueModel.ApplicationMemberId),
new SqlParameter("@ApplicationType",trueModel.ApplicationType),
new SqlParameter("@ApplicationArea",trueModel.ApplicationArea),
new SqlParameter("@ApplicationAreaLevel",trueModel.ApplicationAreaLevel),
new SqlParameter("@ApplicationTime",trueModel.ApplicationTime),
new SqlParameter("@ApplicationStatus",trueModel.ApplicationStatus),
new SqlParameter("@UnitName",trueModel.UnitName),
new SqlParameter("@UnitLegal",trueModel.UnitLegal),
new SqlParameter("@UnitRegistCapital",trueModel.UnitRegistCapital),
new SqlParameter("@UnAddressiDetail",trueModel.UnAddressiDetail),
new SqlParameter("@UnitContacts",trueModel.UnitContacts),
new SqlParameter("@UnitPhoneNum",trueModel.UnitPhoneNum),
new SqlParameter("@UnitBusiness",trueModel.UnitBusiness),
new SqlParameter("@UnitAnnualMoney",trueModel.UnitAnnualMoney),
new SqlParameter("@UnitAnnualProfit",trueModel.UnitAnnualProfit),
new SqlParameter("@UnitMachine",trueModel.UnitMachine),
new SqlParameter("@UnitStaffNum",trueModel.UnitStaffNum),
new SqlParameter("@UnitSize",trueModel.UnitSize),
new SqlParameter("@UnitCustomDetail",trueModel.UnitCustomDetail),
new SqlParameter("@UnitLegalDetail",trueModel.UnitLegalDetail),
new SqlParameter("@UnitShareholder",trueModel.UnitShareholder),
new SqlParameter("@UnitAffiliateProgram",trueModel.UnitAffiliateProgram),
new SqlParameter("@UnitSuperiority",trueModel.UnitSuperiority),
new SqlParameter("@HandleTime",trueModel.HandleTime),
new SqlParameter("@HandlePeople",trueModel.HandlePeople),
new SqlParameter("@HandleResult",trueModel.HandleResult)
};
try
{
_dataBase.Query("sp_EC_ProxyApplication_Update", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 删除
///
///
///
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.EC_ProxyApplication trueModel = model as Model.EC_ProxyApplication;
if (trueModel == null)
{
return false;
}
IList sqlParms = new List()
{
new SqlParameter("@Keyid",trueModel.Keyid)
};
try
{
_dataBase.Query("sp_EC_ProxyApplication_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray());
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 处理代理申请
///
///
///
///
public bool Handle(EC_ProxyApplication m_EC_ProxyApplication, EC_ProxyMember m_EC_ProxyMember)
{
try
{
bool result = true;
EC_ProxyMemberDAL dal_EC_ProxyMemberDAL = new EC_ProxyMemberDAL(_dataBase);
using (TransactionScope t_TransactionScope = new TransactionScope())
{
if (result)
{
result = UpdateModel(m_EC_ProxyApplication);
if (result)
{
if (m_EC_ProxyMember != null)
{
result = dal_EC_ProxyMemberDAL.InserModel(m_EC_ProxyMember);
}
if (result)
{
t_TransactionScope.Complete();
}
}
}
}
return result;
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 分页查询
///
///
///
///
public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination)
{
throw new NotImplementedException();
}
///
/// 分页查询
///
///
///
///
///
public IEnumerable SelectModelPage(Infrastructure.Query.Pagination pagination, string MemberName, string Status)
{
try
{
string condition = " 1=1 ";
if (!string.IsNullOrEmpty(MemberName))
{
condition += "and UnitName like '%" + MemberName + "%'";
}
if (!string.IsNullOrEmpty(Status))
{
condition += " and ApplicationStatus = '" + Status + "'";
}
return _dataBase.SelectModelPage(pagination, " * ", " EC_ProxyApplication ", " ApplicationStatus DESC ", " ApplicationStatus DESC ", condition);
}
catch (Exception ex)
{
throw ex;
}
}
///
/// 单个查询
///
///
///
public IEnumerable SelectAllModel(Infrastructure.Query.Query query)
{
throw new NotImplementedException();
}
///
/// 根据编号获得信息
///
/// 编号
///
public EC_ProxyApplication GetModelByKeyid(int? Keyid)
{
try
{
if (Keyid == null || Keyid < 0)
return null;//错误数据返会空
IList result = _dataBase.SelectModel("*", "EC_ProxyApplication", 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_ProxyApplicationList = _dataBase.SelectModel("*", "EC_ProxyApplication", string.Format(" ApplicationMemberId='{0}' and (ApplicationStatus ='已申请')", MemberId)) as IList;//执行查询
return (null == m_EC_ProxyApplicationList || m_EC_ProxyApplicationList.Count == 0) ? false : true;//返回结果
}
catch (Exception ex)
{
throw ex;
}
}
}
}