Exemple #1
0
    /**
     * 活动列表
     * @param activityDataList 活动信息
     */
    public void GC_ACTIVITY_LIST(InputMessage data)
    {
        int       i, size;
        ArrayList activityDataList = new ArrayList();

        size = data.GetShort();
        for (i = 0; i < size; i++)
        {
            ActivityData activityDataList_Datas = new ActivityData();
            activityDataList_Datas.activityId  = data.GetLong();
            activityDataList_Datas.title       = data.GetString();  //标题
            activityDataList_Datas.title_cn    = data.GetString();  //中文标题
            activityDataList_Datas.title_tw    = data.GetString();  //繁体标题
            activityDataList_Datas.desc        = data.GetString();  //描述
            activityDataList_Datas.desc_cn     = data.GetString();  //中文描述
            activityDataList_Datas.desc_tw     = data.GetString();  //繁体描述
            activityDataList_Datas.hall_pic_tw = data.GetString();  //大厅图片,中文繁体
            activityDataList_Datas.hall_pic_cn = data.GetString();  //大厅图片,中文简体
            activityDataList_Datas.hall_pic    = data.GetString();  //大厅图片
            activityDataList_Datas.pic         = data.GetString();  //图片
            activityDataList_Datas.pic_cn      = data.GetString();  //图片描述
            activityDataList_Datas.pic_tw      = data.GetString();  //图片描述
            activityDataList_Datas.link        = data.GetInt();     //跳转链接
            activityDataList_Datas.ruleSre     = data.GetString();  //规则数据
            activityDataList_Datas.startTime   = data.GetLong();
            activityDataList_Datas.endTime     = data.GetLong();
            activityDataList_Datas.fullValue   = data.GetString();          //全服累计金币 或者 次数 或者其他
            activityDataList.Add(activityDataList_Datas);
        }
        ActivityHandler.Instance().GC_ACTIVITY_LIST(activityDataList);
    }
    /// <summary>
    /// Log activity (subscribing)
    /// </summary>
    /// <param name="bsi"></param>
    private void LogActivity(BoardSubscriptionInfo bsi, BoardInfo bi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bsi == null) || (bi == null) || !bi.BoardLogActivity || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) ||
            !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) || !ActivitySettingsHelper.MessageBoardSubscriptionEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;
        int      contactId  = ModuleCommands.OnlineMarketingGetCurrentContactID();
        Dictionary <string, object> contactData = new Dictionary <string, object>();

        contactData.Add("ContactEmail", bsi.SubscriptionEmail);
        ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);
        var data = new ActivityData()
        {
            ContactID = contactId,
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.SUBSCRIPTION_MESSAGE_BOARD,
            TitleData = bi.BoardName,
            URL       = URLHelper.CurrentRelativePath,
            NodeID    = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture   = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
Exemple #3
0
        public HistoryItem(Activity a)
        {
            ActivityConfig  c  = a.Payload.Cfg;
            ActivityData    d  = a.Payload.Dat;
            ActivityBattery bt = a.Payload.Dat.Battery;

            Local = false;

            Stamp = DateTime.Parse(a.Stamp);
            Error = d.LastError.ToString();
            State = d.LastState.ToString();

            CfgMain += string.Format("tm:\u00A0{0} ", c.Time);
            CfgMain += string.Format("dt:\u00A0{0} ", c.Date);

            CfgPlan = null;

            CfgZone  = string.Format("mz:\u00A0{0} ", string.Join(",", c.MultiZones));
            CfgZone += string.Format("mzv:\u00A0{0}", string.Join(",", c.MultiZonePercs));

            DatMain  = string.Format("fw:\u00A0{0} ", d.Firmware);
            DatMain += string.Format("ls:\u00A0{0} ", (int)d.LastState);
            DatMain += string.Format("le:\u00A0{0} ", (int)d.LastError);
            DatMain += string.Format("lz:\u00A0{0} ", d.LastZone);
            DatMain += string.Format("lk:\u00A0{0} ", d.Lock);

            DatAccu  = string.Format("c:\u00A0{0} ", (int)bt.Charging);
            DatAccu += string.Format("m:\u00A0{0}", bt.Miss);

            DatDmp = null;

            DatStat = null;
        }
        public ActionResult EditExperiment(Experiment exp)
        {
            ActivityData tempExp = rsContext.getActivity(exp.ActivityName);

            if (tempExp == null)
            {
                ExperimentData expData = Adapting.getExperimentAsData(exp);
                rsContext.addActivity(expData);
                exp.activities = new List <Activity>();
                exp            = Adapting.getExperimentFromData(expData);
            }
            else
            {
                if (tempExp is ExperimentData)
                {
                    ExperimentData expData = (ExperimentData)tempExp;
                    exp = Adapting.getExperimentFromData(expData);
                }
                else
                {
                    throw new Exception("you try to create an activity with the same name of an alredy existing activity");
                }
            }

            return(View(exp));
        }
        // GET: Teacher/Display
        public ActionResult Display(long Id)
        {
            //Activity activity = cloneActivity(rsContext.getActivity(Id));
            //rsContext.addActivity(activity);
            ActivityData activityData = rsContext.getActivity(Id);

            if (activityData is ShortAnswerQuestionData)
            {
                return(RedirectToAction("DisplayShortAnswerQuestion", new { ActivityId = activityData.id }));
            }
            else if (activityData is TrueFalseQuestionData)
            {
                return(RedirectToAction("DisplayTrueFalseQuestion", new { ActivityId = activityData.id }));
            }
            else if (activityData is AmericanQuestionData)
            {
                return(RedirectToAction("DisplayAmericanQuestion", new { ActivityId = activityData.id }));
            }
            else if (activityData is ExperimentData)
            {
                ((ExperimentData)activityData).ActiveExpID = 0;
                TeacherData        teacherData    = rsContext.getTeacher(User.Identity.Name);
                List <StudentData> studentsInRoom = rsContext.getStudentsByTeacher(teacherData.RoomId);
                foreach (StudentData studentData in studentsInRoom)
                {
                    studentData.GroupID = 0;
                }
                //rsContext.addActiveExpLog(activeExpData); //TODO
                rsContext.SaveChanges();
                return(RedirectToAction("DisplayExperiment", new { ActivityId = activityData.id }));
            }
            return(View());
        }
Exemple #6
0
    private void doActivityCantSee(ActivityData data)
    {
        data.isCanSee        = false;
        data.nextSeeTurnTime = data.config.canSeeTimeT.getNextTime();

        me.dispatch(GameEventType.ActivityCantSee, data.id);
    }
Exemple #7
0
    /// <summary>
    /// 检查是否可参加活动
    /// </summary>
    public bool checkCanJoinActivity(int id, bool needNotice)
    {
        ActivityData data = _d.datas.get(id);

        if (data == null)
        {
            me.warnLog("检查参加活动时,找不到活动", id);
            return(false);
        }

        if (!data.isRunning)
        {
            me.warnLog("检查参加活动时,活动未开始", id);
            return(false);
        }

        ActivityConfig config = data.config;

        if (config.joinCount > 0 && data.joinTimes >= config.joinCount)
        {
            me.warnLog("检查参加活动时,次数不足", id);
            return(false);
        }

        if (!me.role.checkRoleConditions(config.joinConditions, needNotice))
        {
            me.warnLog("检查参加活动时,进入条件不满足", id);
            return(false);
        }

        return(true);
    }
Exemple #8
0
        // GET api/<controller>/5
        public string Get(string qrCodeContent)
        {
            TicketSysEntities db           = new TicketSysEntities();
            ActivityData      activityData = db.TicketQRCodes.AsEnumerable().Where(tqrc => tqrc.QRCode == qrCodeContent).
                                             Select(tqrc =>
            {
                Order_Detail order_Detail = tqrc.Order_Detail;
                return(new ActivityData()
                {
                    ActivityName = order_Detail.Tickets.Activity.ActivityName,
                    TicketCategoryName = order_Detail.Tickets.TicketCategory.TicketCategoryName,
                    TicketTime = order_Detail.Tickets.TicketTimes.TicketTime.ToString("yyyy/MM/dd HH:mm")
                });
            }).FirstOrDefault();

            if (activityData != null)
            {
                string json = JsonConvert.SerializeObject(activityData);
                return(json);
            }
            else
            {
                return("false");
            }
        }
Exemple #9
0
    /// <summary>
    /// Log activity
    /// </summary>
    /// <param name="gmi">Member info</param>
    /// <param name="logActivity">Determines whether activity logging is enabled for current group</param>
    /// <param name="groupDisplayName">Display name of the group</param>
    private void LogLeaveActivity(GroupMemberInfo gmi, bool logActivity, string groupDisplayName)
    {
        string siteName = CMSContext.CurrentSiteName;

        if (!logActivity || (CMSContext.ViewMode != ViewModeEnum.LiveSite) || (gmi == null) || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) ||
            !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) || !ActivitySettingsHelper.JoiningAGroupEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;
        var      data       = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.LEAVE_GROUP,
            TitleData = groupDisplayName,
            ItemID    = gmi.MemberGroupID,
            URL       = URLHelper.CurrentRelativePath,
            NodeID    = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture   = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
Exemple #10
0
        public IActionResult EditEntry(string room, int?slot, string day)
        {
            if (String.IsNullOrEmpty(room) || String.IsNullOrEmpty(day) || !slot.HasValue)
            {
                return(RedirectToAction(nameof(Index)));
            }

            EditEntryViewModel editEntry = new EditEntryViewModel();

            editEntry.classesItems  = plannerData.GetClasses();
            editEntry.groupsItems   = plannerData.GetGroups();
            editEntry.teachersItems = plannerData.GetTeachers();

            ActivityData selectedActivity = plannerData.getActivity(room, slot.Value, day);

            if (selectedActivity != null)
            {
                editEntry.clas    = selectedActivity.clas;
                editEntry.group   = selectedActivity.group;
                editEntry.teacher = selectedActivity.teacher;
            }
            else
            {
                editEntry.clas    = "select class";
                editEntry.group   = "select group";
                editEntry.teacher = "select teacher";
            }

            return(View(editEntry));
        }
Exemple #11
0
 /// <summary>
 /// 写入字节流(简版)
 /// </summary>
 protected override void toWriteBytesSimple(BytesWriteStream stream)
 {
     if (this.datas != null)
     {
         stream.writeLen(this.datas.size());
         if (!this.datas.isEmpty())
         {
             ActivityData[] datasVValues = this.datas.getValues();
             for (int datasVI = datasVValues.Length - 1; datasVI >= 0; --datasVI)
             {
                 ActivityData datasV = datasVValues[datasVI];
                 if (datasV != null)
                 {
                     if (datasV != null)
                     {
                         stream.writeDataSimpleNotNull(datasV);
                     }
                     else
                     {
                         nullObjError("datasV");
                     }
                 }
             }
         }
     }
     else
     {
         nullObjError("datas");
     }
 }
    /// <summary>
    /// Logs activity
    /// </summary>
    /// <param name="skuId">Product ID</param>
    /// <param name="skuName">Product name</param>
    /// <param name="Quantity">Quantity</param>
    private void LogProductAddedToSCActivity(int skuId, string skuName, int Quantity)
    {
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;

        if (!ActivitySettingsHelper.AddingProductToSCEnabled(siteName) || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName))
        {
            return;
        }

        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.PRODUCT_ADDED_TO_SHOPPINGCART,
            TitleData = skuName,
            Value     = Quantity.ToString(),
            ItemID    = skuId,
            URL       = URLHelper.CurrentRelativePath,
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
Exemple #13
0
        private List <ActivityData> LoadData()
        {
            List <ActivityData> activity_list = new List <ActivityData>();
            StringBuilder       stringBuilder = new StringBuilder();

            foreach (FieldInfo info in typeof(Color).GetRuntimeFields())
            {
                if (info.IsPublic && info.IsStatic && info.FieldType == typeof(Color))
                {
                    string name = info.Name;
                    stringBuilder.Clear();
                    int index = 0;
                    foreach (char c in name)
                    {
                        if (index != 0 && Char.IsUpper(c))
                        {
                            stringBuilder.Append(' ');
                        }
                        stringBuilder.Append(c);
                        ++index;
                    }
                    Color        color        = (Color)info.GetValue(null);
                    ActivityData activityData = new ActivityData(color, name, stringBuilder.ToString(), stringBuilder.ToString());
                    activity_list.Add(activityData);
                }
            }
            return(activity_list);
        }
Exemple #14
0
    /// <summary>
    /// Logs "subscription" activity.
    /// </summary>
    /// <param name="bci">Forum subscription</param>
    private void LogSubscriptionActivity(ForumSubscriptionInfo fsi, ForumInfo fi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (fsi == null) || (fi == null) || !fi.ForumLogActivity ||
            !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.ForumPostSubscriptionEnabled(siteName))
        {
            return;
        }

        var data = new ActivityData()
        {
            ContactID    = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID       = CMSContext.CurrentSiteID,
            Type         = PredefinedActivityType.SUBSCRIPTION_FORUM_POST,
            TitleData    = fi.ForumName,
            ItemID       = fi.ForumID,
            ItemDetailID = fsi.SubscriptionID,
            URL          = URLHelper.CurrentRelativePath,
            NodeID       = CMSContext.CurrentDocument.NodeID,
            Culture      = CMSContext.CurrentDocument.DocumentCulture,
            Campaign     = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
Exemple #15
0
        private static async Task SendData()
        {
            EventHubProducerClient client = new EventHubProducerClient(connstring, hubname);

            foreach (DataRow row in dt_table.Rows)
            {
                ActivityData obj = new ActivityData();
                obj.Correlationid = row[0].ToString();
                obj.Operationname = row[1].ToString();
                obj.status        = row[2].ToString();
                obj.EventCategory = row[3].ToString();
                obj.Level         = row[4].ToString();
                obj.dttime        = DateTime.Parse(row[5].ToString());
                obj.subscription  = row[6].ToString();
                obj.InitiatedBy   = row[7].ToString();
                obj.resourcetype  = row[8].ToString();
                obj.resourcegroup = row[9].ToString();
                obj.resource      = row[10].ToString();
                obj.id            = Guid.NewGuid().ToString();

                using EventDataBatch batch_obj = await client.CreateBatchAsync();

                batch_obj.TryAdd(new EventData(Encoding.UTF8.GetBytes(obj.ToString())));
                await client.SendAsync(batch_obj);

                Console.WriteLine("Sending Data {0}", obj.id);
            }
        }
Exemple #16
0
    /// <summary>
    /// Logs "post" activity.
    /// </summary>
    /// <param name="bci">Forum subscription</param>
    /// <param name="fi">Forum info</param>
    private void LogPostActivity(ForumPostInfo fp, ForumInfo fi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (fp == null) || (fi == null) || !fi.ForumLogActivity ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) ||
            !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) || !ActivitySettingsHelper.ForumPostsEnabled(siteName))
        {
            return;
        }

        int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
        Dictionary <string, object> contactData = new Dictionary <string, object>();

        contactData.Add("ContactEmail", fp.PostUserMail);
        contactData.Add("ContactLastName", fp.PostUserName);
        ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);

        var data = new ActivityData()
        {
            ContactID    = contactId,
            SiteID       = CMSContext.CurrentSiteID,
            Type         = PredefinedActivityType.FORUM_POST,
            TitleData    = fi.ForumName,
            ItemID       = fi.ForumID,
            ItemDetailID = fp.PostId,
            URL          = URLHelper.CurrentRelativePath,
            NodeID       = CMSContext.CurrentDocument.NodeID,
            Culture      = CMSContext.CurrentDocument.DocumentCulture,
            Campaign     = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
Exemple #17
0
    /**
     *  Acknowledge generic activity.
     */
    virtual public void AcknowledgeActivity(Activity activity)
    {
        if (completedActivities.Contains(activity))
        {
            ActivityData data = GetActivityData(activity.Type);
            if (data != null)
            {
                switch (data.reward)
                {
                case RewardType.RESOURCE:
                    ResourceManager.Instance.AddResources(data.rewardAmount);
                    break;

                case RewardType.GOLD:
                    ResourceManager.Instance.AddGold(data.rewardAmount);
                    break;

                case RewardType.CUSTOM:
                    // You need to include a custom reward handler if you use the CUSTOM RewardType
                    SendMessage("CustomReward", activity, SendMessageOptions.RequireReceiver);
                    break;
                }
                completedActivities.Remove(activity);
                view.SendMessage("UI_AcknowledgeActivity");
                if ((int)BuildingManager.GetInstance().saveMode < (int)SaveMode.SAVE_NEVER)
                {
                    PersistenceManager.GetInstance().Save();
                }
            }
            else
            {
                Debug.LogError("Couldn't find data for activity: " + activity.Type);
            }
        }
    }
Exemple #18
0
    /// <summary>
    /// Logs "delete" activity
    /// </summary>
    /// <param name="documentName">Document name</param>
    /// <param name="nodeId">Document node ID</param>
    /// <param name="culture">Document culture</param>
    private void LogDeleteActivity(string documentName, int nodeId, string culture)
    {
        if (!this.LogActivity || (CMSContext.ViewMode != ViewModeEnum.LiveSite) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;

        if (ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) && ActivitySettingsHelper.WikiContributionDeleteEnabled(siteName))
        {
            var data = new ActivityData()
            {
                ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
                SiteID    = CMSContext.CurrentSiteID,
                Type      = PredefinedActivityType.USER_CONTRIB_DELETE,
                TitleData = documentName,
                NodeID    = nodeId,
                URL       = URLHelper.CurrentRelativePath,
                Culture   = culture,
                Campaign  = CMSContext.Campaign
            };
            ActivityLogProvider.LogActivity(data);
        }
    }
        private void OnActivityPayloadChanged(ActivityData payload)
        {
            string json = JsonUtility.ToJson(payload, true);
            IPayloadViewController payloadViewController = m_ParentHandle.target.payloadViewController;

            payloadViewController.SetPayload(PayloadType.ChatBot, json, payloadViewController.delay);
        }
Exemple #20
0
    /// <summary>
    /// Logs activity
    /// </summary>
    /// <param name="pollId">Poll</param>
    /// <param name="answers">Answers</param>
    private void LogActivity(PollInfo pi, string answers)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || !IsLiveSite || (pi == null) || !pi.PollLogActivity || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.PollVotingEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;
        var      data       = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.POLL_VOTING,
            TitleData = pi.PollQuestion,
            ItemID    = pi.PollID,
            URL       = URLHelper.CurrentRelativePath,
            NodeID    = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture   = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Value     = answers,
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
Exemple #21
0
    /// <summary>
    /// Log activity (subscribing).
    /// </summary>
    /// <param name="bsi">Board subscription info object</param>
    /// <param name="bi">Message board info</param>
    private void LogSubscribingActivity(BoardSubscriptionInfo bsi, BoardInfo bi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bsi == null) || (bi == null) || !bi.BoardLogActivity || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.MessageBoardSubscriptionEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;

        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID    = CMSContext.CurrentSiteID,
            Type      = PredefinedActivityType.SUBSCRIPTION_MESSAGE_BOARD,
            TitleData = bi.BoardDisplayName,
            URL       = URLHelper.CurrentRelativePath,
            NodeID    = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture   = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign  = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
    /// <summary>
    /// Logs activity for subscribing/unsubscribing
    /// </summary>
    /// <param name="ui">User</param>
    /// <param name="newsletterId">Newsletter ID</param>
    /// <param name="subscribe">Subscribing/unsubscribing flag</param>
    /// <param name="siteId">Site ID</param>
    private void LogActivity(UserInfo ui, int newsletterId, bool subscribe, int siteId)
    {
        if ((sb == null) || (ui == null) || (CMSContext.ViewMode != ViewModeEnum.LiveSite) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteId) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(ui))
        {
            return;
        }

        if (sb.SubscriberType == SiteObjectType.USER)
        {
            if (subscribe && ActivitySettingsHelper.NewsletterSubscribeEnabled(siteId) ||
                !subscribe && ActivitySettingsHelper.NewsletterUnsubscribeEnabled(siteId))
            {
                Newsletter news = NewsletterProvider.GetNewsletter(newsletterId);
                if ((news != null) && news.NewsletterLogActivity)
                {
                    var data = new ActivityData()
                    {
                        ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
                        SiteID    = sb.SubscriberSiteID,
                        Type      = PredefinedActivityType.NEWSLETTER_UNSUBSCRIBING,
                        TitleData = news.NewsletterName,
                        ItemID    = newsletterId,
                        URL       = URLHelper.CurrentRelativePath,
                        Campaign  = CMSContext.Campaign
                    };
                    ActivityLogProvider.LogActivity(data);
                }
            }
        }
    }
