public void AuditComputerConfigMaster(int masterSysNo) { var master = this.LoadComputerConfig(masterSysNo); #region Check 审核人与创建人不能相同 string currentUser = ExternalDomainBroker.GetUserInfoBySysNo(ServiceContext.Current.UserSysNo).UserName; if (master.Status == ComputerConfigStatus.Pending && master.InUser.ToLower() == currentUser.ToLower()) { throw new BizException(string.Format("{0} 创建人与审核人不能相同", master.ComputerConfigName)); } #endregion if (master.Status == ComputerConfigStatus.Pending) { using (TransactionScope scope = new TransactionScope()) { master.Status = ComputerConfigStatus.Running; ValidateMustParts(master); _configDA.AuditComputerConfigMaster(masterSysNo, master.Status); //操作Combo InteractWithCombo(master); scope.Complete(); } } //[Mark][Alan.X.Luo 硬编码] ExternalDomainBroker.CreateOperationLog(string.Format("DIY自助装机{0}从待审核变审核通过", masterSysNo), BizEntity.Common.BizLogType.ComputerConfig_Aduit, masterSysNo, "8601"); }
/// <summary> /// 提交审核 /// </summary> /// <param name="sysNo"></param> public virtual void SubmitAudit(int sysNo) { string userfullname = ObjectFactory <ICommonBizInteract> .Instance.GetUserFullName(ServiceContext.Current.UserSysNo.ToString(), true); GroupBuyingInfo infoTemp = Load(sysNo); if (infoTemp.Status.Value != GroupBuyingStatus.Init && infoTemp.Status.Value != GroupBuyingStatus.VerifyFaild) { //throw new BizException(string.Format("团购[{0}]提交审核失败,只有初始状态的团购才能提交审核!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_JustInitCanSubmit"), sysNo)); } if (infoTemp.Status.Value == GroupBuyingStatus.WaitingAudit) { //throw new BizException(string.Format("团购[{0}]信息状态已变更,请刷新后再试!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_TryAgainAfterF5"), sysNo)); } TransactionScopeFactory.TransactionAction(() => { m_GroupBuyingDA.UpdataSatus(sysNo, "W", userfullname); // 发送待办消息 EventPublisher.Publish <GroupBuyAuditMessage>(new GroupBuyAuditMessage { GroupBuySysNo = sysNo, CurrentUserSysNo = ServiceContext.Current.UserSysNo }); }); ExternalDomainBroker.CreateOperationLog(BizLogType.GroupBuyingSubmitAudit.ToEnumDesc(), BizLogType.GroupBuyingSubmitAudit, sysNo, infoTemp.CompanyCode); }
/// <summary> /// 作废 /// </summary> /// <param name="sysNo"></param> public virtual void Void(List <int> sysNoList) { string userfullname = ObjectFactory <ICommonBizInteract> .Instance.GetUserFullName(ServiceContext.Current.UserSysNo.ToString(), true); foreach (int sysNo in sysNoList) { GroupBuyingInfo infoTemp = Load(sysNo); if (infoTemp.Status.Value != GroupBuyingStatus.Pending) { //throw new BizException(string.Format("团购[{0}]作废失败,只有就绪状态的团购才能作废!",sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_JustReadyCanDel"), sysNo)); } TransactionScopeFactory.TransactionAction(() => { m_GroupBuyingDA.UpdataSatus(sysNo, "D", userfullname); //同步Seller Portal团购状态 infoTemp.Status = GroupBuyingStatus.VerifyFaild; m_GroupBuyingDA.SyncGroupBuyingStatus(infoTemp); ExternalDomainBroker.CreateOperationLog(BizLogType.GroupBuyingVoid.ToEnumDesc(), BizLogType.GroupBuyingVoid, sysNo, infoTemp.CompanyCode); //促销引擎-更新活动状态 -作废 //ObjectFactory<GroupBuyingPromotionEngine>.Instance.UpdateGroupBuyingActivityStatus(sysNo, GroupBuyingStatus.Deactive); // 发送待办消息 EventPublisher.Publish <GroupBuyVoidMessage>(new GroupBuyVoidMessage { GroupBuySysNo = sysNo, CurrentUserSysNo = ServiceContext.Current.UserSysNo }); }); } }
/// <summary> /// 更新 /// </summary> /// <param name="info"></param> public GroupBuyingInfo Update(GroupBuyingInfo info) { // 验证团购信息 //CheckGroupBuyingBase(info); ValidateEntity(info); // 验证阶梯价格 CheckPriceRank(info.PriceRankList, info.GroupBuyingTypeSysNo); TransactionScopeFactory.TransactionAction(() => { if (info.CategoryType != GroupBuyingCategoryType.ZeroLottery) { info.LotteryRule = string.Empty; } if (info.CategoryType != GroupBuyingCategoryType.Virtual) { info.CouponValidDate = null; } // 更新团购信息 m_GroupBuyingDA.Update(info); m_GroupBuyingDA.DeleteGroupBuyingActivityRel(info.SysNo.Value); if (info.VendorStoreSysNoList != null && info.CategoryType == GroupBuyingCategoryType.Virtual) { info.VendorStoreSysNoList.ForEach(p => { m_GroupBuyingDA.CreateGroupBuyingActivityRel(info.SysNo.Value, p); }); } //先删除该团购的阶梯价格 m_GroupBuyingDA.DeleteProductGroupBuyingPrice(info.SysNo.Value); // 循环更新阶梯价格 foreach (var price in info.PriceRankList) { if (price.MinQty == null || price.MinQty < 1) { continue; } price.ProductSysNo = m_GroupBuyingDA.CreateProductGroupBuyingPrice(info.SysNo.Value, price.MinQty, price.DiscountValue, info.GroupBuyingPoint, info.CostAmt); } //更新活动状态 //ObjectFactory<GroupBuyingPromotionEngine>.Instance.CreateNewGroupBuyingActivity(info); // 发送待办消息 EventPublisher.Publish <GroupBuyUpdateMessage>(new GroupBuyUpdateMessage { GroupBuySysNo = info.SysNo.Value, GroupBuyName = info.GroupBuyingTitle.Content, CurrentUserSysNo = ServiceContext.Current.UserSysNo }); }); ExternalDomainBroker.CreateOperationLog(BizLogType.GroupBuyingUpdate.ToEnumDesc(), BizLogType.GroupBuyingUpdate, info.SysNo.Value, info.CompanyCode); return(info); }
/// <summary> /// 创建投票,作为聚合根,只创建活动的基本信息,得到活动ID /// </summary> /// <param name="item"></param> public virtual int CreatePollMaster(PollMaster item) { int returnValue = 0; if (item.Status.HasValue && item.Status.Value == ADStatus.Active) { if (pollItemDA.CheckPageTypeForCreatePollMaster(item) > 1 && item.PageType == 4) { throw new BizException(ResouceManager.GetMessageString("MKT.News", "Advertiser_JustTwoValidPollItemInCategory")); } else if (pollItemDA.CheckForCreatePollMaster(item) > 0) { throw new BizException(ResouceManager.GetMessageString("MKT.News", "Advertiser_JustOneValidPollItemInCategory")); } else { returnValue = pollItemDA.CreatePollMaster(item); } } else { returnValue = pollItemDA.CreatePollMaster(item); } ExternalDomainBroker.CreateOperationLog("创建投票主题", BizLogType.MKT_Poll_Master_Create, returnValue, item.CompanyCode); return(returnValue); }
/// <summary> /// 更新配置单 /// </summary> /// <param name="msg"></param> public void UpdateComputerConfigMaster(ComputerConfigMaster msg) { ValidateCommon(msg); using (TransactionScope scope = new TransactionScope()) { _configDA.UpdateComputerConfigMaster(msg); _configDA.DeleteComputerConfigInfo(msg.SysNo.Value); foreach (var configItem in msg.ConfigItemList) { configItem.ComputerConfigSysNo = msg.SysNo.Value; _configDA.CreateComputerConfigInfo(configItem); } //操作Combo InteractWithCombo(msg); ExternalDomainBroker.CreateOperationLog( String.Format("{0}{1}SysNo:{2}| 配置单名称:{3}| 配置单类型:{4} |配置单说明:{5}|所属渠道:{6}|优先级:{7}", DateTime.Now.ToString(), "编辑配置单" , msg.SysNo, msg.ComputerConfigName, msg.ComputerConfigTypeSysNo , msg.Note, msg.WebChannel.ChannelID, msg.Priority) , BizEntity.Common.BizLogType.ComputerConfig_Update , msg.SysNo.Value, msg.CompanyCode); scope.Complete(); } }
/// <summary> /// 修改 /// </summary> /// <param name="list"></param> public void ModifyProductUseCouponLimit(List <ProductUseCouponLimitInfo> list) { foreach (var item in list) { if (item.CouponLimitType == CouponLimitType.Manually) //手动类型的数据做物理删除 { _ProductUseCouponLimitDA.DeleteProductUseCouponLimit(item.SysNo); ExternalDomainBroker.CreateOperationLog( String.Format("{0}{1}SysNo:{2}", DateTime.Now.ToString(), "物理删除特殊商品限制使用优惠券" , item.SysNo) , BizEntity.Common.BizLogType.ComputerConfig_Add , item.SysNo, "8601");//[Mark][Alan.X.Luo 硬编码] } else //其他类型数据做逻辑删除(修改状态) { _ProductUseCouponLimitDA.UpdateProductUseCouponLimitStatus(item.SysNo, ADStatus.Deactive); ExternalDomainBroker.CreateOperationLog( String.Format("{0}{1}SysNo:{2}状态:{3}", DateTime.Now.ToString(), "修改特殊商品限制使用优惠券状态" , item.SysNo, "无效") , BizEntity.Common.BizLogType.ComputerConfig_Add , item.SysNo, "8601");//[Mark][Alan.X.Luo 硬编码] } } }
/// <summary> /// 作废banner /// </summary> /// <param name="bannerLocationSysNo">系统编号</param> public virtual void Delete(int bannerLocationSysNo) { var banner = Load(bannerLocationSysNo); using (TransactionScope ts = new TransactionScope()) { _bannerDA.UpdateBannerLocationStatus(bannerLocationSysNo, ADStatus.Deactive); _bannerDA.UpdateBannerInfoStatus(banner.BannerInfoSysNo, ADStatus.Deactive); ts.Complete(); } //[Mark][Alan.X.Luo 硬编码] ExternalDomainBroker.CreateOperationLog(string.Format("{0}作废", bannerLocationSysNo), BizEntity.Common.BizLogType.Banner_Canel, bannerLocationSysNo, "8601"); }
/// <summary> /// 审核通过 /// </summary> /// <param name="sysNo"></param> public virtual void AuditApprove(int sysNo, string reasonStr) { GroupBuyingInfo infoTemp = Load(sysNo); if (infoTemp.Status == GroupBuyingStatus.WaitingAudit) { CheckGroupBuyAndCountDownConflict(infoTemp); } if (infoTemp.Status.Value != GroupBuyingStatus.WaitingAudit) { //throw new BizException(string.Format("团购[{0}]审核通过失败,只有待审核状态的团购才能审核通过!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_JustWaitCanAuditPass"), sysNo)); } if (infoTemp.Status.Value == GroupBuyingStatus.Pending || infoTemp.Status.Value == GroupBuyingStatus.WaitHandling) { //throw new BizException(string.Format("团购[{0}]信息状态已变更,请刷新后再试!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_TryAgainAfterF5"), sysNo)); } if (string.IsNullOrWhiteSpace(reasonStr)) { //throw new BizException(string.Format("审核理由不能为空!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_AuditPassReasonIsNull"), sysNo)); } //if (infoTemp.RequestSysNo == null || infoTemp.RequestSysNo.Value < 1) //{ infoTemp.Status = GroupBuyingStatus.Pending; //David:不管商家商品或是中商商品,审核通过全部更改为就绪 //} //else //{ // //商家商品 // infoTemp.Status = GroupBuyingStatus.WaitHandling; //} infoTemp.AuditUser = ObjectFactory <ICommonBizInteract> .Instance.GetUserFullName(ServiceContext.Current.UserSysNo.ToString(), true); //if (infoTemp.InUser == infoTemp.AuditUser) //{ // throw new BizException(string.Format("团购[{0}]审核操作时,审核人不能与创建人相同!", sysNo)); //} infoTemp.Reasons = reasonStr; TransactionScopeFactory.TransactionAction(() => { m_GroupBuyingDA.UpdateProductGroupBuyingStatus(infoTemp); //促销引擎-更新活动状态 -审核通过即为运行 //ObjectFactory<GroupBuyingPromotionEngine>.Instance.UpdateGroupBuyingActivityStatus(sysNo, GroupBuyingStatus.Active); ExternalDomainBroker.CreateOperationLog(BizLogType.GroupBuyingAuditApprove.ToEnumDesc(), BizLogType.GroupBuyingAuditApprove, sysNo, infoTemp.CompanyCode); }); }
public void DeclineComputerConfigMaster(int masterSysNo) { var master = this.LoadComputerConfig(masterSysNo); if (master.Status == ComputerConfigStatus.Pending) { master.Status = ComputerConfigStatus.Void; _configDA.AuditComputerConfigMaster(masterSysNo, master.Status); //操作Combo InteractWithCombo(master); } //[Mark][Alan.X.Luo 硬编码] ExternalDomainBroker.CreateOperationLog(string.Format("DIY自助装机{0}从待审核变审核拒绝", masterSysNo), BizEntity.Common.BizLogType.ComputerConfig_Aduit, masterSysNo, "8601"); }
/// <summary> /// 审核拒绝 /// </summary> /// <param name="sysNo"></param> public virtual void AuditRefuse(int sysNo, string reasonStr) { GroupBuyingInfo infoTemp = Load(sysNo); if (infoTemp.Status.Value != GroupBuyingStatus.WaitingAudit) { //throw new BizException(string.Format("团购[{0}]审核拒绝失败,只有待审核状态的团购才能审核拒绝!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_JustWaitCanRefuse"), sysNo)); } if (infoTemp.Status.Value == GroupBuyingStatus.Deactive) { //throw new BizException(string.Format("团购[{0}]信息状态已变更,请刷新后再试!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_TryAgainAfterF5"), sysNo)); } if (string.IsNullOrWhiteSpace(reasonStr)) { //throw new BizException(string.Format("审核理由不能为空!", sysNo)); throw new BizException(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_AuditPassReasonIsNull")); } if (infoTemp.RequestSysNo == null || infoTemp.RequestSysNo.Value < 1) { infoTemp.Status = GroupBuyingStatus.VerifyFaild; } else { //商家商品 infoTemp.Status = GroupBuyingStatus.Deactive; } infoTemp.AuditUser = ObjectFactory <ICommonBizInteract> .Instance.GetUserFullName(ServiceContext.Current.UserSysNo.ToString(), true); //if (infoTemp.InUser == infoTemp.AuditUser) //{ // throw new BizException(string.Format("团购[{0}]审核操作时,审核人不能与创建人相同!", sysNo)); //} infoTemp.Reasons = reasonStr; TransactionScopeFactory.TransactionAction(() => { m_GroupBuyingDA.UpdateProductGroupBuyingStatus(infoTemp); //促销引擎-更新活动状态 -审核拒绝即为作废 //ObjectFactory<GroupBuyingPromotionEngine>.Instance.UpdateGroupBuyingActivityStatus(sysNo, GroupBuyingStatus.Deactive); //同步Seller Portal团购状态 infoTemp.Status = GroupBuyingStatus.VerifyFaild; m_GroupBuyingDA.SyncGroupBuyingStatus(infoTemp); ExternalDomainBroker.CreateOperationLog(BizLogType.GroupBuyingAuditRefuse.ToEnumDesc(), BizLogType.GroupBuyingAuditRefuse, sysNo, infoTemp.CompanyCode); }); }
public void VoidComputerConfigMaster(int masterSysNo) { var master = this.LoadComputerConfig(masterSysNo); if (master.Status != ComputerConfigStatus.Void) { var status = master.Status; master.Status = ComputerConfigStatus.Void; _configDA.AuditComputerConfigMaster(masterSysNo, master.Status); //操作Combo InteractWithCombo(master); } //[Mark][Alan.X.Luo 硬编码] ExternalDomainBroker.CreateOperationLog(string.Format("DIY自助装机{0}从 有效变无效", masterSysNo), BizEntity.Common.BizLogType.ComputerConfig_Void, masterSysNo, "8601"); }
/// <summary> /// 更新广告信息 /// </summary> /// <param name="bannerLocation">广告信息</param> public virtual void Update(BannerLocation bannerLocation) { if (!bannerLocation.BeginDate.HasValue) { bannerLocation.BeginDate = DateTime.Now; } Validate(bannerLocation); using (TransactionScope ts = new TransactionScope()) { //1.更新广告和主要投放区域之间的关系 var orginal = Load(bannerLocation.SysNo.Value); var temp = bannerLocation.AreaShow.Intersect(orginal.AreaShow).ToList <int>(); //不在交集中的就删除 foreach (int r in orginal.AreaShow.Except(temp).ToList <int>()) { ObjectFactory <IAreaRelationDA> .Instance.Delete(r, bannerLocation.SysNo.Value, AreaRelationType.Banner); } //不在交集中的就新增 foreach (int r in bannerLocation.AreaShow.Except(temp).ToList <int>()) { ObjectFactory <IAreaRelationDA> .Instance.Create(r, bannerLocation.SysNo.Value, AreaRelationType.Banner); } //2.持久化广告信息 bannerLocation.Infos.Status = bannerLocation.Status; _bannerDA.UpdateBannerInfo(bannerLocation.Infos); _bannerDA.UpdateBannerLocation(bannerLocation); //TODO:写入修改日志 ExternalDomainBroker.CreateOperationLog( String.Format("{0}{1}SysNo:{2}| 广告类型:{3}| 广告标题:{4} | 资源地址:{5} | 链接地址:{6} | 广告脚本{7}| 状态:{8}", DateTime.Now.ToString(), ResouceManager.GetMessageString("MKT.Banner", "Banner_Update") , bannerLocation.SysNo, bannerLocation.Infos.BannerType , bannerLocation.Infos.BannerTitle , bannerLocation.Infos.BannerResourceUrl , bannerLocation.Infos.BannerLink , bannerLocation.Infos.BannerOnClick , bannerLocation.Infos.Status == ADStatus.Active ? "有效" : "无效") , BizEntity.Common.BizLogType.Banner_Update , bannerLocation.SysNo.Value, bannerLocation.CompanyCode); ts.Complete(); } }
public virtual void UpdateNewsInfo(NewsInfo entity) { ValidateEntity(entity); //处理飘红 if (entity.IsRed.HasValue && entity.IsRed.Value) { entity.Title.Content = GetRedTitle(entity.Title.Content); } using (TransactionScope scope = new TransactionScope()) { //1.更新新闻地区关系 if (entity.AreaShow != null && entity.AreaShow.Count() > 0) { NewsInfo orginal = GetNewsInfo(entity.SysNo.Value); var temp = entity.AreaShow.Intersect(orginal.AreaShow).ToList <int>(); //删除 foreach (int r in orginal.AreaShow.Except(temp).ToList <int>()) { ObjectFactory <IAreaRelationDA> .Instance.Delete(r, entity.SysNo.Value, AreaRelationType.News); } //新增 foreach (int r in entity.AreaShow.Except(temp).ToList <int>()) { ObjectFactory <IAreaRelationDA> .Instance.Create(r, entity.SysNo.Value, AreaRelationType.News); } } //2.更新新闻公告 newsDA.UpdateNewsInfo(entity); string Areas = string.Empty; entity.AreaShow.ForEach(p => { Areas += String.Format("{0}、", p.ToString()); }); ExternalDomainBroker.CreateOperationLog( String.Format(@"{0}{1}SysNo:{2}|所属渠道:{3}|标题:{4}|正文链接{5}|正文内容{6}|主要投放区域{7}|新闻类型{8}|过期时间{9}|是否置顶{10} |是否飘红{11}|是否允许评论{12}|顾客可评论级别{13}|状态{14}", DateTime.Now.ToString(), "更新新闻公告" , entity.SysNo, entity.WebChannel == null?"":entity.WebChannel.ChannelID, new Regex("<(.[^>]*)>", RegexOptions.IgnoreCase) .Replace(entity.Title.ToString().Trim(), ""), entity.LinkUrl, entity.Content , Areas, entity.NewsType, entity.ExpireDate, entity.TopMost, entity.IsRed , entity.EnableComment, entity.EnableReplyRank, entity.Status) , BizEntity.Common.BizLogType.ComputerConfig_Add , entity.SysNo.Value, entity.CompanyCode); scope.Complete(); } }
/// <summary> /// 修改投票,作为聚合根,只创建活动的基本信息,得到活动ID /// </summary> /// <param name="item"></param> public virtual void UpdatePollMaster(PollMaster item) { if (item.Status.HasValue && item.Status.Value == ADStatus.Active) { if (pollItemDA.CheckPageTypeForCreatePollMaster(item) > 1 && item.PageType == 4) { throw new BizException(ResouceManager.GetMessageString("MKT.News", "Advertiser_JustTwoValidPollItemInCategory")); } if (pollItemDA.CheckForCreatePollMaster(item) > 0) { throw new BizException(ResouceManager.GetMessageString("MKT.News", "Advertiser_JustOneValidPollItemInCategory")); } } pollItemDA.UpdatePollMaster(item); ExternalDomainBroker.CreateOperationLog("修改投票主题", BizLogType.MKT_Poll_Master_Update, item.SysNo.Value, item.CompanyCode); }
/// <summary> /// 取消审核 /// </summary> /// <param name="sysNo"></param> public virtual void CancelAudit(int sysNo) { string userfullname = ObjectFactory <ICommonBizInteract> .Instance.GetUserFullName(ServiceContext.Current.UserSysNo.ToString(), true); GroupBuyingInfo infoTemp = Load(sysNo); if (infoTemp.Status.Value != GroupBuyingStatus.WaitingAudit) { //throw new BizException(string.Format("团购[{0}]撤销审核失败,只有待审核状态的团购才能撤销审核!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_JustFaileCanCancel"), sysNo)); } if (infoTemp.Status.Value == GroupBuyingStatus.Init) { //throw new BizException(string.Format("团购[{0}]信息状态已变更,请刷新后再试!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_TryAgainAfterF5"), sysNo)); } m_GroupBuyingDA.UpdataSatus(sysNo, "O", userfullname); ExternalDomainBroker.CreateOperationLog(BizLogType.GroupBuyingCancelAudit.ToEnumDesc(), BizLogType.GroupBuyingCancelAudit, sysNo, infoTemp.CompanyCode); }
/// <summary> /// 创建配置单 /// </summary> /// <param name="msg"></param> public void CreateComputerConfigMaster(ComputerConfigMaster msg) { ValidateCommon(msg); using (TransactionScope scope = new TransactionScope()) { _configDA.CreateComputerConfigMaster(msg); foreach (var configItem in msg.ConfigItemList) { configItem.ComputerConfigSysNo = msg.SysNo.Value; _configDA.CreateComputerConfigInfo(configItem); } //操作Combo InteractWithCombo(msg); ExternalDomainBroker.CreateOperationLog( String.Format("{0}{1}SysNo:{2}", DateTime.Now.ToString(), "新建配置单" , msg.SysNo) , BizEntity.Common.BizLogType.ComputerConfig_Add , msg.SysNo.Value, msg.CompanyCode); scope.Complete(); } }
/// <summary> /// 中止 /// </summary> /// <param name="sysNo"></param> public virtual void Stop(List <int> sysNoList) { string userfullname = ObjectFactory <ICommonBizInteract> .Instance.GetUserFullName(ServiceContext.Current.UserSysNo.ToString(), true); foreach (int sysNo in sysNoList) { GroupBuyingInfo infoTemp = Load(sysNo); if (infoTemp.Status.Value != GroupBuyingStatus.Active) { //throw new BizException(string.Format("团购[{0}]中止失败,只有运行状态的团购才能作废!", sysNo)); throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "roupBuying_JustRunStop"), sysNo)); } TransactionScopeFactory.TransactionAction(() => { m_GroupBuyingDA.UpdateGroupBuyingEndDate(sysNo, userfullname); //促销引擎-更新活动状态 -中止即为完成 //ObjectFactory<GroupBuyingPromotionEngine>.Instance.UpdateGroupBuyingActivityStatus(sysNo, GroupBuyingStatus.Finished); ExternalDomainBroker.CreateOperationLog(BizLogType.GroupBuyingStop.ToEnumDesc(), BizLogType.GroupBuyingStop, sysNo, infoTemp.CompanyCode); }); } }
/// <summary> /// 创建广告信息 /// </summary> /// <param name="bannerLocation">广告信息</param> public virtual void Create(BannerLocation bannerLocation) { if (!bannerLocation.BeginDate.HasValue) { bannerLocation.BeginDate = DateTime.Now; } Validate(bannerLocation); using (TransactionScope ts = new TransactionScope()) { //新建广告 CreateBanner(bannerLocation); //处理三级分类扩展生效 ProcessECCategory3Extend(bannerLocation); //TODO:写入创建日志 ExternalDomainBroker.CreateOperationLog( String.Format("{0}{1}SysNo:{2}", DateTime.Now.ToString(), ResouceManager.GetMessageString("MKT.Banner", "Banner_Add") , bannerLocation.SysNo) , BizEntity.Common.BizLogType.Banner_Add , bannerLocation.SysNo.Value, bannerLocation.CompanyCode); ts.Complete(); } }
public void CheckComputerConfigInfo() { var computerConfigList = ObjectFactory <IComputerConfigQueryDA> .Instance.GetComputerConfigMasterList(); var masterSysNoTmp = new List <int>(); //分 Customer 和 NewEgg 配置单进行处理 foreach (var computerConfig in computerConfigList) { foreach (var configItem in computerConfig.ConfigItemList) { //邮件内容 string recordTmp = string.Empty; var hostEntry = Dns.GetHostEntry(Dns.GetHostName()); //判断是否是NewEgg配置单 if (computerConfig.CustomerSysNo < 0 && computerConfig.CreateUserSysNo == 0) { //是否库存不足或商品状态无效 if ((configItem.OnlineQty <= 0 || configItem.OnlineQty < configItem.ProductQty || configItem.ProductStatus != ProductStatus.Active) && !masterSysNoTmp.Contains(computerConfig.SysNo.Value)) { using (var ts = new TransactionScope()) { computerConfig.Status = ComputerConfigStatus.Void; ObjectFactory <IComputerConfigDA> .Instance.SetComputerConfigMasterStatus(computerConfig); ObjectFactory <IComputerConfigDA> .Instance.UpdateSaleRuleStatus(computerConfig); masterSysNoTmp.Add(computerConfig.SysNo.Value); recordTmp = (string.Format("\r\n由于商品\"{1}\"的库存或者状态有变化,配置单\"{0}\"状态已被修改为无效。" + "库存:{2} 商品状态:{3}" , computerConfig.ComputerConfigName, configItem.ProductID, configItem.OnlineQty, GetProductStatusStr((int)configItem.ProductStatus))); //写入日志 ExternalDomainBroker.CreateOperationLog(recordTmp, BizLogType.ComputerConfig_Void, computerConfig.SysNo.Value, computerConfig.CompanyCode); //发送邮件 SendMail("配置单编辑", computerConfig.SysNo.Value, recordTmp, computerConfig.CompanyCode, computerConfig.CreateUserSysNo); ts.Complete(); } } } else { if (configItem.ProductStatus != 0 && configItem.ProductStatus != ProductStatus.Active && !masterSysNoTmp.Contains(computerConfig.SysNo.Value)) { using (var ts = new TransactionScope()) { computerConfig.Status = ComputerConfigStatus.Void; ObjectFactory <IComputerConfigDA> .Instance.SetComputerConfigMasterStatus(computerConfig); ObjectFactory <IComputerConfigDA> .Instance.UpdateSaleRuleStatus(computerConfig); masterSysNoTmp.Add(computerConfig.SysNo.Value); recordTmp = (string.Format("\r\n由于商品\"{1}\"的库存或者状态有变化,配置单\"{0}\"状态已被修改为无效。" + "状态:{3}" , computerConfig.ComputerConfigName, configItem.ProductID, configItem.OnlineQty, GetProductStatusStr((int)configItem.ProductStatus))); //写入日志 ExternalDomainBroker.CreateOperationLog(recordTmp, BizLogType.ComputerConfig_Void, computerConfig.SysNo.Value, computerConfig.CompanyCode); //发送邮件 SendMail("配置单编辑", computerConfig.SysNo.Value, recordTmp, computerConfig.CompanyCode, computerConfig.CreateUserSysNo); ts.Complete(); } } } } } }