Example #1
0
        public ActionResult CreateActivity(ProductActivity productActivity)
        {
            var currentUser = UserCache.CurrentUser.Id;
            var result      = _productActivityService.CreateProductActivity(productActivity, currentUser);

            return(Json(result));
        }
Example #2
0
        public ActionResult Edit(string id)
        {
            ProductActivity productActivity = new ProductActivity();

            if (!string.IsNullOrEmpty(id))
            {
                var pa = _productActivityService.Find <ProductActivity>(id);
                if (pa != null)
                {
                    productActivity = pa;
                }
            }
            return(View(productActivity));
        }
        public bool HandleInventoryReservedEvent(InventoryReservedEvent evt)
        {
            Console.WriteLine($"Handling inventory reserved event - {evt.EventId}");
            ProductActivity activity = new ProductActivity
            {
                OrderId      = evt.OrderId,
                SKU          = evt.SKU,
                Quantity     = (int)evt.Quantity,
                ActivityId   = evt.EventId,
                CreatedOn    = DateTime.UtcNow.Ticks,
                ActivityType = Entities.ActivityType.Reserved
            };
            var result = this.repository.PutActivity(activity);

            return(result != null);
        }
Example #4
0
        public bool HandleInventoryReleasedEvent(InventoryReleasedEvent evt)
        {
            Console.WriteLine($"Handling inventory released event - {evt.EventID}");
            ProductActivity activity = new ProductActivity
            {
                OrderID      = evt.OrderID,
                SKU          = evt.SKU,
                Quantity     = (int)evt.Quantity,
                ActivityID   = evt.EventID,
                CreatedOn    = DateTime.UtcNow.Ticks,
                ActivityType = PartialFoods.Services.InventoryServer.Entities.ActivityType.Released
            };
            var result = repository.PutActivity(activity);

            return(result != null);
        }