Exemple #23
0
    /// <summary>
    /// Log activity posting
    /// </summary>
    /// <param name="bsi">Board subscription info object</param>
    /// <param name="bi">Message board info</param>
    private void LogCommentActivity(BoardMessageInfo bmi, BoardInfo bi)
    {
        string siteName = CMSContext.CurrentSiteName;

        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bmi == null) || (bi == null) || !bi.BoardLogActivity || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.MessageBoardPostsEnabled(siteName))
        {
            return;
        }

        int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
        Dictionary <string, object> contactData = new Dictionary <string, object>();

        contactData.Add("ContactEmail", bmi.MessageEmail);
        contactData.Add("ContactWebSite", bmi.MessageURL);
        contactData.Add("ContactLastName", bmi.MessageUserName);
        ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);

        TreeNode currentDoc = CMSContext.CurrentDocument;
        var      data       = new ActivityData()
        {
            ContactID    = contactId,
            SiteID       = CMSContext.CurrentSiteID,
            Type         = PredefinedActivityType.MESSAGE_BOARD_COMMENT,
            TitleData    = bi.BoardDisplayName,
            ItemID       = bmi.MessageBoardID,
            URL          = URLHelper.CurrentRelativePath,
            ItemDetailID = bmi.MessageID,
            NodeID       = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture      = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign     = CMSContext.Campaign
        };

        ActivityLogProvider.LogActivity(data);
    }
