public Task Handle(OperationTaskProgressEvent message)
        {
            var operation = _dbContext.Operations.FirstOrDefault(op => op.Id == message.OperationId);
            var task      = _dbContext.OperationTasks.FirstOrDefault(op => op.Id == message.TaskId);


            if (operation != null)
            {
                var opLogEntry =
                    new OperationLogEntry
                {
                    Id        = message.Id,
                    Message   = message.Message,
                    Operation = operation,
                    Task      = task,
                    Timestamp = message.Timestamp
                };

                _dbContext.Add(opLogEntry);
                _dbContext.SaveChanges();
            }

            Console.WriteLine(message.Message);
            return(Task.CompletedTask);
        }
        /// <summary>
        /// 重建索引
        /// </summary>
        /// <param name="code">CODE</param>
        /// <returns></returns>
        public ActionResult RebuildIndex(string code)
        {
            ISearcher searcher = SearcherFactory.GetSearcher(code);

            string name            = searcher.Name;
            string manageIndexUrl  = SiteUrls.Instance().ManageIndex();
            string rebuildIndexUrl = SiteUrls.Instance().RebuildIndex(code);

            #region 操作日志
            OperationLogEntry log = new OperationLogEntry();
            log.DateCreated         = DateTime.UtcNow;
            log.OperatorUserId      = currentUser.UserId;
            log.Operator            = currentUser.DisplayName;
            log.OperatorIP          = Tunynet.Utilities.WebUtility.GetIP();
            log.OperationType       = EntityOperationType.Update.ToString();
            log.OperationObjectName = "重建" + name + "索引";
            log.Source    = "索引管理";
            log.AccessUrl = rebuildIndexUrl;
            #endregion

            string url = SiteUrls.Instance().ControlPanelOperating("正在执行[重建\"" + name + "\"索引]操作,请耐心等待", manageIndexUrl, rebuildIndexUrl);

            searcher.RebuildIndex();

            log.Description = "重建" + name + "索引成功";
            logService.Create(log);

            return(Redirect(SiteUrls.Instance().ControlPanelSuccess("执行成功", SiteUrls.Instance().ManageIndex())));
        }
示例#3
0
        /// <summary>
        /// 问题操作日志事件处理
        /// </summary>
        private void AskQuestionOperationLogEventModule_After(AskQuestion senders, CommonEventArgs eventArgs)
        {
            if (eventArgs.EventOperationType == EventOperationType.Instance().Delete() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Approved() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Disapproved() ||
                eventArgs.EventOperationType == EventOperationType.Instance().SetEssential() ||
                eventArgs.EventOperationType == EventOperationType.Instance().SetSticky() ||
                eventArgs.EventOperationType == EventOperationType.Instance().CancelEssential() ||
                eventArgs.EventOperationType == EventOperationType.Instance().CancelSticky())
            {
                //if (eventArgs.EventOperationType == EventOperationType.Instance().SetEssential()
                //  || eventArgs.EventOperationType == EventOperationType.Instance().CancelEssential())
                //{
                OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);
                entry.ApplicationId       = eventArgs.ApplicationId;
                entry.Source              = AskConfig.Instance().ApplicationName;
                entry.OperationType       = eventArgs.EventOperationType;
                entry.OperationObjectName = senders.Subject;
                entry.OperationObjectId   = senders.QuestionId;
                entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType, entry.ApplicationId), "问题", entry.OperationObjectName);

                OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>();
                logService.Create(entry);
            }
        }
        void UserOperationLogProcesser_After(User sender, CommonEventArgs eventArgs)
        {
            if (eventArgs.EventOperationType == EventOperationType.Instance().BanUser() ||
                eventArgs.EventOperationType == EventOperationType.Instance().UnbanUser() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Update())
            {
                OperationLogService logService = new OperationLogService();
                logService = Tunynet.DIContainer.Resolve <OperationLogService>();
                IUserService userService = DIContainer.Resolve <IUserService>();

                OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);
                entry.ApplicationId       = 0;
                entry.Source              = string.Empty;
                entry.OperationObjectName = sender.UserName;
                entry.OperationObjectId   = 0;
                if (eventArgs.EventOperationType == EventOperationType.Instance().Update())
                {
                    entry.OperationType = "UpdateUser";
                    entry.Description   = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_Update"), "用户", entry.OperationObjectName);
                }
                else
                {
                    entry.OperationType = eventArgs.EventOperationType;
                    entry.Description   = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), entry.OperationObjectName);
                }
                logService.Create(entry);
            }
        }