Example #5
0
        /// <summary>
        /// 创建产品活动
        /// </summary>
        /// <param name="productActivity"></param>
        /// <returns></returns>
        public OpResult CreateProductActivity(ProductActivity productActivity, string currentUser)
        {
            var      createStatus = false;
            OpResult result       = new OpResult()
            {
                Successed = false
            };

            try
            {
                //添加活动主要数据
                if (productActivity.Id == null)
                {
                    createStatus              = true;
                    productActivity.Id        = CommonRules.GUID;
                    productActivity.CreatedBy = currentUser;
                    productActivity.CreatedOn = DateTime.Now;
                    productActivity.IsDeleted = 0;
                }
                else
                {
                    productActivity.ModifiedBy = currentUser;
                    productActivity.ModifiedOn = DateTime.Now;
                    //删除原来添加的产品
                    var oldProdata = _context.ProductActivityDetail.Where(a => a.ProductActivityId.Equals(productActivity.Id)).ToList();
                    foreach (var item in oldProdata)
                    {
                        item.IsDeleted = 1;
                    }
                    var oldProPoolData = _context.ProductActivityDetailPool.Where(a => a.ProductActivityId.Equals(productActivity.Id)).ToList();
                    foreach (var item in oldProPoolData)
                    {
                        _context.ProductActivityDetailPool.Remove(item);
                    }
                }

                //多个产品做活动
                if (productActivity.ProductIds.Contains(","))
                {
                    var arrayIds     = productActivity.ProductIds.Trim(',').Split(',');
                    var arrayPIds    = productActivity.ParentProductIds.Trim(',').Split(',');
                    var arrayPrices  = productActivity.ActivityProPrices.Trim(',').Split(',');
                    var arrayOprices = productActivity.ProOrginPrice.Trim(',').Split(',');
                    if (arrayIds.Count() != arrayPIds.Count() || arrayPIds.Count() != arrayPrices.Count() || arrayPIds.Count() != arrayOprices.Count())
                    {
                        result.Message = "提交数据异常,创建数据失败!";
                        return(result);
                    }
                    for (var i = 0; i < arrayPIds.Count(); i++)
                    {
                        ProductActivityDetail proActivityDetail = new ProductActivityDetail();
                        //插入活动历史表

                        proActivityDetail.Id                = CommonRules.GUID;
                        proActivityDetail.ProductId         = arrayPIds[i];
                        proActivityDetail.SubProductId      = arrayIds[i];
                        proActivityDetail.ProductActivityId = productActivity.Id;
                        proActivityDetail.ProductPrice      = Convert.ToDecimal(arrayOprices[i]);//产品原价
                        proActivityDetail.ActivityPrice     = Convert.ToDecimal(arrayPrices[i]);
                        proActivityDetail.BeginValidDate    = productActivity.BeginValidDate;
                        proActivityDetail.EndValidDate      = productActivity.EndValidDate;
                        proActivityDetail.CreatedBy         = currentUser;
                        proActivityDetail.CreatedOn         = DateTime.Now;
                        proActivityDetail.IsDeleted         = 0;
                        _context.ProductActivityDetail.Add(proActivityDetail);
                        //发布状态的话插入活动明细数据
                        if (productActivity.PublishStatus == 1)
                        {
                            //插入当前活动表
                            ProductActivityDetailPool proActivityDetailPool = new ProductActivityDetailPool();
                            proActivityDetailPool.CopyProperty(proActivityDetail);
                            proActivityDetailPool.CreatedBy = currentUser;
                            proActivityDetailPool.CreatedOn = DateTime.Now;
                            proActivityDetailPool.IsDeleted = 0;
                            proActivityDetailPool.Id        = CommonRules.GUID;


                            _context.ProductActivityDetailPool.Add(proActivityDetailPool);
                        }
                    }
                }
                else//单个产品做活动
                {
                    ProductActivityDetail proActivityDetail = new ProductActivityDetail();

                    //插入活动历史表

                    proActivityDetail.CopyProperty(productActivity);
                    proActivityDetail.Id = CommonRules.GUID;
                    proActivityDetail.ProductActivityId = productActivity.Id;
                    proActivityDetail.ProductId         = productActivity.ParentProductIds;
                    proActivityDetail.SubProductId      = productActivity.ProductIds;
                    proActivityDetail.ProductPrice      = Convert.ToDecimal(productActivity.ProOrginPrice);
                    proActivityDetail.ActivityPrice     = Convert.ToDecimal(productActivity.ActivityProPrices);
                    proActivityDetail.CreatedOn         = DateTime.Now;
                    proActivityDetail.CreatedBy         = currentUser;
                    proActivityDetail.IsDeleted         = 0;
                    _context.ProductActivityDetail.Add(proActivityDetail);

                    //发布状态的话插入活动明细数据
                    if (productActivity.PublishStatus == 1)
                    {
                        //插入当前活动表
                        ProductActivityDetailPool proActivityDetailPool = new ProductActivityDetailPool();
                        proActivityDetailPool.CopyProperty(productActivity);
                        proActivityDetailPool.ProductActivityId = productActivity.Id;
                        proActivityDetailPool.ProductId         = productActivity.ParentProductIds;
                        proActivityDetailPool.SubProductId      = productActivity.ProductIds;
                        proActivityDetailPool.ProductPrice      = Convert.ToDecimal(productActivity.ProOrginPrice);
                        proActivityDetailPool.ActivityPrice     = Convert.ToDecimal(productActivity.ActivityProPrices);
                        proActivityDetailPool.Id        = CommonRules.GUID;
                        proActivityDetailPool.CreatedOn = DateTime.Now;
                        proActivityDetailPool.CreatedBy = currentUser;
                        proActivityDetailPool.IsDeleted = 0;
                        _context.ProductActivityDetailPool.Add(proActivityDetailPool);
                    }
                }


                if (createStatus)
                {
                    _context.ProductActivity.Add(productActivity);
                }
                else
                {
                    var act = _context.ProductActivity.SingleOrDefault(a => a.Id.Equals(productActivity.Id));
                    act.ModifiedBy    = currentUser;
                    act.ModifiedOn    = DateTime.Now;
                    act.PublishStatus = productActivity.PublishStatus;
                }
                //移除过期活动
                RemoveTimeoutActivity();
                if (_context.SaveChanges() > 0)
                {
                    result.Successed = true;
                }
            }
            catch (Exception e)
            {
                result.Message = "活动创建失败!";
            }

            return(result);
        }