Exemple #24
0
    public static void ParseData(string content, string fileName)
    {
        metaData = new Dictionary <int, ActivityData> ();

        CSVParser parser = new CSVParser();

        if (!parser.Parse(content))
        {
            ClientLog.Instance.LogError("AchieveData" + ConfigLoader.Instance.csvext + "解析错误");
            return;
        }

        int          recordCounter = parser.GetRecordCounter();
        ActivityData data          = null;

        for (int i = 0; i < recordCounter; ++i)
        {
            data         = new ActivityData();
            data._Id     = parser.GetInt(i, "ID");
            data._Target = parser.GetInt(i, "target");
            data._Reward = parser.GetInt(i, "reward");
            data._Desc   = parser.GetString(i, "desc");
            if (metaData.ContainsKey(data._Id))
            {
                ClientLog.Instance.LogError("AchieveData" + ConfigLoader.Instance.csvext + "ID重复");
                return;
            }
            metaData[data._Id] = data;
        }
        parser.Dispose();
        parser = null;
    }
    /**
     * Start generic activity and subtract any cost.
     * Returns true if cost can be paid, otherwise returns false and doesn't start the activity.h
     */
    virtual public bool StartActivity(string type, System.DateTime startTime, string supportingId)
    {
        switch (type)
        {
        case ActivityType.CLEAR:
            if (ResourceManager.Instance.Resources < this.type.cost)
            {
                return(false);
            }
            ResourceManager.Instance.RemoveResources(this.type.cost);
            break;

        case ActivityType.RECRUIT:
            OccupantTypeData odata = OccupantManager.GetInstance().GetOccupantTypeData(supportingId);
            if (ResourceManager.Instance.Resources < odata.cost)
            {
                return(false);
            }
            ResourceManager.Instance.RemoveResources(odata.cost);
            break;

        default:
            ActivityData data = ActivityManager.GetInstance().GetActivityData(type);
            if (data != null && ResourceManager.Instance.Resources < data.activityCost)
            {
                return(false);
            }
            ResourceManager.Instance.RemoveResources(data.activityCost);
            break;
        }
        StartCoroutine(GenericActivity(type, startTime, supportingId));
        return(true);
    }