示例#5
0
 public void WriteOperationLogEntry(OperationLogEntry entry)
 {
     System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand("INSERT INTO [Hishop_Logs]([PageUrl],[AddedTime],[UserName],[IPAddress],[Privilege],[Description]) VALUES(@PageUrl,@AddedTime,@UserName,@IPAddress,@Privilege,@Description)");
     this.database.AddInParameter(sqlStringCommand, "PageUrl", System.Data.DbType.String, entry.PageUrl);
     this.database.AddInParameter(sqlStringCommand, "AddedTime", System.Data.DbType.DateTime, entry.AddedTime);
     this.database.AddInParameter(sqlStringCommand, "UserName", System.Data.DbType.String, entry.UserName);
     this.database.AddInParameter(sqlStringCommand, "IPAddress", System.Data.DbType.String, entry.IpAddress);
     this.database.AddInParameter(sqlStringCommand, "Privilege", System.Data.DbType.Int32, (int)entry.Privilege);
     this.database.AddInParameter(sqlStringCommand, "Description", System.Data.DbType.String, entry.Description);
     this.database.ExecuteNonQuery(sqlStringCommand);
 }
示例#6
0
        public static void WriteOperationLog(Privilege privilege, string description)
        {
            OperationLogEntry entry = new OperationLogEntry {
                AddedTime   = DateTime.Now,
                Privilege   = privilege,
                Description = description,
                IpAddress   = Globals.IPAddress,
                PageUrl     = HttpContext.Current.Request.RawUrl,
                UserName    = ManagerHelper.GetCurrentManager().UserName
            };

            new LogDao().WriteOperationLogEntry(entry);
        }
示例#7
0
        public static void WriteOperationLog(Privilege privilege, string description)
        {
            OperationLogEntry entry = new OperationLogEntry
            {
                AddedTime   = DateTime.Now,
                Privilege   = privilege,
                Description = description,
                IpAddress   = Globals.IPAddress,
                PageUrl     = HiContext.Current.Context.Request.RawUrl,
                UserName    = HiContext.Current.Context.User.Identity.Name
            };

            StoreProvider.Instance().WriteOperationLogEntry(entry);
        }
示例#8
0
        public static void WriteOperationLog(Privilege privilege, string description)
        {
            OperationLogEntry entry2 = new OperationLogEntry();

            entry2.AddedTime   = DateTime.Now;
            entry2.Privilege   = privilege;
            entry2.Description = description;
            entry2.IpAddress   = Globals.IPAddress;
            entry2.PageUrl     = HiContext.Current.Context.Request.RawUrl;
            entry2.UserName    = HiContext.Current.Context.User.Identity.Name;
            OperationLogEntry entry = entry2;

            StoreProvider.Instance().WriteOperationLogEntry(entry);
        }
示例#9
0
        private void RewardAndPunishmentUser_After(IUser sender, RewardAndPunishmentUserEventArgs eventArgs)
        {
            OperationLogService logService = new OperationLogService();

            logService = Tunynet.DIContainer.Resolve <OperationLogService>();
            OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);

            entry.ApplicationId       = 0;
            entry.Source              = string.Empty;
            entry.OperationType       = eventArgs.EventOperationType;
            entry.OperationObjectName = sender.UserName;
            entry.OperationObjectId   = sender.UserId;
            entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), entry.OperationObjectName);
            logService.Create(entry);
        }
        void UserOperationLogEventMoudle_After(User sender, DeleteUserEventArgs eventArgs)
        {
            OperationLogService logService = new OperationLogService();

            logService = Tunynet.DIContainer.Resolve <OperationLogService>();

            OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);

            entry.ApplicationId       = 0;
            entry.Source              = string.Empty;
            entry.OperationType       = EventOperationType.Instance().DeleteUser();
            entry.OperationObjectName = sender.UserName;
            entry.OperationObjectId   = 0;
            entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + entry.OperationType), entry.OperationObjectName);
            logService.Create(entry);
        }
示例#11
0
        /// <summary>
        /// 回答操作日志事件处理
        /// </summary>
        private void AskAnswerOperationLogEventModule_After(AskAnswer senders, CommonEventArgs eventArgs)
        {
            if (eventArgs.EventOperationType == EventOperationType.Instance().Delete())
            {
                OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);

                entry.ApplicationId       = entry.ApplicationId;
                entry.Source              = AskConfig.Instance().ApplicationName;
                entry.OperationType       = eventArgs.EventOperationType;
                entry.OperationObjectName = StringUtility.Trim(senders.Body, 20);
                entry.OperationObjectId   = senders.QuestionId;
                entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), "回答", entry.OperationObjectName);

                OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>();
                logService.Create(entry);
            }
        }