Example #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ((CommunityMasterPage)this.Master).DisabledSidePanel = true;

            this.Title = Resources.CommunityResource.MainPageTitle;

            if (ShowEmptyScreen())
            {
                var dashboardEmptyScreen = (DashboardEmptyScreen)Page.LoadControl(DashboardEmptyScreen.Location);

                AddContent.Controls.Add(dashboardEmptyScreen);

                return;
            }


            _widgetTabControl = new WidgetTab(new Guid("{57DAD9FA-BBB8-4a3a-B208-D3CD58691D35}"),
                                              ColumnSchemaType.Schema_25_50_25,
                                              "communityDashboard"
                                              );

            var modules = new List <ASC.Web.Core.ModuleManagement.Module>();

            foreach (var item in WebItemManager.Instance.GetSubItems(CommunityProduct.ID))
            {
                if ((item is ASC.Web.Core.ModuleManagement.Module) == false)
                {
                    continue;
                }

                var module = item as ASC.Web.Core.ModuleManagement.Module;
                modules.Add(module);


                foreach (var widget in module.Widgets)
                {
                    try
                    {
                        _widgetTabControl.WidgetCollection.Add(GetWidgetControl(module, widget));
                    }
                    catch (Exception ex)
                    {
                        //TODO: draw error control or something
                        _widgetTabControl.WidgetCollection.Add(GetBrokenWidgetControl(ex));
                    }
                }
            }

            _widgetTabControl.WidgetCollection.Add(new Widget(BirthdayReminderWidget.WidgetID,
                                                              new BirthdayReminderWidget()
            {
                ProductID = CommunityProduct.ID
            },
                                                              Resources.CommunityResource.BirthdayReminderWidgetName,
                                                              Resources.CommunityResource.BirthdayReminderWidgetDescription)
            {
                ImageURL             = WebImageSupplier.GetAbsoluteWebPath("birthday_widget.png"),
                SettingsProviderType = typeof(StudioWidgetSettingsProvider),
                UsePositionAttribute = true
            });

            _widgetTabControl.WidgetCollection.Add(new Widget(NewEmployeeWidget.WidgetID,
                                                              new NewEmployeeWidget()
            {
                ProductID = CommunityProduct.ID
            },
                                                              CustomNamingPeople.Substitute <Resources.CommunityResource>("NewEmployeeWidgetName"),
                                                              Resources.CommunityResource.NewEmployeeWidgetDescription)
            {
                ImageURL             = WebImageSupplier.GetAbsoluteWebPath("newemp_widget.png"),
                SettingsProviderType = typeof(StudioWidgetSettingsProvider),
                UsePositionAttribute = true
            });

            var widgetSettings = SettingsManager.Instance.LoadSettingsFor <ProductActivityWidgetSettings>(SecurityContext.CurrentAccount.ID);

            ProductActivity productActivityControl = (ProductActivity)LoadControl(ProductActivity.Location);

            productActivityControl.ProductId  = CommunityProduct.ID;
            productActivityControl.Activities = UserActivityManager.GetUserActivities(
                TenantProvider.CurrentTenantID, null, CommunityProduct.ID, null, UserActivityConstants.ContentActionType, null, 0, widgetSettings.CountActivities)
                                                .ConvertAll(a => new UserContentActivity(a));


            _widgetTabControl.WidgetCollection.Add(new Widget(ProductActivity.WidgetID,
                                                              productActivityControl,
                                                              Resources.CommunityResource.CommunityActivityWidgetName,
                                                              Resources.CommunityResource.CommunityActivityWidgetDescription)
            {
                ImageURL             = WebImageSupplier.GetAbsoluteWebPath("lastadded_widget.png"),
                SettingsProviderType = typeof(StudioWidgetSettingsProvider),
                Position             = new Point(0, 2),
                WidgetURL            = WhatsNew.GetUrlForModule(Product.CommunityProduct.ID, null)
            });


            WidgetsContent.Controls.Add(_widgetTabControl);

            NavigationPanel NavigationPanel = (NavigationPanel)this.LoadControl(NavigationPanel.Location);

            NavigationPanelContent.Controls.Add(NavigationPanel);

            if (SecurityContext.CurrentAccount.IsAuthenticated)
            {
                NavigationPanel.addButton(Resources.CommunityResource.BtnCustomizeWidgets, WebImageSupplier.GetAbsoluteWebPath("btn_managewidgets.png"), "javascript:communityDashboard.ShowSettings()", 3);
                if (modules.Count > 0)
                {
                    NavigationPanel.addButton(Resources.CommunityResource.BtnAddContent, WebImageSupplier.GetAbsoluteWebPath("btn_addcontent.png"), "javascript:StudioManager.ShowAddContentDialog()", 2);
                    AddContentControl AddCntnt = (AddContentControl)this.LoadControl(AddContentControl.Location);

                    foreach (var module in modules)
                    {
                        try
                        {
                            AddCntnt.Types.Add(new AddContentControl.ContentTypes {
                                Link = module.Context.GetCreateContentPageAbsoluteUrl(), Icon = (module as IWebItem).GetIconAbsoluteURL(), Label = module.Name
                            });
                        }
                        catch (Exception)
                        {
                            AddCntnt.Types.Add(new AddContentControl.ContentTypes {
                                Link = "#", Icon = string.Empty, Label = "Error loading " + module.Name
                            });
                        }
                    }


                    AddContent.Controls.Add(AddCntnt);
                }
            }
        }