Exemple #26
0
        // POST: api/Tour
        public IHttpActionResult Post([FromBody] ActivitySearch valFilter)
        {
            string        vResult       = "3";
            IActivityData vActivityData = new ActivityData();

            try {
                bool vNullField = VerifyNullFiledsSearch(valFilter);

                if (vNullField)
                {
                    vResult = "1";
                    return(ResponseMessage(Request.CreateResponse(HttpStatusCode.OK, new { Code = HttpStatusCode.NotAcceptable, Message = Messages.vListContainNullValue, Result = vResult })));
                }
                string vResponse = vActivityData.SelectByTour(valFilter);

                if (!string.IsNullOrEmpty(vResponse))
                {
                    return(ResponseMessage(Request.CreateResponse(HttpStatusCode.OK, new { Code = HttpStatusCode.OK, Message = Messages.vOkListed, Result = vResponse })));
                }
                vResult = "2";
                return(ResponseMessage(Request.CreateResponse(HttpStatusCode.OK, new { Code = HttpStatusCode.NoContent, Message = Messages.vNotListed, Result = vResult })));
            } catch (Exception) {
                return(ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest, new { Code = HttpStatusCode.BadRequest, Message = Messages.vInternalServerError, Result = vResult })));
            }
        }
        // GET: Student/Experiment
        public ActionResult Experiment(long expId, string studentPhone, long studentRoom, int currActivityIndex)
        {
            // Update group Progress
            StudentData student = rsContext.getStudent(studentPhone, studentRoom);
            GroupData   group   = rsContext.getGroupById(student.GroupID);

            if (group == null)
            {
                return(RedirectToAction("Wait", new StudentLoginViewModel(studentRoom, studentPhone)));
            }
            group.Progress++;
            rsContext.SaveChanges();

            ExperimentData expData = (ExperimentData)rsContext.getActivity(expId);

            if (currActivityIndex < expData.activities.Count)
            {
                ActivityData currActivityData = expData.activities.Single(s => s.experimentOrder == currActivityIndex);
                return(RedirectToAction(currActivityData.Type, (new { success = true, expId = expId, currActivityIndex = currActivityIndex, numOfActivities = expData.activities.Count, activityId = currActivityData.id, studentPhone = studentPhone, studentRoom = studentRoom })));
            }
            else
            {
                return(RedirectToAction("DisplaySubmittedExperiment", new { flag = expData.activities.ElementAt(currActivityIndex - 1).Type == "Measurement" }));
            }
        }
        public void OnHandleButtonClicked()
        {
            ToggleActive(true, false);
            ActivityData payload = ActivityData.Empty;

            try
            {
                if (!string.IsNullOrWhiteSpace(m_ParentHandle.target.payloadViewController.payload))
                {
                    payload = JsonUtility.FromJson <ActivityData>(m_ParentHandle.target.payloadViewController.payload);
                }
            }
            catch (ArgumentException)
            {
                // Invalid json
                Debug.LogWarning("Found invalid json.");
            }
            catch (Exception e)
            {
                Debug.LogException(e);
            }

            DialogComponent dialog = m_DialogFactory.Create(payload, OnActivityPayloadChanged);

            m_DialogService.SendRequest(DialogRequest.Create(dialog));
        }
    private void SetActionsCriteriaID(ActivityData activity, int id)
    {
        var _result = PlayerDataManager.Instance.CheckCondition(id);

        activity.IsGrey           = _result != 0 ? 1 : 0;
        activity.ClickConditionId = id;
    }
    /// <summary>
    /// Gets the item information
    /// </summary>
    /// <param name="data">Activity data</param>
    /// <param name="objectName">Object name</param>
    /// <param name="culture">Culture</param>
    /// <param name="objectId">Object ID</param>
    protected string GetInformation(object data, object objectName, object culture, object objectId)
    {
        StringBuilder sb = new StringBuilder();

        // Get activity data
        ActivityData activityData = null;

        if (data is ActivityData)
        {
            activityData = (ActivityData)data;
        }
        else
        {
            // Standard web analytics action
            sb.Append(objectName);

            int id = ValidationHelper.GetInteger(objectId, 0);
            if (id > 0)
            {
                sb.Append(objectId);
            }

            string stringCulture = ValidationHelper.GetString(culture, null);
            if (!String.IsNullOrEmpty(stringCulture))
            {
                sb.Append(" (", stringCulture, ")");
            }
        }

        return(sb.ToString());
    }
        /// <summary>
        /// Initializes a new instance of the <see cref="Activity"/> class.
        /// </summary>
        /// <param name="client"><see cref="T:TcmCoreService.Client" /></param>
        /// <param name="activityData"><see cref="T:Tridion.ContentManager.CoreService.Client.ActivityData" /></param>
        protected Activity(Client client, ActivityData activityData)
            : base(client, activityData)
        {
            if (activityData == null)
                throw new ArgumentNullException("activityData");

            mActivityData = activityData;
        }
    /// <summary>
    /// Log activity (subscribing)
    /// </summary>
    /// <param name="bsi"></param>
    private void LogActivity(BoardSubscriptionInfo bsi, BoardInfo bi)
    {
        string siteName = CMSContext.CurrentSiteName;
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bsi == null) || (bi == null) || !bi.BoardLogActivity || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName)
            || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) || !ActivitySettingsHelper.MessageBoardSubscriptionEnabled(siteName) )
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;
        int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
        Dictionary<string, object> contactData = new Dictionary<string, object>();
        contactData.Add("ContactEmail", bsi.SubscriptionEmail);
        ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);
        var data = new ActivityData()
        {
            ContactID = contactId,
            SiteID = CMSContext.CurrentSiteID,
            Type = PredefinedActivityType.SUBSCRIPTION_MESSAGE_BOARD,
            TitleData = bi.BoardName,
            URL = URLHelper.CurrentRelativePath,
            NodeID = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign = CMSContext.Campaign
        };
        ActivityLogProvider.LogActivity(data);
    }
