/// <summary> /// 更新数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns>受影响行数</returns> /// <remarks>2013-08-21 黄志勇 创建</remarks> public override int Update(SpPromotion entity) { return(Context.Update("SpPromotion", entity) .AutoMap(o => o.SysNo) .Where("SysNo", entity.SysNo) .Execute()); }
/// <summary> /// 通过促销码来获取数据 /// </summary> /// <param name="promotionCode">促销码</param> /// <returns>数据实体</returns> /// <remarks>2013-12-9 朱家宏 创建</remarks> public override SpPromotion GetByPromotionCode(string promotionCode) { SpPromotion model = null; if (!string.IsNullOrWhiteSpace(promotionCode)) { model = Context.Sql("select * from SpPromotion where promotionCode=@PromotionCode") .Parameter("PromotionCode", promotionCode) .QuerySingle <SpPromotion>(); } return(model); }
/// <summary> /// 插入数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns>新增记录编号</returns> /// <remarks>2013-08-21 黄志勇 创建</remarks> public override int Insert(SpPromotion entity) { if (entity.AuditDate == DateTime.MinValue) { entity.AuditDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; } entity.SysNo = Context.Insert("SpPromotion", entity) .AutoMap(o => o.SysNo) .ExecuteReturnLastId <int>("SysNo"); return(entity.SysNo); }
/// <summary> /// 保存促销 /// </summary> /// <param name="promotion">促销实体</param> /// <param name="user">操作者</param> /// <returns>sysNo</returns> /// <remarks>2013-08-22 黄志勇 创建</remarks> public int SavePromotion(SpPromotion promotion, SyUser user) { promotion.LastUpdateBy = user.SysNo; promotion.LastUpdateDate = DateTime.Now; if (promotion.SysNo > 0) { return(ISpPromotionDao.Instance.Update(promotion)); } promotion.CreatedBy = user.SysNo; promotion.CreatedDate = DateTime.Now; return(ISpPromotionDao.Instance.Insert(promotion)); }
/// <summary> /// 审核促销 /// </summary> /// <param name="cbSpPromotion">促销参数实体</param> /// <param name="user">操作人</param> /// <returns>操作是否成功</returns> /// <remarks>2013-08-26 余勇 创建</remarks> public Result Audit(CBSpPromotion cbSpPromotion, SyUser user) { SpPromotion model = cbSpPromotion.Promotion; var res = new Result(); if (model.SysNo > 0) { #region 修改 var upModel = ISpPromotionDao.Instance.Get(model.SysNo); upModel.Name = model.Name; upModel.Description = model.Description; upModel.DisplayPrefix = model.DisplayPrefix; upModel.SubjectUrl = model.SubjectUrl; upModel.PromotionType = model.PromotionType; upModel.WebPlatform = model.WebPlatform; //2014-01-07 朱家宏 添加 upModel.ShopPlatform = model.ShopPlatform; upModel.MallAppPlatform = model.MallAppPlatform; upModel.LogisticsAppPlatform = model.LogisticsAppPlatform; //2014-02-26 黄志勇 添加 upModel.StartTime = model.StartTime; upModel.EndTime = model.EndTime; upModel.PromotionCode = model.PromotionCode; upModel.IsUsePromotionCode = model.IsUsePromotionCode; upModel.PromotionUseQuantity = model.PromotionUseQuantity; upModel.PromotionUsedQuantity = model.PromotionUsedQuantity; upModel.UserUseQuantity = model.UserUseQuantity; upModel.Priority = model.Priority; upModel.Status = (int)PromotionStatus.促销状态.已审; upModel.AuditorSysNo = user.SysNo; upModel.AuditDate = DateTime.Now; upModel.LastUpdateBy = user.SysNo; upModel.LastUpdateDate = DateTime.Now; ISpPromotionDao.Instance.Update(upModel); //修改 if (model.SysNo > 0) //添加子表 { ISpPromotionGiftDao.Instance.DeleteByPromotionSysNo(model.SysNo); ISpPromotionOverlayDao.Instance.DeleteByPromotionSysNo(model.SysNo); ISpPromotionRuleKeyValueDao.Instance.DeleteByPromotionSysNo(model.SysNo); ISpPromotionRuleConditionDao.Instance.DeleteByPromotionSysNo(model.SysNo); if (cbSpPromotion.PromotionGifts != null) { foreach (var item in cbSpPromotion.PromotionGifts) { item.PromotionSysNo = model.SysNo; ISpPromotionGiftDao.Instance.Insert(item); } } if (cbSpPromotion.PromotionOverlays != null) { foreach (var item in cbSpPromotion.PromotionOverlays) { var m = new SpPromotionOverlay { OverlayCode = model.SysNo, PromotionSysNo = item }; ISpPromotionOverlayDao.Instance.Insert(m); } ISpPromotionOverlayDao.Instance.Insert(new SpPromotionOverlay { OverlayCode = model.SysNo, PromotionSysNo = model.SysNo }); } if (cbSpPromotion.PromotionRuleKeyValues != null) { foreach (var item in cbSpPromotion.PromotionRuleKeyValues) { if (item.RuleValue != null && item.RuleValue.EndsWith(";")) { item.RuleValue = item.RuleValue.TrimEnd(';'); } item.PromotionSysNo = model.SysNo; ISpPromotionRuleKeyValueDao.Instance.Insert(item); } } if (cbSpPromotion.PromotionRule != null) { cbSpPromotion.PromotionRule.LastUpdateBy = user.SysNo; cbSpPromotion.PromotionRule.LastUpdateDate = DateTime.Now; var ruleCondition = new SpPromotionRuleCondition { PromotionSysNo = model.SysNo, PromotionRuleSysNo = cbSpPromotion.PromotionRule.SysNo }; ISpPromotionRuleConditionDao.Instance.Insert(ruleCondition); } res.Status = true; } #endregion } return(res); }
/// <summary> /// 更新数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns></returns> /// <remarks>2013-08-21 黄志勇 创建</remarks> public abstract int Update(SpPromotion entity);
/// <summary> /// 插入数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns>新增记录编号</returns> /// <remarks>2013-08-21 黄志勇 创建</remarks> public abstract int Insert(SpPromotion entity);
/// <summary> /// 促销属性关联 /// </summary> /// <param name="promotions">促销集合</param> /// <returns>促销集合</returns> /// <remarks>2013-08-14 吴文强 创建</remarks> private List <CBSpPromotion> PromotionAssociation(List <SpPromotion> promotions) { if (promotions == null || promotions.Count == 0) { return(new List <CBSpPromotion>()); } var listPromotionSysNo = promotions.Select(p => p.SysNo).ToArray(); var allPromotionRuleConditions = ISpPromotionDao.Instance.GetPromotionRuleConditions(listPromotionSysNo); var allPromotionRules = ISpPromotionDao.Instance.GetPromotionRules( allPromotionRuleConditions.Select(p => p.PromotionRuleSysNo).ToArray()); var allPromotionOverlays = ISpPromotionDao.Instance.GetPromotionOverlays(listPromotionSysNo); var allPromotionGifts = ISpPromotionDao.Instance.GetPromotionGifts(listPromotionSysNo); //给实体赋方法(获取赠品缩略图) foreach (var p in allPromotionGifts) { p.GetThumbnail = () => Hyt.BLL.Web.ProductImageBo.Instance.GetProductImagePath(Web.ProductThumbnailType.Image100, p.ProductSysNo); } var allPromotionRuleKeyValues = ISpPromotionDao.Instance.GetPromotionRuleKeyValues(listPromotionSysNo); var listCbSpPromotion = new List <CBSpPromotion>(); foreach (var spPromotion in promotions) { var cbSpPromotion = new CBSpPromotion(); SpPromotion promotion = spPromotion; #region SpPromotion转CBSpPromotion cbSpPromotion.SysNo = spPromotion.SysNo; cbSpPromotion.Description = spPromotion.Description; cbSpPromotion.DisplayPrefix = spPromotion.DisplayPrefix; cbSpPromotion.SubjectUrl = spPromotion.SubjectUrl; cbSpPromotion.PromotionType = spPromotion.PromotionType; cbSpPromotion.StartTime = spPromotion.StartTime; cbSpPromotion.EndTime = spPromotion.EndTime; cbSpPromotion.PromotionCode = spPromotion.PromotionCode; cbSpPromotion.IsUsePromotionCode = spPromotion.IsUsePromotionCode; cbSpPromotion.PromotionUseQuantity = spPromotion.PromotionUseQuantity; cbSpPromotion.PromotionUsedQuantity = spPromotion.PromotionUsedQuantity; cbSpPromotion.UserUseQuantity = spPromotion.UserUseQuantity; cbSpPromotion.Priority = spPromotion.Priority; cbSpPromotion.Status = spPromotion.Status; cbSpPromotion.AuditDate = spPromotion.AuditDate; cbSpPromotion.CreatedDate = spPromotion.CreatedDate; cbSpPromotion.LastUpdateDate = spPromotion.LastUpdateDate; #endregion var prc = allPromotionRuleConditions .FirstOrDefault(rc => rc.PromotionSysNo == promotion.SysNo); cbSpPromotion.PromotionRule = allPromotionRules.FirstOrDefault(pr => prc != null && pr.SysNo == prc.PromotionRuleSysNo); var promotionOverlay = allPromotionOverlays.FirstOrDefault(po => po.PromotionSysNo == spPromotion.SysNo); if (promotionOverlay != null) { var overlayCode = promotionOverlay.OverlayCode; cbSpPromotion.PromotionOverlays = allPromotionOverlays.Where(po => po.OverlayCode == overlayCode).Select(n => n.PromotionSysNo).ToArray(); } cbSpPromotion.PromotionGifts = allPromotionGifts.Where(pg => pg.PromotionSysNo == spPromotion.SysNo).ToList(); cbSpPromotion.PromotionRuleKeyValues = allPromotionRuleKeyValues.Where(prkv => prkv.PromotionSysNo == spPromotion.SysNo).ToList(); listCbSpPromotion.Add(cbSpPromotion); } return(listCbSpPromotion); }