コード例 #1
0
        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");
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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
                    });
                });
            }
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
ファイル: PollItemProcessor.cs プロジェクト: sanlonezhang/ql
        /// <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);
        }
コード例 #6
0
        /// <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();
            }
        }
コード例 #7
0
 /// <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 硬编码]
         }
     }
 }
コード例 #8
0
ファイル: BannerProcessor.cs プロジェクト: sanlonezhang/ql
        /// <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");
        }
コード例 #9
0
        /// <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);
            });
        }
コード例 #10
0
        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");
        }
コード例 #11
0
        /// <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);
            });
        }
コード例 #12
0
        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");
        }
コード例 #13
0
ファイル: BannerProcessor.cs プロジェクト: sanlonezhang/ql
        /// <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();
            }
        }
コード例 #14
0
ファイル: NewsProcessor.cs プロジェクト: sanlonezhang/ql
        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();
            }
        }
コード例 #15
0
ファイル: PollItemProcessor.cs プロジェクト: sanlonezhang/ql
        /// <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);
        }
コード例 #16
0
        /// <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);
        }
コード例 #17
0
 /// <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();
     }
 }
コード例 #18
0
        /// <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);
                });
            }
        }
コード例 #19
0
ファイル: BannerProcessor.cs プロジェクト: sanlonezhang/ql
        /// <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();
            }
        }
コード例 #20
0
        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();
                            }
                        }
                    }
                }
            }
        }