Exemple #33
0
    /// <summary>
    /// Logs activity
    /// </summary>
    /// <param name="pollId">Poll</param>
    /// <param name="answers">Answers</param>
    private void LogActivity(PollInfo pi, string answers)
    {
        string siteName = CMSContext.CurrentSiteName;
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || !IsLiveSite || (pi == null) || !pi.PollLogActivity || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser)
            || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.PollVotingEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;
        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID = CMSContext.CurrentSiteID,
            Type = PredefinedActivityType.POLL_VOTING,
            TitleData = pi.PollQuestion,
            ItemID = pi.PollID,
            URL = URLHelper.CurrentRelativePath,
            NodeID = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Value = answers,
            Campaign = CMSContext.Campaign
        };
        ActivityLogProvider.LogActivity(data);
    }
    /// <summary>
    /// Saves the data.
    /// </summary>
    private bool Save(string newsletterName, Subscriber sb)
    {
        bool toReturn = false;
        int siteId = CMSContext.CurrentSiteID;

        // Check if sunscriber info object exists
        if ((sb == null) || string.IsNullOrEmpty(newsletterName))
        {
            return false;
        }

        // Get nesletter info
        Newsletter news = NewsletterProvider.GetNewsletter(newsletterName, siteId);
        if (news != null)
        {
            try
            {
                // Check if subscriber is not allready subscribed
                if (!SubscriberProvider.IsSubscribed(sb.SubscriberGUID, news.NewsletterGUID, siteId))
                {
                    toReturn = true;

                    // Subscribe to the site
                    SubscriberProvider.Subscribe(sb.SubscriberID, news.NewsletterID, DateTime.Now, this.SendConfirmationEmail);

                    // Info message
                    if (!chooseMode)
                    {
                        lblInfo.Visible = true;
                        lblInfo.Text = GetString("NewsletterSubscription.Subscribed");
                    }

                    // Track successful subscription conversion
                    if (this.TrackConversionName != string.Empty)
                    {
                        string siteName = CMSContext.CurrentSiteName;

                        if (AnalyticsHelper.AnalyticsEnabled(siteName) && AnalyticsHelper.TrackConversionsEnabled(siteName) && !AnalyticsHelper.IsIPExcluded(siteName, HttpContext.Current.Request.UserHostAddress))
                        {
                            // Log conversion
                            HitLogProvider.LogConversions(siteName, CMSContext.PreferredCultureCode, TrackConversionName, 0, ConversionValue);
                        }
                    }

                    // Log newsletter subscription activity if double opt-in is not required
                    if (!news.NewsletterEnableOptIn)
                    {
                        if ((CMSContext.ViewMode == ViewModeEnum.LiveSite) && news.NewsletterLogActivity && ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteId) &&
                            ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) &&
                            ActivitySettingsHelper.NewsletterSubscribeEnabled(siteId))
                        {
                            int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
                            ModuleCommands.OnlineMarketingUpdateContactFromExternalData(sb, contactId);
                            ModuleCommands.OnlineMarketingCreateRelation(sb.SubscriberID, MembershipType.NEWSLETTER_SUBSCRIBER, contactId);

                            if (ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
                            {
                                var data = new ActivityData()
                                {
                                    ContactID = contactId,
                                    SiteID = sb.SubscriberSiteID,
                                    Type = PredefinedActivityType.NEWSLETTER_SUBSCRIBING,
                                    TitleData = news.NewsletterName,
                                    ItemID = news.NewsletterID,
                                    URL = URLHelper.CurrentRelativePath,
                                    Campaign = CMSContext.Campaign
                                };
                                ActivityLogProvider.LogActivity(data);
                            }
                        }
                    }
                }
                else
                {
                    // Info message - subscriber is allready in site
                    if (!chooseMode)
                    {
                        lblInfo.Visible = true;
                        lblInfo.Text = GetString("NewsletterSubscription.SubscriberIsAlreadySubscribed");
                    }
                    else
                    {
                        lblInfo.Visible = true;
                        lblInfo.Text += GetString("NewsletterSubscription.SubscriberIsAlreadySubscribedXY") + " " + HTMLHelper.HTMLEncode(news.NewsletterDisplayName) + ".<br />";
                    }
                }
            }
            catch (Exception ex)
            {
                lblError.Visible = true;
                lblError.Text = ex.Message;
            }
        }
        else
        {
            lblError.Visible = true;
            lblError.Text = GetString("NewsletterSubscription.NewsletterDoesNotExist");
        }

        return toReturn;
    }
    /// <summary>
    /// Logs activity for subscribing/unsubscribing
    /// </summary>
    /// <param name="ui">User</param>
    /// <param name="newsletterId">Newsletter ID</param>
    /// <param name="subscribe">Subscribing/unsubscribing flag</param>
    /// <param name="siteId">Site ID</param>
    private void LogActivity(UserInfo ui, int newsletterId, bool subscribe, int siteId)
    {
        if ((sb == null) || (ui == null) || (CMSContext.ViewMode != ViewModeEnum.LiveSite) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteId) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(ui))
        {
            return;
        }

        if (sb.SubscriberType == SiteObjectType.USER)
        {
            if (subscribe && ActivitySettingsHelper.NewsletterSubscribeEnabled(siteId) ||
                !subscribe && ActivitySettingsHelper.NewsletterUnsubscribeEnabled(siteId))
            {
                Newsletter news = NewsletterProvider.GetNewsletter(newsletterId);
                if ((news != null) && news.NewsletterLogActivity)
                {
                    var data = new ActivityData()
                    {
                        ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
                        SiteID = sb.SubscriberSiteID,
                        Type = PredefinedActivityType.NEWSLETTER_UNSUBSCRIBING,
                        TitleData = news.NewsletterName,
                        ItemID = newsletterId,
                        URL = URLHelper.CurrentRelativePath,
                        Campaign = CMSContext.Campaign
                    };
                    ActivityLogProvider.LogActivity(data);
                }
            }
        }
    }
    /// <summary>
    /// On btnRegister click.
    /// </summary>
    protected void btnRegister_Click(object sender, EventArgs e)
    {
        string currentSiteName = CMSContext.CurrentSiteName;
        // Check banned ip
        if (!BannedIPInfoProvider.IsAllowed(currentSiteName, BanControlEnum.AllNonComplete))
        {
            lblError.Visible = true;
            lblError.Text = GetString("General.BannedIP");
            return;
        }

        // Exit if problem occurs
        if (errorOccurs)
        {
            return;
        }

        string result = null;
        Validator val = new Validator();
        // Check name fields if required
        if (this.RequireName)
        {
            result = val.NotEmpty(txtFirstName.Text.Trim(), GetString("eventmanager.firstnamerequired"))
                .NotEmpty(txtLastName.Text.Trim(), GetString("eventmanager.lastnamerequired")).Result;
        }
        // Check e-mail field
        if (string.IsNullOrEmpty(result))
        {
            result = val.IsEmail(txtEmail.Text.Trim(), GetString("eventmanager.emailrequired")).Result;
        }
        // Check phone field if required
        if (this.RequirePhone && string.IsNullOrEmpty(result))
        {
            result = val.NotEmpty(txtPhone.Text.Trim(), GetString("eventmanager.phonerequired")).Result;
        }

        if (string.IsNullOrEmpty(result))
        {
            DateTime now = DateTime.Now;
            // Allow registration if opened
            if ((openFrom == DataHelper.DATETIME_NOT_SELECTED || openFrom < now) && (openTo == DataHelper.DATETIME_NOT_SELECTED || now <= openTo) && (now <= eventDate))
            {
                if (EventNode != null)
                {
                    if (!EventAttendeeInfoProvider.IsRegisteredForEvent(EventNode.NodeID, txtEmail.Text.Trim()))
                    {
                        // Add new attendant to the event
                        EventAttendeeInfo eai = AddAttendantToEvent();

                        if (eai != null)
                        {
                            // Log activity
                            if ((CMSContext.ViewMode == ViewModeEnum.LiveSite) && ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(currentSiteName) &&
                                ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) && ActivitySettingsHelper.EventBookingEnabled(currentSiteName))
                            {
                                if (ValidationHelper.GetBoolean(EventNode.GetValue("EventLogActivity"), false))
                                {
                                    var data = new ActivityData()
                                    {
                                        ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
                                        SiteID = CMSContext.CurrentSiteID,
                                        Type = PredefinedActivityType.EVENT_BOOKING,
                                        TitleData = EventNode.DocumentName,
                                        ItemID = eai.AttendeeID,
                                        URL = URLHelper.CurrentRelativePath,
                                        ItemDetailID = EventNode.DocumentID,
                                        NodeID = EventNode.NodeID,
                                        Culture = EventNode.DocumentCulture,
                                        Campaign = CMSContext.Campaign
                                    };
                                    ActivityLogProvider.LogActivity(data);
                                }
                            }

                            // Send invitation e-mail
                            TimeZoneInfo tzi = null;
                            CMSContext.GetDateTimeForControl(this, DateTime.Now, out tzi);
                            EventProvider.SendInvitation(currentSiteName, EventNode, eai, tzi);

                            lblRegInfo.Text = GetString("eventmanager.registrationsucceeded");
                            lblRegInfo.Visible = true;
                            // Hide registration form
                            pnlReg.Visible = false;
                        }
                    }
                    else
                    {
                        // User is already registered
                        lblError.Text = GetString("eventmanager.attendeeregistered");
                        lblError.Visible = true;
                    }
                }
                else
                {
                    // Event does not exist
                    lblError.Text = GetString("eventmanager.eventnotexist");
                    lblError.Visible = true;
                    // Hide registration form
                    pnlReg.Visible = false;
                }
            }
            else
            {
                // Event registration is not opened
                lblError.Text = GetString("eventmanager.notopened");
                lblError.Visible = true;
                // Hide registration form
                pnlReg.Visible = false;
            }
        }
        else
        {
            // Display error message
            lblError.Text = result;
            lblError.Visible = true;
        }
    }
    /// <summary>
    /// Logs activity
    /// </summary>
    /// <param name="skuId">Product ID</param>
    /// <param name="skuName">Product name</param>
    /// <param name="Quantity">Quantity</param>
    private void LogProductAddedToSCActivity(int skuId, string skuName, int Quantity)
    {
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;
        if (!ActivitySettingsHelper.AddingProductToSCEnabled(siteName) || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName))
        {
            return;
        }

        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID = CMSContext.CurrentSiteID,
            Type = PredefinedActivityType.PRODUCT_ADDED_TO_SHOPPINGCART,
            TitleData = skuName,
            Value = Quantity.ToString(),
            ItemID = skuId,
            URL = URLHelper.CurrentRelativePath,
            Campaign = CMSContext.Campaign
        };
        ActivityLogProvider.LogActivity(data);
    }