示例#12
0
 public static void WriteOperationLog(Privilege privilege, string description, bool isAPI = false)
 {
     try
     {
         string userName  = "";
         string pageUrl   = "未知页面";
         string iPAddress = Globals.IPAddress;
         if (isAPI)
         {
             userName = "******";
             pageUrl  = "";
         }
         else if (HiContext.Current != null && HiContext.Current.Manager != null)
         {
             userName = HiContext.Current.Manager.UserName;
         }
         if (HttpContext.Current != null)
         {
             pageUrl = HttpContext.Current.Request.RawUrl;
         }
         OperationLogEntry operationLogEntry = new OperationLogEntry
         {
             AddedTime   = DateTime.Now,
             Privilege   = privilege,
             Description = description,
             IPAddress   = iPAddress,
             PageUrl     = pageUrl,
             UserName    = userName
         };
         if (operationLogEntry.PageUrl.Length > 1000)
         {
             operationLogEntry.PageUrl = operationLogEntry.PageUrl.Substring(0, 1000);
         }
         new LogDao().Add(operationLogEntry, null);
     }
     catch (Exception ex)
     {
         IDictionary <string, string> dictionary = new Dictionary <string, string>();
         dictionary.Add("privilege", privilege.ToNullString());
         dictionary.Add("description", description.ToNullString());
         dictionary.Add("isAPI", isAPI.ToNullString());
         Globals.WriteExceptionLog(ex, dictionary, "WriteOperationLog");
     }
 }
示例#13
0
        /// <summary>
        /// 资讯操作日志事件处理
        /// </summary>
        private void ContentFolderOperationLogEventModule_After(ContentFolder sender, CommonEventArgs eventArgs)
        {
            if (eventArgs.EventOperationType == EventOperationType.Instance().Create() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Update() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Delete()
                )
            {
                OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);
                entry.ApplicationId       = CmsConfig.Instance().ApplicationId;
                entry.Source              = CmsConfig.Instance().ApplicationName;
                entry.OperationType       = eventArgs.EventOperationType;
                entry.OperationObjectName = sender.FolderName;
                entry.OperationObjectId   = sender.ContentFolderId;
                entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType, entry.ApplicationId), "资讯栏目", entry.OperationObjectName);

                OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>();
                logService.Create(entry);
            }
        }
示例#14
0
        void PermissionOperationLogEventMoudle_BatchAfter(IEnumerable <PermissionItemInUserRole> senders, CommonEventArgs eventArgs)
        {
            //只记录批量更新操作
            if (eventArgs.EventOperationType != EventOperationType.Instance().Update())
            {
                return;
            }
            OperationLogService logService        = Tunynet.DIContainer.Resolve <OperationLogService>();
            PermissionService   permissionService = new PermissionService();

            OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);

            entry.ApplicationId = 0;
            entry.Source        = string.Empty;
            entry.OperationType = eventArgs.EventOperationType;
            IEnumerable <string> roleNames = senders.Select(n => n.RoleName).Distinct();

            entry.OperationObjectName = string.Join(",", roleNames);
            entry.OperationObjectId   = 0;
            entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), "权限", entry.OperationObjectName);
            logService.Create(entry);
        }
示例#15
0
        /// <summary>
        /// 微博操作日志事件处理
        /// </summary>
        private void MicroblogOperationLogEventModule_After(MicroblogEntity senders, CommonEventArgs eventArgs)
        {
            if (eventArgs.EventOperationType == EventOperationType.Instance().Delete() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Approved() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Disapproved() ||
                eventArgs.EventOperationType == EventOperationType.Instance().SetEssential() ||
                eventArgs.EventOperationType == EventOperationType.Instance().SetSticky() ||
                eventArgs.EventOperationType == EventOperationType.Instance().CancelEssential() ||
                eventArgs.EventOperationType == EventOperationType.Instance().CancelSticky())
            {
                OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);
                entry.ApplicationId       = entry.ApplicationId;
                entry.Source              = MicroblogConfig.Instance().ApplicationName;
                entry.OperationType       = eventArgs.EventOperationType;
                entry.OperationObjectName = StringUtility.Trim(senders.Body, 20);
                entry.OperationObjectId   = senders.MicroblogId;
                entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType, entry.ApplicationId), "微博", entry.OperationObjectName);

                OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>();
                logService.Create(entry);
            }
        }
