using System; using System.Collections.Generic; using System.Data; using SuperMap.RealEstate.ServiceModel; using Business = SuperMap.RealEstate.BasicArchives.Storage.Business; namespace GSYWApi.Helper { /// /// 促销信息表相关方法 /// public class PROMOTIONHelper { #region 获取促销信息表列表 /// /// 获取促销信息表列表 /// /// 事务管理器 /// 促销类型 /// 促销状态 /// 1:有效,2:审核中,0:无效 /// /// 服务区内码集合 /// 数据总数量 /// 查询页码数 /// 每显示行数 /// 排序字段 /// public static List GetPROMOTIONList(Transaction transaction, int? PromotionType, int? PromotionStatus, string Serverpart_IDS, ref int TotalCount, int PageIndex = 1, int PageSize = 10, string SortStr = "") { List PROMOTIONList = new List(); string WhereSQL = "", RowFilterSQL = ""; //查询促销类型 if (PromotionType != null) { WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SALESPROMOTE_TYPE = " + PromotionType; } //查询促销状态 if (PromotionStatus != null) { WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SALESPROMOTE_STATE = " + PromotionStatus; } //查询服务区内码 if (!string.IsNullOrWhiteSpace(Serverpart_IDS)) { WhereSQL += (WhereSQL == "" ? "WHERE " : " AND ") + "SERVERPART_IDS = '" + Serverpart_IDS + "'"; } DataTable dtPROMOTION = new Business.PROMOTION(transaction).FillDataTable(WhereSQL); if (RowFilterSQL != "") { dtPROMOTION.DefaultView.RowFilter = RowFilterSQL; } //排序: dtPROMOTION.DefaultView.Sort = SortStr; dtPROMOTION = dtPROMOTION.DefaultView.ToTable(); //获取查询结果总记录条数 TotalCount = dtPROMOTION.Rows.Count; //根据传入的页码和每页显示条数返回结果 dtPROMOTION = CommonHelper.GetDataTableWithPageSize(dtPROMOTION, PageSize, PageIndex); foreach (DataRow drPROMOTION in dtPROMOTION.Rows) { Model.PROMOTIONModel promotionModel = new Model.PROMOTIONModel(); promotionModel.PROMOTION_ID = drPROMOTION["PROMOTION_ID"].TryParseToInt(); //内码 promotionModel.MEMBERSHIP_IDS = drPROMOTION["MEMBERSHIP_IDS"].ToString(); //会员内码 promotionModel.MEMBERSHIP_TYPE = drPROMOTION["MEMBERSHIP_TYPE"].TryParseToInt(); //会员类型 promotionModel.MEMBERSHIP_LEVEL = drPROMOTION["MEMBERSHIP_LEVEL"].TryParseToInt(); //会员等级 promotionModel.SERVERPART_IDS = drPROMOTION["SERVERPART_IDS"].ToString(); //服务区 promotionModel.SERVERPARTSHOP_IDS = drPROMOTION["SERVERPARTSHOP_IDS"].ToString(); //门店内码集合 if (!string.IsNullOrWhiteSpace(promotionModel.SERVERPARTSHOP_IDS)) { //解析门店名称 string _SHOP_NAMES = ""; foreach (Business.SERVERPARTSHOP _SERVERPARTSHOP in new Business.SERVERPARTSHOP(transaction).FillCollection( "WHERE SERVERPARTSHOP_ID IN (" + promotionModel.SERVERPARTSHOP_IDS + ")")) { _SHOP_NAMES += (_SHOP_NAMES == "" ? "" : ",") + _SERVERPARTSHOP.SHOPNAME; } promotionModel.SHOP_NAMES = _SHOP_NAMES; } promotionModel.COMMODITYTYPE_IDS = drPROMOTION["COMMODITYTYPE_IDS"].ToString(); //商品类型 promotionModel.COMMODITY_IDS = drPROMOTION["COMMODITY_IDS"].ToString(); //商品名称 promotionModel.CONDITION_SKU = drPROMOTION["CONDITION_SKU"].ToString(); //条件商品编码 promotionModel.SALESPROMOTE_STARTDATE = drPROMOTION["SALESPROMOTE_STARTDATE"].TryParseToDateTime(); //促销开始时间 promotionModel.SALESPROMOTE_ENDDATE = drPROMOTION["SALESPROMOTE_ENDDATE"].TryParseToDateTime(); //促销结束时间 promotionModel.SALESPROMOTE_TYPE = drPROMOTION["SALESPROMOTE_TYPE"].TryParseToInt(); //促销类型 promotionModel.SALESPROMOTE_NAME = drPROMOTION["SALESPROMOTE_NAME"].ToString(); //促销名称 promotionModel.THRESHOLD_AMOUNT = drPROMOTION["THRESHOLD_AMOUNT"].TryParseToDouble(); //促销起点金额 promotionModel.DISCOUNT_RATE = drPROMOTION["DISCOUNT_RATE"].TryParseToDouble(); //折扣金额 promotionModel.SALESPROMOTE_VIP = drPROMOTION["SALESPROMOTE_VIP"].TryParseToShort(); //会员促销 promotionModel.SALESPROMOTE_STATE = drPROMOTION["SALESPROMOTE_STATE"].TryParseToShort(); //促销状态 promotionModel.TICKET_PREFIX = drPROMOTION["TICKET_PREFIX"].ToString(); //小票前缀 promotionModel.STAFF_ID = drPROMOTION["STAFF_ID"].TryParseToInt(); //操作员内码 promotionModel.STAFF_NAME = drPROMOTION["STAFF_NAME"].ToString(); //操作人员 promotionModel.OPERATE_DATE = drPROMOTION["OPERATE_DATE"].TryParseToDateTime(); //操作时间 promotionModel.SALESPROMOTE_DESC = drPROMOTION["SALESPROMOTE_DESC"].ToString(); //备注 PROMOTIONList.Add(promotionModel); } return PROMOTIONList; } #endregion #region 获取促销信息表明细 /// /// 获取促销信息表明细 /// /// 事务管理器 /// 促销信息表内码 /// public static Model.PROMOTIONModel GetPROMOTIONDetail(Transaction transaction, int PROMOTIONId) { Model.PROMOTIONModel promotionModel = new Model.PROMOTIONModel(); Business.PROMOTION _PROMOTION = new Business.PROMOTION(transaction); _PROMOTION.PROMOTION_ID = PROMOTIONId; if (_PROMOTION.Select()) { promotionModel.PROMOTION_ID = _PROMOTION.PROMOTION_ID; //内码 promotionModel.MEMBERSHIP_IDS = _PROMOTION.MEMBERSHIP_IDS; //会员内码 promotionModel.MEMBERSHIP_TYPE = _PROMOTION.MEMBERSHIP_TYPE; //会员类型 promotionModel.MEMBERSHIP_LEVEL = _PROMOTION.MEMBERSHIP_LEVEL; //会员等级 promotionModel.SERVERPART_IDS = _PROMOTION.SERVERPART_IDS; //服务区 promotionModel.SERVERPARTSHOP_IDS = _PROMOTION.SERVERPARTSHOP_IDS; //门店内码集合 if (!string.IsNullOrWhiteSpace(promotionModel.SERVERPARTSHOP_IDS)) { //解析门店名称 string _SHOP_NAMES = ""; foreach (Business.SERVERPARTSHOP _SERVERPARTSHOP in new Business.SERVERPARTSHOP(transaction).FillCollection( "WHERE SERVERPARTSHOP_ID IN (" + promotionModel.SERVERPARTSHOP_IDS + ")")) { _SHOP_NAMES += (_SHOP_NAMES == "" ? "" : ",") + _SERVERPARTSHOP.SHOPNAME; } promotionModel.SHOP_NAMES = _SHOP_NAMES; } promotionModel.COMMODITYTYPE_IDS = _PROMOTION.COMMODITYTYPE_IDS; //商品类型 promotionModel.COMMODITY_IDS = _PROMOTION.COMMODITY_IDS; //商品名称 promotionModel.CONDITION_SKU = _PROMOTION.CONDITION_SKU; //条件商品编码 promotionModel.SALESPROMOTE_STARTDATE = _PROMOTION.SALESPROMOTE_STARTDATE; //促销开始时间 promotionModel.SALESPROMOTE_ENDDATE = _PROMOTION.SALESPROMOTE_ENDDATE; //促销结束时间 promotionModel.SALESPROMOTE_TYPE = _PROMOTION.SALESPROMOTE_TYPE; //促销类型 promotionModel.SALESPROMOTE_NAME = _PROMOTION.SALESPROMOTE_NAME; //促销名称 promotionModel.THRESHOLD_AMOUNT = _PROMOTION.THRESHOLD_AMOUNT; //促销起点金额 promotionModel.DISCOUNT_RATE = _PROMOTION.DISCOUNT_RATE; //折扣金额 promotionModel.SALESPROMOTE_VIP = _PROMOTION.SALESPROMOTE_VIP; //会员促销 promotionModel.SALESPROMOTE_STATE = _PROMOTION.SALESPROMOTE_STATE; //促销状态 promotionModel.TICKET_PREFIX = _PROMOTION.TICKET_PREFIX; //小票前缀 promotionModel.STAFF_ID = _PROMOTION.STAFF_ID; //操作员内码 promotionModel.STAFF_NAME = _PROMOTION.STAFF_NAME; //操作人员 promotionModel.OPERATE_DATE = _PROMOTION.OPERATE_DATE; //操作时间 promotionModel.SALESPROMOTE_DESC = _PROMOTION.SALESPROMOTE_DESC; //备注 } return promotionModel; } #endregion #region 同步促销信息表 /// /// 同步促销信息表 /// /// 事务管理器 /// 促销信息表对象 /// public static bool SynchroPROMOTION(Transaction transaction, Model.PROMOTIONModel promotionModel) { bool SynchroFlag = true; Business.PROMOTION _PROMOTION = new Business.PROMOTION(transaction); if (promotionModel.PROMOTION_ID != null) { _PROMOTION.PROMOTION_ID = promotionModel.PROMOTION_ID; if (_PROMOTION.Select()) { SynchroModelToObject(_PROMOTION, promotionModel); _PROMOTION.Update(); } else { SynchroFlag = false; } } else { SynchroModelToObject(_PROMOTION, promotionModel); _PROMOTION.Insert(); } return SynchroFlag; } #region 赋值促销信息表数据对象 /// /// 赋值促销信息表数据对象 /// /// /// public static void SynchroModelToObject(Business.PROMOTION _PROMOTION, Model.PROMOTIONModel promotionModel) { _PROMOTION.MEMBERSHIP_IDS = promotionModel.MEMBERSHIP_IDS; //会员内码 _PROMOTION.MEMBERSHIP_TYPE = promotionModel.MEMBERSHIP_TYPE; //会员类型 _PROMOTION.MEMBERSHIP_LEVEL = promotionModel.MEMBERSHIP_LEVEL; //会员等级 _PROMOTION.SERVERPART_IDS = promotionModel.SERVERPART_IDS; //服务区 _PROMOTION.SERVERPARTSHOP_IDS = promotionModel.SERVERPARTSHOP_IDS; //门店名称 _PROMOTION.COMMODITYTYPE_IDS = promotionModel.COMMODITYTYPE_IDS; //商品类型 _PROMOTION.COMMODITY_IDS = promotionModel.COMMODITY_IDS; //商品名称 _PROMOTION.CONDITION_SKU = promotionModel.CONDITION_SKU; //条件商品编码 _PROMOTION.SALESPROMOTE_STARTDATE = promotionModel.SALESPROMOTE_STARTDATE; //促销开始时间 _PROMOTION.SALESPROMOTE_ENDDATE = promotionModel.SALESPROMOTE_ENDDATE; //促销结束时间 _PROMOTION.SALESPROMOTE_TYPE = promotionModel.SALESPROMOTE_TYPE; //促销类型 _PROMOTION.SALESPROMOTE_NAME = promotionModel.SALESPROMOTE_NAME; //促销名称 _PROMOTION.THRESHOLD_AMOUNT = promotionModel.THRESHOLD_AMOUNT; //促销起点金额 _PROMOTION.DISCOUNT_RATE = promotionModel.DISCOUNT_RATE; //折扣金额 _PROMOTION.SALESPROMOTE_VIP = promotionModel.SALESPROMOTE_VIP; //会员促销 _PROMOTION.SALESPROMOTE_STATE = promotionModel.SALESPROMOTE_STATE; //促销状态 _PROMOTION.TICKET_PREFIX = promotionModel.TICKET_PREFIX; //小票前缀 _PROMOTION.STAFF_ID = promotionModel.STAFF_ID; //操作员内码 _PROMOTION.STAFF_NAME = promotionModel.STAFF_NAME; //操作人员 _PROMOTION.OPERATE_DATE = promotionModel.OPERATE_DATE; //操作时间 _PROMOTION.SALESPROMOTE_DESC = promotionModel.SALESPROMOTE_DESC; //备注 } #endregion #endregion #region 更新促销信息状态 /// /// 更新促销信息状态 /// /// 事务管理器 /// 促销信息表内码 /// 促销状态 /// public static bool UpdatePromotionstatus(Transaction transaction, int? PromotionId, int PromotionStatus) { bool UpdateFlag = false; if (PromotionId != null) { Business.PROMOTION _PROMOTION = new Business.PROMOTION(transaction); _PROMOTION.PROMOTION_ID = PromotionId; if (_PROMOTION.Select()) { _PROMOTION.SALESPROMOTE_STATE = (short)PromotionStatus; UpdateFlag = _PROMOTION.Update(); } } return UpdateFlag; } #endregion #region 删除促销信息表 /// /// 删除促销信息表 /// /// 事务管理器 /// 促销信息表内码 /// public static bool DeletePROMOTION(Transaction transaction, int? PROMOTIONId) { bool DeleteFlag = false; if (PROMOTIONId != null) { Business.PROMOTION _PROMOTION = new Business.PROMOTION(transaction); _PROMOTION.PROMOTION_ID = PROMOTIONId; if (_PROMOTION.Select()) { _PROMOTION.Delete(); DeleteFlag = true; } } return DeleteFlag; } #endregion } }