Exemple #38
0
    /// <summary>
    /// Logs "subscription" activity.
    /// </summary>
    /// <param name="bci">Forum subscription</param>
    private void LogSubscriptionActivity(ForumSubscriptionInfo fsi, ForumInfo fi)
    {
        string siteName = CMSContext.CurrentSiteName;
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (fsi == null) || (fi == null) || !fi.ForumLogActivity
            || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
            !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.ForumPostSubscriptionEnabled(siteName))
        {
            return;
        }

        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID = CMSContext.CurrentSiteID,
            Type = PredefinedActivityType.SUBSCRIPTION_FORUM_POST,
            TitleData = fi.ForumName,
            ItemID = fi.ForumID,
            ItemDetailID = fsi.SubscriptionID,
            URL = URLHelper.CurrentRelativePath,
            NodeID = CMSContext.CurrentDocument.NodeID,
            Culture = CMSContext.CurrentDocument.DocumentCulture,
            Campaign = CMSContext.Campaign
        };
        ActivityLogProvider.LogActivity(data);
    }
    /// <summary>
    /// Logs activity.
    /// </summary>
    /// <param name="bci">Blog comment info</param>
    /// <param name="nodeId">Docuemnt node ID</param>
    /// <param name="culture">Docuemnt culture</param>
    private void LogCommentActivity(BlogCommentInfo bci, int nodeId, string culture)
    {
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bci == null) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;
        if (!ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.BlogPostCommentsEnabled(siteName))
        {
            return;
        }

        if (bci.CommentPostDocumentID > 0)
        {
            // Load blog post settings and check if logging is enabled for current post
            TreeProvider tree = new TreeProvider();
            TreeNode blogPost = DocumentHelper.GetDocument(bci.CommentPostDocumentID, tree);

            if ((blogPost != null) && ValidationHelper.GetBoolean(blogPost.GetValue("BlogLogActivity"), false))
            {
                TreeNode blogNode = BlogHelper.GetParentBlog(bci.CommentPostDocumentID, false);
                string blogName = null;
                if (blogNode != null)
                {
                    blogName = blogNode.DocumentName;
                }

                int contactID = ModuleCommands.OnlineMarketingGetCurrentContactID();
                var data = new ActivityData()
                {
                    ContactID = contactID,
                    SiteID = CMSContext.CurrentSiteID,
                    Type = PredefinedActivityType.BLOG_COMMENT,
                    TitleData = blogName,
                    ItemID = bci.CommentID,
                    URL = URLHelper.CurrentRelativePath,
                    ItemDetailID = (blogNode != null ? blogNode.NodeID : 0),
                    NodeID = nodeId,
                    Culture = culture,
                    Campaign = CMSContext.Campaign
                };
                ActivityLogProvider.LogActivity(data);

                Dictionary<string, object> contactData = new Dictionary<string,object>();
                contactData.Add("ContactEmail", bci.CommentEmail);
                contactData.Add("ContactLastName", bci.CommentUserName);
                contactData.Add("ContactWebSite", bci.CommentUrl);
                ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactID);
            }
        }
    }
Exemple #40
0
    /// <summary>
    /// Logs activity
    /// </summary>
    /// <param name="skuId">SKU ID</param>
    /// <param name="skuName">Product name</param>
    /// <param name="siteId">Site ID</param>
    private void LogProductAddedToWLActivity(int skuId, string skuName, int siteId)
    {
        if ((currentUser == null) || (CMSContext.ViewMode != ViewModeEnum.LiveSite) || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteId) ||
            !ActivitySettingsHelper.ActivitiesEnabledForThisUser(currentUser) || !ActivitySettingsHelper.AddingProductToWLEnabled(siteId))
        {
            return;
        }

        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID = siteId,
            Type = PredefinedActivityType.PRODUCT_ADDED_TO_WISHLIST,
            TitleData = skuName,
            ItemID = skuId,
            URL = URLHelper.CurrentRelativePath,
            Campaign = CMSContext.Campaign
        };
        ActivityLogProvider.LogActivity(data);
    }
Exemple #41
0
    /// <summary>
    /// Logs "post" activity.
    /// </summary>
    /// <param name="bci">Forum subscription</param>
    /// <param name="fi">Forum info</param>
    private void LogPostActivity(ForumPostInfo fp, ForumInfo fi)
    {
        string siteName = CMSContext.CurrentSiteName;
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (fp == null) || (fi == null) || !fi.ForumLogActivity
            || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName)
            || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) || !ActivitySettingsHelper.ForumPostsEnabled(siteName))
        {
            return;
        }

        int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
        Dictionary<string, object> contactData = new Dictionary<string, object>();
        contactData.Add("ContactEmail", fp.PostUserMail);
        contactData.Add("ContactLastName", fp.PostUserName);
        ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);

        var data = new ActivityData()
        {
            ContactID = contactId,
            SiteID = CMSContext.CurrentSiteID,
            Type = PredefinedActivityType.FORUM_POST,
            TitleData = fi.ForumName,
            ItemID = fi.ForumID,
            ItemDetailID = fp.PostId,
            URL = URLHelper.CurrentRelativePath,
            NodeID = CMSContext.CurrentDocument.NodeID,
            Culture = CMSContext.CurrentDocument.DocumentCulture,
            Campaign = CMSContext.Campaign
        };
        ActivityLogProvider.LogActivity(data);
    }