示例#16
0
        /// <summary>
        /// 照片操作日志事件处理
        /// </summary>
        private void PhotoOperationLogEventModule_After(Photo senders, CommonEventArgs eventArgs)
        {
            if (eventArgs.EventOperationType == EventOperationType.Instance().Delete() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Approved() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Disapproved() ||
                eventArgs.EventOperationType == EventOperationType.Instance().SetEssential() ||
                eventArgs.EventOperationType == EventOperationType.Instance().SetSticky() ||
                eventArgs.EventOperationType == EventOperationType.Instance().CancelEssential() ||
                eventArgs.EventOperationType == EventOperationType.Instance().CancelSticky())
            {
                OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);

                entry.ApplicationId       = entry.ApplicationId;
                entry.Source              = PhotoConfig.Instance().ApplicationName;
                entry.OperationType       = eventArgs.EventOperationType;
                entry.OperationObjectName = string.IsNullOrEmpty(senders.Description) ? "照片" : senders.Description;
                entry.OperationObjectId   = senders.PhotoId;
                entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType, entry.ApplicationId), "照片", entry.OperationObjectName);

                OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>();
                logService.Create(entry);
            }
        }
        void UserOperationLogEventMoudle_BatchAfter(IEnumerable <User> senders, CommonEventArgs eventArgs)
        {
            //只有批量激活用户、取消激活用户、管制用户、取消管制用户时,才记录到操作日志
            if (eventArgs.EventOperationType == EventOperationType.Instance().ActivateUser() ||
                eventArgs.EventOperationType == EventOperationType.Instance().CancelActivateUser() ||
                eventArgs.EventOperationType == EventOperationType.Instance().ModerateUser() ||
                eventArgs.EventOperationType == EventOperationType.Instance().CancelModerateUser())
            {
                OperationLogService logService = new OperationLogService();
                logService = Tunynet.DIContainer.Resolve <OperationLogService>();
                IUserService userService = DIContainer.Resolve <IUserService>();

                OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);
                entry.ApplicationId = 0;
                entry.Source        = string.Empty;
                entry.OperationType = eventArgs.EventOperationType;
                IEnumerable <string> userNames = senders.Select(n => n.UserName);
                entry.OperationObjectName = string.Join(",", userNames);
                entry.OperationObjectId   = 0;
                entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), entry.OperationObjectName);
                logService.Create(entry);
            }
        }
示例#18
0
        /// <summary>
        /// 资讯操作日志事件处理
        /// </summary>
        private void RecommendOperationLogEventModule_After(RecommendItem sender, CommonEventArgs eventArgs)
        {
            if (eventArgs.EventOperationType == EventOperationType.Instance().Create() ||
                eventArgs.EventOperationType == EventOperationType.Instance().Delete())
            {
                TenantTypeService tenantTypeService = new TenantTypeService();
                TenantType        tenantType        = tenantTypeService.Get(sender.TenantTypeId);
                if (tenantType == null)
                {
                    return;
                }

                OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo);
                entry.ApplicationId       = tenantType.ApplicationId;
                entry.Source              = tenantType.Name;
                entry.OperationType       = eventArgs.EventOperationType;
                entry.OperationObjectName = sender.ItemName;
                entry.OperationObjectId   = sender.ItemId;
                entry.Description         = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), tenantType.Name + "推荐", entry.OperationObjectName);

                OperationLogService logService = Tunynet.DIContainer.Resolve <OperationLogService>();
                logService.Create(entry);
            }
        }
