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(); } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.EC_ExchangeRecord trueModel = model as Model.EC_ExchangeRecord; if (trueModel == null) { return false; } IList sqlParms = new List() { 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()); trueModel.Keyid = (int)sqlParms[0].Value; } catch (Exception ex) { throw ex; } return true; } /// /// 新增 /// /// /// /// /// /// 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; } } /// /// 修改 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { Model.EC_ExchangeRecord trueModel = model as Model.EC_ExchangeRecord; if (trueModel == null) { return false; } IList sqlParms = new List() { 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()); } catch (Exception ex) { throw ex; } return true; } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.EC_ExchangeRecord trueModel = model as Model.EC_ExchangeRecord; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid) }; try { _dataBase.Query("sp_EC_ExchangeRecord_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,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(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; } } /// /// 单个查询 /// /// /// public IEnumerable SelectAllModel(Infrastructure.Query.Query query) { throw new NotImplementedException(); } /// /// 根据编号获得信息 /// /// 编号 /// public EC_ExchangeRecord GetModelByKeyid(int? Keyid) { try { if (Keyid == null || Keyid < 0) return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "EC_ExchangeRecord", string.Format(" Keyid='{0}'", Keyid)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } catch (Exception ex) { throw ex; } } } }