Exemple #42
0
    /// <summary>
    /// Log activity
    /// </summary>
    /// <param name="gmi">Member info</param>
    /// <param name="logActivity">Determines whether activity logging is enabled for current group</param>
    /// <param name="groupDisplayName">Display name of the group</param>
    private void LogJoinActivity(GroupMemberInfo gmi, bool logActivity, string groupDisplayName)
    {
        string siteName = CMSContext.CurrentSiteName;
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (gmi == null) || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName)
            || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) || !ActivitySettingsHelper.JoiningAGroupEnabled(siteName))
        {
            return;
        }

        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID = CMSContext.CurrentSiteID,
            Type = PredefinedActivityType.JOIN_GROUP,
            TitleData = groupDisplayName,
            ItemID = gmi.MemberGroupID,
            URL = URLHelper.CurrentRelativePath,
            Campaign = CMSContext.Campaign
        };
        ActivityLogProvider.LogActivity(data);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // If StopProcessing flag is set, do nothing
        if (StopProcessing)
        {
            Visible = false;
            return;
        }

        string subscriptionHash = QueryHelper.GetString("subscriptionhash", string.Empty);
        string requestTime = QueryHelper.GetString("datetime", string.Empty);

        DateTime datetime = DateTimeHelper.ZERO_TIME;

        // Get date and time
        if (!string.IsNullOrEmpty(requestTime))
        {
            try
            {
                datetime = DateTime.ParseExact(requestTime, SecurityHelper.EMAIL_CONFIRMATION_DATETIME_FORMAT, null);
            }
            catch
            {
                lblInfo.Text = ResHelper.GetString("newsletter.approval_failed");
                return;
            }
        }

        if (string.IsNullOrEmpty(subscriptionHash))
        {
            this.Visible = false;
            return;
        }

        // Try to approve subscription
        SubscriberProvider.ApprovalResult result = SubscriberProvider.ApproveSubscription(subscriptionHash, false, CMSContext.CurrentSiteName, datetime);

        switch (result)
        {
            // Approving subscription was successful
            case SubscriberProvider.ApprovalResult.Success:
                if (!String.IsNullOrEmpty(this.SuccessfulApprovalText))
                {
                    lblInfo.Text = this.SuccessfulApprovalText;
                }
                else
                {
                    lblInfo.Text = ResHelper.GetString("newsletter.successful_approval");
                }

                // Log newsletter subscription activity
                if ((CMSContext.ViewMode == ViewModeEnum.LiveSite))
                {
                    SubscriberNewsletterInfo sni = SubscriberNewsletterInfoProvider.GetSubscriberNewsletterInfo(subscriptionHash);
                    if (sni != null)
                    {
                        // Load subscriber info and make sure activity modul is enabled
                        Subscriber sb = SubscriberProvider.GetSubscriber(sni.SubscriberID);
                        if ((sb != null) && ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(sb.SubscriberSiteID))
                        {
                            int siteId = sb.SubscriberSiteID;
                            Newsletter news = NewsletterProvider.GetNewsletter(sni.NewsletterID);
                            if (news.NewsletterLogActivity && ActivitySettingsHelper.NewsletterSubscribeEnabled(siteId))
                            {
                                // Under what contacs this subscriber belogs to?
                                int contactId = ActivityTrackingHelper.GetContactID(sb);

                                if (contactId > 0)
                                {
                                    ModuleCommands.OnlineMarketingUpdateContactFromExternalData(sb, contactId);
                                    ModuleCommands.OnlineMarketingCreateRelation(sb.SubscriberID, MembershipType.NEWSLETTER_SUBSCRIBER, contactId);
                                    var data = new ActivityData()
                                    {
                                        ContactID = contactId,
                                        SiteID = sb.SubscriberSiteID,
                                        Type = PredefinedActivityType.NEWSLETTER_SUBSCRIBING,
                                        TitleData = news.NewsletterName,
                                        ItemID = news.NewsletterID,
                                        URL = URLHelper.CurrentRelativePath,
                                        Campaign = CMSContext.Campaign
                                    };
                                    ActivityLogProvider.LogActivity(data);
                                }
                            }
                        }
                    }
                }
                break;

            // Subscription was already approved
            case SubscriberProvider.ApprovalResult.Failed:
                if (!String.IsNullOrEmpty(this.UnsuccessfulApprovalText))
                {
                    lblInfo.Text = this.UnsuccessfulApprovalText;
                }
                else
                {
                    lblInfo.Text = ResHelper.GetString("newsletter.approval_failed");
                }
                break;

            case SubscriberProvider.ApprovalResult.TimeExceeded:
                if (!String.IsNullOrEmpty(this.UnsuccessfulApprovalText))
                {
                    lblInfo.Text = this.UnsuccessfulApprovalText;
                }
                else
                {
                    lblInfo.Text = ResHelper.GetString("newsletter.approval_timeexceeded");
                }
                break;

            // Subscription not found
            default:
            case SubscriberProvider.ApprovalResult.NotFound:
                if (!String.IsNullOrEmpty(this.UnsuccessfulApprovalText))
                {
                    lblInfo.Text = this.UnsuccessfulApprovalText;
                }
                else
                {
                    lblInfo.Text = ResHelper.GetString("newsletter.approval_invalid");
                }
                break;
        }
    }
        /// <summary>
        /// Reload the <see cref="Activity" /> with the specified <see cref="T:Tridion.ContentManager.CoreService.Client.ActivityData" />
        /// </summary>
        /// <param name="activityData"><see cref="T:Tridion.ContentManager.CoreService.Client.ActivityData" /></param>
        protected void Reload(ActivityData activityData)
        {
            if (activityData == null)
                throw new ArgumentNullException("activityData");

            mActivityData = activityData;
            base.Reload(activityData);
        }
 /// <summary>
 /// Log activity
 /// </summary>
 /// <param name="ari">Report info</param>
 private void LogActivity(AbuseReportInfo ari)
 {
     if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) ||
         (ari == null) ||
         !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser) ||
         !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(ari.ReportSiteID) ||
         !ActivitySettingsHelper.AbuseReportEnabled(ari.ReportSiteID))
     {
         return;
     }
     var data = new ActivityData()
     {
         ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
         SiteID = ari.ReportSiteID,
         Type = PredefinedActivityType.ABUSE_REPORT,
         TitleData = ari.ReportTitle,
         ItemID = ari.ReportID,
         URL = URLHelper.CurrentRelativePath,
         Campaign = CMSContext.Campaign
     };
     ActivityLogProvider.LogActivity(data);
 }
Exemple #46
0
    /// <summary>
    /// Log activity (subscribing).
    /// </summary>
    /// <param name="bsi">Board subscription info object</param>
    /// <param name="bi">Message board info</param>
    private void LogSubscribingActivity(BoardSubscriptionInfo bsi, BoardInfo bi)
    {
        string siteName = CMSContext.CurrentSiteName;
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bsi == null) || (bi == null) || !bi.BoardLogActivity || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser)
            || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.MessageBoardSubscriptionEnabled(siteName))
        {
            return;
        }

        TreeNode currentDoc = CMSContext.CurrentDocument;

        var data = new ActivityData()
        {
            ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
            SiteID = CMSContext.CurrentSiteID,
            Type = PredefinedActivityType.SUBSCRIPTION_MESSAGE_BOARD,
            TitleData = bi.BoardDisplayName,
            URL = URLHelper.CurrentRelativePath,
            NodeID = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign = CMSContext.Campaign
        };
        ActivityLogProvider.LogActivity(data);
    }