示例#19
0
        /// <summary>
        /// 奖惩用户
        /// </summary>
        /// <param name="userId">被奖惩用户</param>
        /// <param name="experiencePoints">经验</param>
        /// <param name="reputationPoints">威望</param>
        /// <param name="tradePoints">金币</param>
        /// <param name="description">奖惩理由</param>
        public void Reward(long userId, int experiencePoints, int reputationPoints, int tradePoints, string description)
        {
            if (experiencePoints == 0 && reputationPoints == 0 && tradePoints == 0)
            {
                return;
            }
            IUserService userService = DIContainer.Resolve <IUserService>();
            IUser        user        = userService.GetUser(userId);

            if (user == null)
            {
                throw new ExceptionFacade(string.Format("用户“{0}”不存在或已被删除", userId));
            }
            //1、增减用户积分额并生成用户积分记录;
            bool        isIncome    = experiencePoints > 0 || reputationPoints > 0 || tradePoints > 0;
            PointRecord pointRecord = new PointRecord(userId, isIncome ? ResourceAccessor.GetString("Common_AdminReward") : ResourceAccessor.GetString("Common_AdminPunish"), description, experiencePoints, reputationPoints, tradePoints);

            pointRecordRepository.Insert(pointRecord);
            userService.ChangePoints(userId, experiencePoints, reputationPoints, tradePoints);

            //2、增减系统积分额并生成系统积分记录;
            PointRecord systemPointRecord = new PointRecord(0, isIncome ? ResourceAccessor.GetString("Common_RewardUser") : ResourceAccessor.GetString("Common_PunishUser"), description, -experiencePoints, -reputationPoints, -tradePoints);

            pointRecordRepository.Insert(systemPointRecord);

            ChangeSystemTradePoints(-tradePoints);

            //3、生成操作文章
            OperationLogService logService         = Tunynet.DIContainer.Resolve <OperationLogService>();
            IOperatorInfoGetter operatorInfoGetter = DIContainer.Resolve <IOperatorInfoGetter>();

            if (operatorInfoGetter == null)
            {
                return;
            }

            OperationLogEntry logEntry = new OperationLogEntry(operatorInfoGetter.GetOperatorInfo());

            logEntry.ApplicationId       = 0;
            logEntry.Source              = string.Empty;
            logEntry.OperationType       = EventOperationType.Instance().Update();
            logEntry.OperationObjectName = user.UserName;
            logEntry.OperationObjectId   = userId;

            PointCategory experiencePointCategory = GetPointCategory(PointCategoryKeys.Instance().ExperiencePoints());

            if (experiencePointCategory == null)
            {
                return;
            }
            PointCategory reputationPointCategory = GetPointCategory(PointCategoryKeys.Instance().ReputationPoints());

            if (reputationPointCategory == null)
            {
                return;
            }
            PointCategory tradePointCategory = GetPointCategory(PointCategoryKeys.Instance().TradePoints());

            if (tradePointCategory == null)
            {
                return;
            }

            logEntry.Description = string.Format("{0}“{1}”:{2}{3}{4},{5}{6}{7},{8}{9}{10}",
                                                 isIncome ? ResourceAccessor.GetString("Common_RewardUser") : ResourceAccessor.GetString("Common_PunishUser"), user.UserName,
                                                 experiencePoints, experiencePointCategory.Unit, experiencePointCategory.CategoryName,
                                                 reputationPoints, reputationPointCategory.Unit, reputationPointCategory.CategoryName,
                                                 tradePoints, tradePointCategory.Unit, tradePointCategory.CategoryName);
            logService.Create(logEntry);
        }
示例#20
0
        protected void btnSaveStock_Click(object sender, EventArgs e)
        {
            List <StoreSKUInfo>      list  = new List <StoreSKUInfo>();
            List <OperationLogEntry> list2 = new List <OperationLogEntry>();
            List <int> list3 = new List <int>();
            int        num   = 0;
            int        num2  = 0;
            decimal    num3  = default(decimal);

            if (this.grdSelectedProducts.Items.Count > 0)
            {
                StoresInfo storeById = DepotHelper.GetStoreById(this.hidStoreId.Value.ToInt(0));
                foreach (RepeaterItem item in this.grdSelectedProducts.Items)
                {
                    TextBox textBox = item.FindControl("txtStock") as TextBox;
                    num = textBox.Text.Trim().ToInt(0);
                    TextBox textBox2 = item.FindControl("txtStoreSalePrice") as TextBox;
                    num3 = textBox2.Text.Trim().ToDecimal(0);
                    TextBox textBox3 = item.FindControl("txtWarningStock") as TextBox;
                    num2 = textBox3.Text.Trim().ToInt(0);
                    if (num > 99999)
                    {
                        this.ShowMsg("允许输入的库存最大值为99999", false);
                        return;
                    }
                    if (num2 > 99999)
                    {
                        this.ShowMsg("允许输入的警戒库存最大值为99999", false);
                        return;
                    }
                    if (num >= 0 && num2 >= 0 && num3 >= decimal.Zero)
                    {
                        HiddenField hiddenField  = item.FindControl("hidProductName") as HiddenField;
                        HiddenField hiddenField2 = item.FindControl("hidSKU") as HiddenField;
                        HiddenField hiddenField3 = item.FindControl("hidSKUContent") as HiddenField;
                        HiddenField hiddenField4 = item.FindControl("HidSkuId") as HiddenField;
                        HiddenField hiddenField5 = item.FindControl("HidProductId") as HiddenField;
                        string      value        = hiddenField4.Value;
                        int         num4         = hiddenField5.Value.ToInt(0);
                        if (!list3.Contains(num4))
                        {
                            list3.Add(num4);
                        }
                        StoreSKUInfo storeSKUInfo = new StoreSKUInfo();
                        storeSKUInfo.ProductID      = num4;
                        storeSKUInfo.SkuId          = value;
                        storeSKUInfo.Stock          = num;
                        storeSKUInfo.StoreId        = this.hidStoreId.Value.ToInt(0);
                        storeSKUInfo.WarningStock   = num2;
                        storeSKUInfo.StoreSalePrice = num3;
                        storeSKUInfo.FreezeStock    = 0;
                        list.Add(storeSKUInfo);
                        OperationLogEntry operationLogEntry = new OperationLogEntry();
                        operationLogEntry.AddedTime   = DateTime.Now;
                        operationLogEntry.IPAddress   = this.Page.Request.UserHostAddress;
                        operationLogEntry.PageUrl     = "AddStoreProduct.aspx";
                        operationLogEntry.UserName    = HiContext.Current.Manager.UserName;
                        operationLogEntry.Privilege   = Privilege.AddStores;
                        operationLogEntry.Description = operationLogEntry.UserName + " 给门店" + storeById.StoreName + "上架了商品 " + hiddenField2.Value + ((hiddenField3.Value.Length <= 0) ? "" : ("[" + hiddenField3.Value + "]"));
                        OperationLogEntry operationLogEntry2 = operationLogEntry;
                        operationLogEntry2.Description = operationLogEntry2.Description + " 门店库存设置为" + num + ";";
                        operationLogEntry2             = operationLogEntry;
                        operationLogEntry2.Description = operationLogEntry2.Description + " 门店警戒库存设置为" + num2 + ";";
                        HiddenField hiddenField6 = item.FindControl("hidOldSalePrice") as HiddenField;
                        decimal     num5         = hiddenField6.Value.ToDecimal(0);
                        decimal?    minPriceRate = storeById.MinPriceRate;
                        if (minPriceRate.GetValueOrDefault() > default(decimal) && minPriceRate.HasValue)
                        {
                            decimal d             = num3;
                            decimal value2        = num5;
                            decimal?minPriceRate2 = storeById.MinPriceRate;
                            minPriceRate = (decimal?)value2 * minPriceRate2;
                            if (d < minPriceRate.GetValueOrDefault() && minPriceRate.HasValue)
                            {
                                this.ShowMsg(hiddenField.Value + "门店价格不能小于平台价格的" + storeById.MinPriceRate.Value.F2ToString("f2") + "倍!", false);
                                return;
                            }
                        }
                        minPriceRate = storeById.MaxPriceRate;
                        if (minPriceRate.GetValueOrDefault() > default(decimal) && minPriceRate.HasValue)
                        {
                            decimal d2            = num3;
                            decimal value2        = num5;
                            decimal?minPriceRate2 = storeById.MaxPriceRate;
                            minPriceRate = (decimal?)value2 * minPriceRate2;
                            if (d2 > minPriceRate.GetValueOrDefault() && minPriceRate.HasValue)
                            {
                                this.ShowMsg(hiddenField.Value + "门店价格不能大于平台价格的" + storeById.MaxPriceRate.Value.F2ToString("f2") + "倍!", false);
                                return;
                            }
                        }
                        operationLogEntry2             = operationLogEntry;
                        operationLogEntry2.Description = operationLogEntry2.Description + " 门店售价设置为" + num3 + ";";
                        list2.Add(operationLogEntry);
                    }
                }
                if (list.Count > 0)
                {
                    if (StoresHelper.AddStoreProduct(list, list2, list3))
                    {
                        base.CloseWindow(null);
                        this.ShowMsgCloseWindow("保存成功!", true);
                    }
                    else
                    {
                        this.ShowMsg("保存失败!", false);
                    }
                }
                else
                {
                    base.CloseWindow(null);
                }
            }
        }
示例#21
0
 public abstract void WriteOperationLogEntry(OperationLogEntry entry);