Exemple #47
0
    /// <summary>
    /// Log activity posting
    /// </summary>
    /// <param name="bsi">Board subscription info object</param>
    /// <param name="bi">Message board info</param>
    private void LogCommentActivity(BoardMessageInfo bmi, BoardInfo bi)
    {
        string siteName = CMSContext.CurrentSiteName;
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bmi == null) || (bi == null) || !bi.BoardLogActivity || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser)
            || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.MessageBoardPostsEnabled(siteName))
        {
            return;
        }

        int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
        Dictionary<string, object> contactData = new Dictionary<string, object>();
        contactData.Add("ContactEmail", bmi.MessageEmail);
        contactData.Add("ContactWebSite", bmi.MessageURL);
        contactData.Add("ContactLastName", bmi.MessageUserName);
        ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, false, contactId);

        TreeNode currentDoc = CMSContext.CurrentDocument;
        var data = new ActivityData()
        {
            ContactID = contactId,
            SiteID = CMSContext.CurrentSiteID,
            Type = PredefinedActivityType.MESSAGE_BOARD_COMMENT,
            TitleData = bi.BoardDisplayName,
            ItemID = bmi.MessageBoardID,
            URL = URLHelper.CurrentRelativePath,
            ItemDetailID = bmi.MessageID,
            NodeID = (currentDoc != null ? currentDoc.NodeID : 0),
            Culture = (currentDoc != null ? currentDoc.DocumentCulture : null),
            Campaign = CMSContext.Campaign
        };
        ActivityLogProvider.LogActivity(data);
    }
    /// <summary>
    /// Logs rating activity
    /// </summary>
    /// <param name="value">Rating value</param>
    private void LogActivity(double value)
    {
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;
        if (!ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) || !ActivitySettingsHelper.ContentRatingEnabled(siteName))
        {
            return;
        }

        bool logActivity = false;
        TreeNode currentDoc = CMSContext.CurrentDocument;
        if (currentDoc != null)
        {
            if (CMSContext.CurrentDocument.DocumentLogVisitActivity == null)
            {
                logActivity = ValidationHelper.GetBoolean(currentDoc.GetInheritedValue("DocumentLogVisitActivity", SiteInfoProvider.CombineWithDefaultCulture(siteName)), false);
            }
            else
            {
                logActivity = currentDoc.DocumentLogVisitActivity == true;
            }

            if (logActivity)
            {
                var data = new ActivityData()
                {
                    ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
                    SiteID = CMSContext.CurrentSiteID,
                    Type = PredefinedActivityType.RATING,
                    TitleData = String.Format("{0} ({1})", value.ToString(), currentDoc.DocumentName),
                    URL = URLHelper.CurrentRelativePath,
                    NodeID = currentDoc.NodeID,
                    Value = value.ToString(),
                    Culture = currentDoc.DocumentCulture,
                    Campaign = CMSContext.Campaign
                };
                ActivityLogProvider.LogActivity(data);
            }
        }
    }
    /// <summary>
    /// Logs activity for unsubscribing.
    /// </summary>
    /// <param name="sb">Subscriber (optional - can be null if subscriber ID is used)</param>
    /// <param name="subscriberId">Subscriber ID (optional - can be zero if subscriber object is used)</param>
    /// <param name="newsletterId">Newsletter ID</param>
    /// <param name="issueGuid">Issue GUID</param>
    /// <param name="issueId">Issue ID</param>
    private void LogActivity(Subscriber sb, int subscriberId, int newsletterId, int issueId, Guid issueGuid, int siteId)
    {
        // Check if activities logging is enabled
        if ((newsletterId <= 0) || (CMSContext.ViewMode != ViewModeEnum.LiveSite) || !ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteId)
            || !ActivitySettingsHelper.NewsletterSubscribeEnabled(siteId))
        {
            return;
        }

        // Load subscriber info object according to its ID if not given
        if (sb == null)
        {
            if (subscriberId <= 0)
            {
                return;
            }
            sb = SubscriberProvider.GetSubscriber(subscriberId);
        }

        if (sb == null)
        {
            return;
        }

        // Try to retrieve contact IDs for particular subscriber from membership relations
        int[] contactIds = ActivityTrackingHelper.GetContactIDs(sb);
        if ((contactIds != null) && (contactIds.Length > 0))
        {
            Newsletter news = NewsletterProvider.GetNewsletter(newsletterId);
            if ((news != null) && news.NewsletterLogActivity)
            {
                // Load additional info (issue id)
                if ((issueId <= 0) && (issueGuid != Guid.Empty))
                {
                    Issue issue = IssueProvider.GetIssue(issueGuid, siteId);
                    if (issue != null)
                    {
                        issueId = issue.IssueID;
                    }
                }

                // Loop through each contact and log activity
                foreach (int contactId in contactIds)
                {
                    var data = new ActivityData()
                    {
                        ContactID = contactId,
                        SiteID = sb.SubscriberSiteID,
                        Type = PredefinedActivityType.NEWSLETTER_UNSUBSCRIBING,
                        TitleData = news.NewsletterName,
                        ItemID = newsletterId,
                        URL = URLHelper.CurrentRelativePath,
                        ItemDetailID = issueId
                    };
                    ActivityLogProvider.LogActivity(data);
                }
            }
        }
    }
 void AddNewActivityButton(RectTransform ParentPanel, ActivityData _activity)
 {
     GameObject new_activity = (GameObject)Instantiate(activity_button_prefab);
     new_activity.transform.SetParent(ParentPanel, false);
     new_activity.transform.localScale = new Vector3(1, 1, 1);
     //new_activity.GetComponentInChildren<Text>().text = _activity.activityType.ToString();
     new_activity.GetComponent<ActivityButton>().button_text.text = _activity.activityType.ToString();
     new_activity.GetComponent<ActivityButton>().activity = _activity;
 }
    /// <summary>
    /// Logs registration activity.
    /// </summary>
    /// <param name="bpsi">Blog subscription info</param>
    /// <param name="nodeId">Docuemnt node ID</param>
    /// <param name="culture">Document culture</param>
    private void LogRegistrationActivity(BlogPostSubscriptionInfo bpsi, int nodeId, string culture)
    {
        if ((CMSContext.ViewMode != ViewModeEnum.LiveSite) || (bpsi == null) || !ActivitySettingsHelper.ActivitiesEnabledForThisUser(CMSContext.CurrentUser))
        {
            return;
        }

        string siteName = CMSContext.CurrentSiteName;
        if (!ActivitySettingsHelper.ActivitiesEnabledAndModuleLoaded(siteName) ||
            !ActivitySettingsHelper.BlogPostSubscriptionEnabled(siteName))
        {
            return;
        }

        if (bpsi.SubscriptionPostDocumentID > 0)
        {
            TreeProvider tree = new TreeProvider();
            TreeNode blogPost = DocumentHelper.GetDocument(bpsi.SubscriptionPostDocumentID, tree);

            if ((blogPost != null) && ValidationHelper.GetBoolean(blogPost.GetValue("BlogLogActivity"), false))
            {
                string blogName = null;
                TreeNode blogNode = BlogHelper.GetParentBlog(bpsi.SubscriptionPostDocumentID, false);
                if (blogNode != null)
                {
                    blogName = blogNode.DocumentName;
                }

                // Update contact info according to subscribtion
                var data = new ActivityData()
                {
                    ContactID = ModuleCommands.OnlineMarketingGetCurrentContactID(),
                    SiteID = CMSContext.CurrentSiteID,
                    Type = PredefinedActivityType.SUBSCRIPTION_BLOG_POST,
                    ItemDetailID = (blogNode != null ? blogNode.NodeID : 0),
                    TitleData = bpsi.SubscriptionEmail,
                    URL = URLHelper.CurrentRelativePath,
                    NodeID = nodeId,
                    Value = TextHelper.LimitLength(blogName, 250),
                    Culture = culture,
                    Campaign = CMSContext.Campaign
                };
                ActivityLogProvider.LogActivity(data);
            }
        }
    }
 /// <summary>
 /// Rewards due to completion of activity
 /// </summary>
 /// <param name="_activity"></param>
 public bool PerformActivity(GameManager.Activity _activity)
 {
     ActivityData _data = new ActivityData();
     foreach(ActivityData ad in GameManager.Instance.activityDefs)
     {
         if(ad.activityType == _activity)
         {
             _data = ad;
         }
     }
     if(_data.cost > cash)
     {
         return false;
     }
     else
     {
         AddSatisfaction(_data.satisfactionBonus);
         AddMotivation(_data.motivationBonus);
         AddLuxury(_data.luxuryBonus);
         AddDepression(-_data.depressionBonus);
         AddCash(-_data.cost, _activity.ToString() + " cost");
         if (_data != null)
         {
             foreach (SkillBonus sb in _data._skillBonus)
             {
                 IncreaseSkill(sb.skillType, sb.proficiencyAdd);
             }
         }
         return true;
     }
 }