public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleEntry.IsModuleLoaded(ModuleEntry.NEWSLETTER) || (ai.ActivityType != PredefinedActivityType.NEWSLETTER_CLICKTHROUGH))
        {
            return false;
        }

        // Get newsletter name
        int nesletterId = ai.ActivityItemID;
        GeneralizedInfo iinfo = ModuleCommands.NewsletterGetNewsletterInfo(nesletterId);
        if (iinfo != null)
        {
            string subject = ValidationHelper.GetString(iinfo.GetValue("NewsletterDisplayName"), null);
            ucDetails.AddRow("om.activitydetails.newsletter", subject);
        }

        // Get issue subject
        int issueId = ai.ActivityItemDetailID;
        iinfo = ModuleCommands.NewsletterGetNewsletterIssueInfo(issueId);
        if (iinfo != null)
        {
            string subject = ValidationHelper.GetString(iinfo.GetValue("IssueSubject"), null);
            ucDetails.AddRow("om.activitydetails.newsletterissue", MacroResolver.RemoveSecurityParameters(subject, true, null));
        }

        string targetLink = ai.ActivityURL;
        ucDetails.AddRow("om.activitydetails.newstargetlink", GetLink(targetLink, targetLink), false);

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleEntry.IsModuleLoaded(ModuleEntry.MESSAGEBOARD))
        {
            return false;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.MESSAGE_BOARD_COMMENT:
            case PredefinedActivityType.SUBSCRIPTION_MESSAGE_BOARD:
                break;
            default:
                return false;
        }

        int nodeId = ai.ActivityNodeID;
        lblDocIDVal.Text = GetLinkForDocument(nodeId, ai.ActivityCulture);

        if (ai.ActivityType == PredefinedActivityType.MESSAGE_BOARD_COMMENT)
        {
            plcComment.Visible = true;
            GeneralizedInfo iinfo = ModuleCommands.MessageBoardGetBoardMessageInfo(ai.ActivityItemDetailID);
            if (iinfo != null)
            {
                txtComment.Text = ValidationHelper.GetString(iinfo.GetValue("MessageText"), null);
            }
        }

        return true;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if (ai == null)
        {
            return false;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.EXTERNAL_SEARCH:
            case PredefinedActivityType.INTERNAL_SEARCH:
                break;
            default:
                return false;
        }

        // Load additional info
        SearchInfo si = SearchInfoProvider.GetSearchInfoByActivityID(ai.ActivityID);
        if (si == null)
        {
            return false;
        }

        ucDetails.AddRow("om.activitydetails.keywords", si.SearchKeywords);
        if (ai.ActivityType == PredefinedActivityType.EXTERNAL_SEARCH)
        {
            ucDetails.AddRow("om.activitydetails.provider", si.SearchProvider);
        }

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleEntry.IsModuleLoaded(ModuleEntry.FORUMS))
        {
            return false;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.FORUM_POST:
            case PredefinedActivityType.SUBSCRIPTION_FORUM_POST:
                break;
            default:
                return false;
        }

        int nodeId = ai.ActivityNodeID;
        lblDocIDVal.Text = GetLinkForDocument(nodeId, ai.ActivityCulture);

        if (ai.ActivityType == PredefinedActivityType.FORUM_POST)
        {
            GeneralizedInfo iinfo = ModuleCommands.ForumsGetForumPostInfo(ai.ActivityItemDetailID);
            if (iinfo != null)
            {
                plcComment.Visible = true;
                lblPostSubjectVal.Text = HTMLHelper.HTMLEncode(ValidationHelper.GetString(iinfo.GetValue("PostSubject"), null));
                txtPost.Text = ValidationHelper.GetString(iinfo.GetValue("PostText"), null);
            }
        }

        return true;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleManager.IsModuleLoaded(ModuleName.POLLS) || (ai.ActivityType != PredefinedActivityType.POLL_VOTING))
        {
            return false;
        }

        GeneralizedInfo ipollinfo = ModuleCommands.PollsGetPollInfo(ai.ActivityItemID);
        if (ipollinfo != null)
        {
            string pollQuestion = ValidationHelper.GetString(ipollinfo.GetValue("PollQuestion"), null);
            ucDetails.AddRow("om.activitydetails.pollquestion", pollQuestion);
        }

        if (ai.ActivityValue != null)
        {
            string[] answerIDs = ai.ActivityValue.Split(new[] { ActivityPollVoting.POLL_ANSWER_SEPARATOR }, StringSplitOptions.RemoveEmptyEntries);
            StringBuilder answers = new StringBuilder();
            foreach (string id in answerIDs)
            {
                GeneralizedInfo iansinfo = ModuleCommands.PollsGetPollAnswerInfo(ValidationHelper.GetInteger(id, 0));
                if (iansinfo != null)
                {
                    answers.Append("<div>");
                    answers.Append(HTMLHelper.HTMLEncode(ValidationHelper.GetString(iansinfo.GetValue("AnswerText"), null)));
                    answers.Append("</div>");
                }
            }
            ucDetails.AddRow("om.activitydetails.pollanswer", answers.ToString(), false);
        }

        return ucDetails.IsDataLoaded;
    }
    /// <summary>
    /// Loads activity info data.
    /// </summary>
    /// <param name="ai">ActivityInfo object</param>
    public override bool LoadData(ActivityInfo ai)
    {
        if (ai == null)
        {
            return false;
        }

        string mvtComb = null;
        string queryString = null;
        string abVariant = null;

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.LANDING_PAGE:
            case PredefinedActivityType.PAGE_VISIT:
                PageVisitInfo pvi = PageVisitInfoProvider.GetPageVisitInfoByActivityID(ai.ActivityID);
                if (pvi == null)
                {
                    return false;
                }

                mvtComb = pvi.PageVisitMVTCombinationName;
                queryString = pvi.PageVisitDetail;
                abVariant = pvi.PageVisitABVariantName;
                break;
        }

        // Loads data to grid
        ucDetails.AddRow("om.activitydetails.query", queryString);
        ucDetails.AddRow("om.activitydetails.abvariant", abVariant);
        ucDetails.AddRow("om.activitydetails.mvtcomb", mvtComb);
        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleEntry.IsModuleLoaded(ModuleEntry.ECOMMERCE))
        {
            return false;
            ;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.PURCHASEDPRODUCT:
                break;
            default:
                return false;
        }

        GeneralizedInfo iinfo = ModuleCommands.ECommerceGetSKUInfo(ai.ActivityItemID);
        if (iinfo != null)
        {
            string productName = ValidationHelper.GetString(iinfo.GetValue("SKUName"), null);
            ucDetails.AddRow("om.activitydetails.product", productName);
            ucDetails.AddRow("om.activitydetails.productunits", ai.ActivityValue);
        }

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleEntry.IsModuleLoaded(ModuleEntry.NEWSLETTER) || (ai.ActivityType != PredefinedActivityType.NEWSLETTER_OPEN))
        {
            return false;
        }

        // Get newsletter name
        int nesletterId = ai.ActivityItemID;
        GeneralizedInfo iinfo = ModuleCommands.NewsletterGetNewsletterInfo(nesletterId);
        if (iinfo != null)
        {
            string subject = ValidationHelper.GetString(iinfo.GetValue("NewsletterDisplayName"), null);
            ucDetails.AddRow("om.activitydetails.newsletter", subject);
        }

        // Get issue subject
        int issueId = ai.ActivityItemDetailID;
        iinfo = ModuleCommands.NewsletterGetNewsletterIssueInfo(issueId);
        if (iinfo != null)
        {
            string subject = ValidationHelper.GetString(iinfo.GetValue("IssueSubject"), null);
            ucDetails.AddRow("om.activitydetails.newsletterissue", subject);
        }

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || (ai.ActivityType != PredefinedActivityType.NEWSLETTER_OPEN))
        {
            return false;
        }

        // Get newsletter name
        int newsletterId = ai.ActivityItemID;
        NewsletterInfo newsletterInfo = NewsletterInfoProvider.GetNewsletterInfo(newsletterId);
        if (newsletterInfo != null)
        {
            string subject = ValidationHelper.GetString(newsletterInfo.NewsletterDisplayName, null);
            ucDetails.AddRow("om.activitydetails.newsletter", subject);
        }

        // Get issue subject
        int issueId = ai.ActivityItemDetailID;
        IssueInfo issueInfo = IssueInfoProvider.GetIssueInfo(issueId);
        if (issueInfo != null)
        {
            string subject = ValidationHelper.GetString(issueInfo.IssueSubject, null);
            ucDetails.AddRow("om.activitydetails.newsletterissue", MacroSecurityProcessor.RemoveSecurityParameters(subject, true, null));
        }

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleManager.IsModuleLoaded(ModuleName.ECOMMERCE))
        {
            return false;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.PRODUCT_ADDED_TO_WISHLIST:
            case PredefinedActivityType.PRODUCT_ADDED_TO_SHOPPINGCART:
            case PredefinedActivityType.PRODUCT_REMOVED_FROM_SHOPPINGCART:
                break;
            default:
                return false;
        }

        GeneralizedInfo sku = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.SKU, ai.ActivityItemID);
        if (sku != null)
        {
            string productName = ValidationHelper.GetString(sku.GetValue("SKUName"), null);
            ucDetails.AddRow("om.activitydetails.product", productName);

            if (ai.ActivityType != PredefinedActivityType.PRODUCT_ADDED_TO_WISHLIST)
            {
                ucDetails.AddRow("om.activitydetails.productunits", ai.ActivityValue);
            }
        }

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleEntry.IsModuleLoaded(ModuleEntry.BLOGS))
        {
            return false;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.BLOG_COMMENT:
            case PredefinedActivityType.SUBSCRIPTION_BLOG_POST:
                break;
            default:
                return false;
        }

        int nodeId = ai.ActivityNodeID;
        lblDocIDVal.Text = GetLinkForDocument(nodeId, ai.ActivityCulture);

        if (ai.ActivityType == PredefinedActivityType.BLOG_COMMENT)
        {
            GeneralizedInfo iinfo = ModuleCommands.BlogsGetBlogCommentInfo(ai.ActivityItemID);
            if (iinfo != null)
            {
                plcComment.Visible = true;
                txtComment.Text = ValidationHelper.GetString(iinfo.GetValue("CommentText"), null);
            }
        }

        return true;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || (ai.ActivityType != PredefinedActivityType.NEWSLETTER_UNSUBSCRIBING_FROM_ALL))
        {
            return false;
        }

        // Get issue subject
        int issueId = ai.ActivityItemID;
        var issueInfo = IssueInfoProvider.GetIssueInfo(issueId);
        if (issueInfo != null)
        {
            // Get newsletter name
            var newsletterInfo = NewsletterInfoProvider.GetNewsletterInfo(issueInfo.IssueNewsletterID);
            if (newsletterInfo != null)
            {
                ucDetails.AddRow("om.activitydetails.newsletter", newsletterInfo.NewsletterDisplayName);
            }

            var issueSubject = MacroSecurityProcessor.RemoveSecurityParameters(issueInfo.IssueSubject, true, null);
            ucDetails.AddRow("om.activitydetails.newsletterissue", issueSubject);
        }

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleManager.IsModuleLoaded(ModuleName.COMMUNITY))
        {
            return false;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.JOIN_GROUP:
            case PredefinedActivityType.LEAVE_GROUP:
                break;
            default:
                return false;
        }

        if (ai.ActivityItemID > 0)
        {
            BaseInfo binfo = ModuleCommands.CommunityGetGroupInfo(ai.ActivityItemID);
            if (binfo != null)
            {
                string groupDisplayName = binfo.GetStringValue("GroupDisplayName", GetString("general.na"));
                ucDetails.AddRow("om.activitydetails.groupname", groupDisplayName);
            }
        }

        return true;
    }
Exemplo n.º 14
0
 private static BadgeAwardDTO CreateNewBadgeAward(ActivityInfo activity, BadgeEditDTO potentialBadge)
 {
     return new BadgeAwardDTO
     {
         BadgeId = potentialBadge.Id,
         AwardAmount = potentialBadge.AwardValueAmount,
         EmployeeId = activity.EmployeeId,
         AwardDate = DateTime.UtcNow
     };
 }
 public JobActivityGroupViewModel(JobContainerViewModel container, ActivityInfo activityInfo, Model.ImageDownloader[] imageDownloader)
 {
     NoticeText = activityInfo.PostUser.Name;
     NoticeIcon = new System.Windows.Media.Imaging.BitmapImage();
     NoticeIcon.BeginInit();
     NoticeIcon.DecodePixelWidth = 25;
     NoticeIcon.UriSource = activityInfo.PostUser.IconImageUrl;
     NoticeIcon.EndInit();
     ActivityUrl = activityInfo.PostUrl;
     DownloadImageJobs = imageDownloader.Select(
         downloader => (JobViewModelBase)new JobViewModel(container, downloader)).ToList();
 }
Exemplo n.º 16
0
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || (ai.ActivityType != PredefinedActivityType.RATING))
        {
            return false;
        }

        // Load data to control
        int nodeId = ai.ActivityNodeID;
        ucDetails.AddRow("om.activitydetails.documenturl", GetLinkForDocument(nodeId, ai.ActivityCulture), false);
        ucDetails.AddRow("om.activitydetails.ratingvalue", String.Format("{0:00.0}", ai.ActivityValue));

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || (ai.ActivityType != PredefinedActivityType.PURCHASE))
        {
            return false;
        }

        int orderId = ai.ActivityItemID;
        string qs = String.Format("?orderid={0}", orderId);
        qs = URLHelper.AddUrlParameter(qs, "hash", QueryHelper.GetHash(qs));
        btnView.Visible = true;
        btnView.OnClientClick = "DisplayOrderDetails('" + qs + "'); return false;";

        return true;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || ai.ActivityType != PredefinedActivityType.ABUSE_REPORT)
        {
            return false;
        }

        int nodeId = ai.ActivityNodeID;
        lblDocIDVal.Text = GetLinkForDocument(nodeId, ai.ActivityCulture);

        AbuseReportInfo ari = AbuseReportInfoProvider.GetAbuseReportInfo(ai.ActivityItemID);
        if (ari != null)
        {
            txtComment.Text = ari.ReportComment;
        }

        return true;
    }
    /// <summary>
    /// Returns if activity is linked to object of type given in parameter and codename given in second parameter.
    /// </summary>
    /// <param name="activityInfo">Activity that should be checked</param>
    /// <param name="objectType">Object type</param>
    /// <param name="identifier">Code name or GUID of object</param>
    public static bool ActivityLinkedToObject(ActivityInfo activityInfo, string objectType, string identifier)
    {
        if (activityInfo == null)
        {
            return false;
        }

        int id = 0;
        switch (objectType)
        {

            case PredefinedObjectType.POLL:
            case PredefinedObjectType.NEWSLETTER:
            case PredefinedObjectType.BIZFORM:
            case PredefinedObjectType.FORUM:
            case PredefinedObjectType.GROUPMEMBER:
            case PredefinedObjectType.BOARDMESSAGE:
            case PredefinedObjectType.BOARD:
            case PredefinedObjectType.SKU:
                id = activityInfo.ActivityItemID;
                break;
            case PredefinedObjectType.NEWSLETTERISSUE:
                var issue = IssueInfoProvider.GetOriginalIssue(activityInfo.ActivityItemDetailID);
                if (issue != null)
                {
                    id = issue.IssueID;
                }
                break;
            case PredefinedObjectType.BLOGDOCUMENT:
                id = activityInfo.ActivityItemDetailID;
                objectType = PredefinedObjectType.NODE;
                break;
            case PredefinedObjectType.DOCUMENT:
            case PredefinedObjectType.NODE:
                id = activityInfo.ActivityNodeID;
                break;
            default:
                id = activityInfo.ActivityItemID;
                break;
        }

        return (id == ValidationHelper.GetInteger(CMSMacroMethods.GetObjectID(objectType, identifier, CMSContext.CurrentSiteName, true), -1));
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleManager.IsModuleLoaded(ModuleName.BIZFORM) || (ai.ActivityType != PredefinedActivityType.BIZFORM_SUBMIT))
        {
            return false;
        }

        BizFormInfo bfi = BizFormInfoProvider.GetBizFormInfo(ai.ActivityItemID);
        if (bfi == null)
        {
            return false;
        }

        string qs = String.Format("?bizid={0}&recid={1}", bfi.FormID, ai.ActivityItemDetailID);
        qs = URLHelper.AddUrlParameter(qs, "hash", QueryHelper.GetHash(qs));
        btnView.Visible = true;
        btnView.OnClientClick = "DisplaySurveyDetails('" + qs + "'); return false;";
        return true;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || (ai.ActivityType != PredefinedActivityType.CUSTOMER_REGISTRATION) || !ModuleManager.IsModuleLoaded(ModuleName.ECOMMERCE))
        {
            return false;
        }

        GeneralizedInfo customer = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.CUSTOMER, ai.ActivityItemID);
        if (customer != null)
        {
            string name = UserNameFormatter.GetFriendlyUserName(customer.GetValue("CustomerFirstName") as string, null,
                                      customer.GetValue("CustomerLastName") as string,
                                      customer.GetValue("CustomerEmail") as string, null);

            ucDetails.AddRow("om.activitydetails.regcustomer", name);
        }

        return ucDetails.IsDataLoaded;
    }
    /// <summary>
    /// Loads data
    /// </summary>
    /// <param name="ai">Activity info</param>
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || (ai.ActivityType != PredefinedActivityType.CUSTOM_TABLE_SUBMIT))
        {
            return false;
        }

        DataClassInfo customTable = DataClassInfoProvider.GetDataClassInfo(ai.ActivityItemID);
        if (customTable == null)
        {
            return false;
        }

        string qs = String.Format("?tableid={0}&itemid={1}", ai.ActivityItemID, ai.ActivityItemDetailID);
        qs = URLHelper.AddUrlParameter(qs, "hash", QueryHelper.GetHash(qs));
        btnView.Visible = true;
        btnView.OnClientClick = "DisplayCustomTableItemDetails('" + qs + "'); return false;";
        return true;
    }
Exemplo n.º 23
0
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || (ai.ActivityType != PredefinedActivityType.CUSTOMER_REGISTRATION) || !ModuleEntry.IsModuleLoaded(ModuleEntry.ECOMMERCE))
        {
            return false;
        }

        int customerId = ai.ActivityItemID;
        GeneralizedInfo iinfo = ModuleCommands.ECommerceGetCustomerInfo(customerId);
        if (iinfo != null)
        {
            string name = GetUserName(iinfo.GetValue("CustomerFirstName"), null,
                                      iinfo.GetValue("CustomerLastName"),
                                      iinfo.GetValue("CustomerEmail"), null);

            ucDetails.AddRow("om.activitydetails.regcustomer", name);
        }

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleManager.IsModuleLoaded(ModuleName.BLOGS))
        {
            return false;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.BLOG_COMMENT:
            case PredefinedActivityType.SUBSCRIPTION_BLOG_POST:
                break;
            default:
                return false;
        }

        // Link to blog post
        int nodeId = ai.ActivityNodeID;
        lblDocIDVal.Text = GetLinkForDocument(nodeId, ai.ActivityCulture);

        // Link to blog
        int blogDocumentID = ai.ActivityItemDetailID;
        if (blogDocumentID > 0)
        {
            plcBlogDocument.Visible = true;
            lblBlogVal.Text = GetLinkForDocument(blogDocumentID, ai.ActivityCulture);
        }

        if (ai.ActivityType == PredefinedActivityType.BLOG_COMMENT)
        {
            // Get blog comment data
            GeneralizedInfo iinfo = BaseAbstractInfoProvider.GetInfoById(PredefinedObjectType.BLOGCOMMENT, ai.ActivityItemID);
            if (iinfo != null)
            {
                plcComment.Visible = true;
                txtComment.Text = ValidationHelper.GetString(iinfo.GetValue("CommentText"), null);
            }
        }

        return true;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleEntry.IsModuleLoaded(ModuleEntry.EVENTMANAGER) || (ai.ActivityType != PredefinedActivityType.EVENT_BOOKING))
        {
            return false;
        }

        int nodeId = ai.ActivityNodeID;
        ucDetails.AddRow("om.activitydetails.documenturl", GetLinkForDocument(nodeId, ai.ActivityCulture), false);

        GeneralizedInfo iinfo = ModuleCommands.EventsGetAttendeeInfo(ai.ActivityItemID);
        if (iinfo != null)
        {
            ucDetails.AddRow("om.activitydetails.attendee", String.Format("{0} {1} ({2})",
                                                                          ValidationHelper.GetString(iinfo.GetValue("AttendeeFirstName"), null),
                                                                          ValidationHelper.GetString(iinfo.GetValue("AttendeeLastName"), null),
                                                                          ValidationHelper.GetString(iinfo.GetValue("AttendeeEmail"), null)));
        }

        return ucDetails.IsDataLoaded;
    }
    public override bool LoadData(ActivityInfo ai)
    {
        if (ai == null)
        {
            return false;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.USER_CONTRIB_INSERT:
            case PredefinedActivityType.USER_CONTRIB_UPDATE:
            case PredefinedActivityType.USER_CONTRIB_DELETE:
                break;
            default:
                return false;
        }

        // Load data
        int nodeId = ai.ActivityNodeID;
        ucDetails.AddRow("om.activitydetails.documenturl", GetLinkForDocument(nodeId, ai.ActivityCulture), false);
        return ucDetails.IsDataLoaded;
    }
Exemplo n.º 27
0
        public static IQueryable<BadgeAwardDTO> GetBadgeAwardsForActivity(ActivityInfo activityInfo,
            IList<BadgeEditDTO> potentialBadges, IList<BadgeAwardDTO> earnedBadges,
            IList<SubmittedActivityItemDTO> previousActivities, DateTime activityApprovalTime)
        {
            var returnValue = new List<BadgeAwardDTO>();

            if (activityInfo.Status == ActivitySubmissionStatus.Approved)
            {
                foreach (var potentialBadge in potentialBadges)
                {
                    if (potentialBadge.BadgeActivities.Any(ba => ba.ActivityId == activityInfo.ActivityId)
                        & AllowedToBeAwarded(potentialBadge, earnedBadges)
                        & BadgeValidForDate(activityApprovalTime, potentialBadge)
                        & potentialBadge.BadgeStatus == BadgeStatus.Approved
                        & CorrectNumberOfEarnedBadges(activityInfo.ActivityId, potentialBadge, previousActivities))
                    {
                        returnValue.Add(CreateNewBadgeAward(activityInfo, potentialBadge));
                    }
                }
            }

            return returnValue.AsQueryable();
        }
    public override bool LoadData(ActivityInfo ai)
    {
        if ((ai == null) || !ModuleEntry.IsModuleLoaded(ModuleEntry.NEWSLETTER))
        {
            return false;
        }

        switch (ai.ActivityType)
        {
            case PredefinedActivityType.NEWSLETTER_SUBSCRIBING:
            case PredefinedActivityType.NEWSLETTER_UNSUBSCRIBING:
                break;
            default:
                return false;
        }

        // Get newsletter name
        int nesletterId = ai.ActivityItemID;
        GeneralizedInfo iinfo = ModuleCommands.NewsletterGetNewsletterInfo(nesletterId);
        if (iinfo != null)
        {
            string subject = ValidationHelper.GetString(iinfo.GetValue("NewsletterDisplayName"), null);
            ucDetails.AddRow("om.activitydetails.newsletter", subject);
        }

        // Get issue subject
        int issueId = ai.ActivityItemDetailID;
        iinfo = ModuleCommands.NewsletterGetNewsletterIssueInfo(issueId);
        if (iinfo != null)
        {
            string subject = ValidationHelper.GetString(iinfo.GetValue("IssueSubject"), null);
            ucDetails.AddRow("om.activitydetails.newsletterissue", MacroResolver.RemoveSecurityParameters(subject, true, null));
        }

        return ucDetails.IsDataLoaded;
    }
 private void TrackState(ActivityExecutor executor, ActivityInstanceState state, ref ActivityInfo activityInfo)
 {
     if (executor.ShouldTrackActivity(this.expressionActivity.DisplayName))
     {
         this.EnsureActivityInfo(ref activityInfo);
         executor.AddTrackingRecord(new ActivityStateRecord(executor.WorkflowInstanceId, activityInfo, state));
     }
 }
Exemplo n.º 30
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string activityId = context.Request["activity_id"];

            if (string.IsNullOrEmpty(activityId))
            {
                apiResp.code = 1;
                apiResp.msg  = "activity_id 为必填项,请检查";
                bll.ContextResponse(context, apiResp);
                return;
            }
            JuActivityInfo juInfo = bll.GetJuActivity(int.Parse(activityId), true);

            if (juInfo == null)
            {
                apiResp.code = 4;
                apiResp.msg  = "活动不存在!";
                bll.ContextResponse(context, apiResp);
                return;
            }
            #region 是否可以报名
            if (juInfo.ActivityStatus.Equals(1))
            {
                apiResp.code = 2;
                apiResp.msg  = "活动已停止";
                bll.ContextResponse(context, apiResp);
                return;
            }
            if (juInfo.MaxSignUpTotalCount > 0)//检查报名人数
            {
                if (juInfo.SignUpTotalCount > (juInfo.MaxSignUpTotalCount - 1))
                {
                    apiResp.code = 3;
                    apiResp.msg  = "报名人数已满";
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }
            if (juInfo.ActivityIntegral > 0)
            {
                if (CurrentUserInfo.TotalScore < juInfo.ActivityIntegral)
                {
                    apiResp.code = 4;
                    apiResp.msg  = "您的积分不足";
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }
            if (juInfo.GuaranteeCreditAcount > 0)
            {
                if (CurrentUserInfo.CreditAcount < juInfo.GuaranteeCreditAcount)
                {
                    apiResp.code = 6;
                    apiResp.msg  = "您的信用金不足";
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }
            #endregion


            dicPar = bll.GetRequestParameter();
            //string weixinOpenID = null;
            string activityIdBySignUp = juInfo.SignUpActivityID;
            string spreadUserId       = null;
            dicPar.TryGetValue("SpreadUserID", out spreadUserId);
            string strDistinctKeys = null;//检查重复的字段,多个字段用,分隔, //没有此参数默认用手机检查
            dicPar.TryGetValue("DistinctKeys", out strDistinctKeys);
            string monitorPlanID = null;
            dicPar.TryGetValue("MonitorPlanID", out monitorPlanID);
            string name = null;
            dicPar.TryGetValue("Name", out name);
            string phone = null;
            dicPar.TryGetValue("Phone", out phone);
            ActivityInfo activity = bll.Get <ActivityInfo>(string.Format("ActivityID='{0}'", activityIdBySignUp));

            #region IP限制
            //获取用户IP;
            string userHostAddress = context.Request.UserHostAddress;
            var    count           = DataCache.GetCache(userHostAddress);
            if (count != null)
            {
                int newCount = int.Parse(count.ToString()) + 1;
                DataCache.SetCache(userHostAddress, newCount);
                int limitCount = 1000;
                if (activity != null)
                {
                    limitCount = activity.LimitCount;
                }
                if (newCount >= limitCount)
                {
                    apiResp.code = 5;
                    apiResp.msg  = "您的提交过于频繁,请稍后再试";
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }
            else
            {
                DataCache.SetCache(userHostAddress, 1, DateTime.MaxValue, new TimeSpan(4, 0, 0));
            }

            #endregion

            #region 活动权限验证
            if (juInfo == null)
            {
                apiResp.code = 6;
                apiResp.msg  = "活动不存在!";
                bll.ContextResponse(context, apiResp);
                return;
            }
            if (juInfo.ActivityStatus.Equals(1))
            {
                apiResp.code = 7;
                apiResp.msg  = "活动已关闭!";
                bll.ContextResponse(context, apiResp);
                return;
            }

            if (activity.IsDelete.Equals(1))
            {
                apiResp.code = 8;
                apiResp.msg  = "活动已删除!";
                bll.ContextResponse(context, apiResp);
                return;
            }
            #endregion

            #region 判断必填项
            if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(phone))
            {
                apiResp.code = 9;
                apiResp.msg  = "姓名和手机不能为空!";
                bll.ContextResponse(context, apiResp);
                return;
            }

            if ((!phone.StartsWith("1")) || (!phone.Length.Equals(11)))
            {
                apiResp.code = 10;
                apiResp.msg  = "手机号码无效!";
                bll.ContextResponse(context, apiResp);
                return;
            }

            #endregion

            #region 检查自定义必填项
            List <ActivityFieldMappingInfo> listRequiredField = bll.GetList <ActivityFieldMappingInfo>(string.Format("ActivityID='{0}' And FieldIsNull=1", activity.ActivityID));
            if (listRequiredField.Count > 0)
            {
                foreach (var requiredField in listRequiredField)
                {
                    if (string.IsNullOrEmpty(dicPar.SingleOrDefault(p => p.Key.Equals(string.Format("K{0}", requiredField.ExFieldIndex))).Value))
                    {
                        apiResp.code = 11;
                        apiResp.msg  = string.Format(" {0} 必填", requiredField.MappingName);
                        bll.ContextResponse(context, apiResp);
                        return;
                    }
                }
            }
            #endregion

            #region 检查数据格式
            //检查数据格式
            List <ActivityFieldMappingInfo> activityFieldMapping = bll.GetList <ActivityFieldMappingInfo>(string.Format("ActivityID='{0}'", activity.ActivityID));
            foreach (var item in activityFieldMapping)
            {
                string value = dicPar.SingleOrDefault(p => p.Key.Equals(string.Format("K{0}", item.ExFieldIndex))).Value;

                if (string.IsNullOrWhiteSpace(value))
                {
                    continue;
                }

                //检查数据格式
                if (item.FormatValiFunc == "email")//email检查
                {
                    if (!ZentCloud.Common.ValidatorHelper.EmailLogicJudge(value))
                    {
                        apiResp.code = 12;
                        apiResp.msg  = string.Format("{0}格式不正确", item.MappingName);
                        bll.ContextResponse(context, apiResp);
                        return;
                    }
                }
                if (item.FormatValiFunc == "url")                                                                                                             //url检查
                {
                    System.Text.RegularExpressions.Regex regUrl = new System.Text.RegularExpressions.Regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"); //网址
                    System.Text.RegularExpressions.Match m      = regUrl.Match(value);
                    if (!m.Success)
                    {
                        apiResp.code = 13;
                        apiResp.msg  = string.Format("{0}格式不正确", item.MappingName);
                        bll.ContextResponse(context, apiResp);
                        return;
                    }
                }
            }
            #endregion

            #region 检查是否已经报名
            if (!string.IsNullOrEmpty(strDistinctKeys))
            {
                if (!strDistinctKeys.Equals("none"))//自定义检查重复
                {
                    System.Text.StringBuilder sb = new System.Text.StringBuilder("1=1 ");
                    string[] distinctKeys        = strDistinctKeys.Split(',');
                    foreach (var item in distinctKeys)
                    {
                        sb.AppendFormat("And {0}='{1}' ", item, dicPar.Single(p => p.Key.Equals(item)).Value);
                    }
                    sb.Append("  and IsDelete = 0  ");
                    if (bll.GetCount <ActivityDataInfo>(sb.ToString()) > 0)
                    {
                        apiResp.code = 14;
                        apiResp.msg  = "重复的报名!";
                        bll.ContextResponse(context, apiResp);
                        return;
                    }
                }
                else//不检查重复
                {
                }
            }
            else//默认检查
            {
                if (bll.GetCount <ActivityDataInfo>(string.Format("ActivityID='{0}' And Phone='{1}' and IsDelete = 0 ", activityIdBySignUp, phone)) > 0)
                {
                    apiResp.code = 15;
                    apiResp.msg  = "已经报过名了!";
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }



            #endregion


            var newActivityUID       = 1001;
            var lastActivityDataInfo = bll.Get <ActivityDataInfo>(string.Format("ActivityID='{0}' order by UID DESC", activityIdBySignUp));
            if (lastActivityDataInfo != null)
            {
                newActivityUID = lastActivityDataInfo.UID + 1;
            }
            ActivityDataInfo model = bll.ConvertRequestToModel <ActivityDataInfo>(new ActivityDataInfo());
            model.UID          = newActivityUID;
            model.SpreadUserID = spreadUserId;
            model.ActivityID   = activityIdBySignUp;
            if (juInfo.GuaranteeCreditAcount > 0)
            {
                if (model.GuaranteeCreditAcount < juInfo.GuaranteeCreditAcount)
                {
                    apiResp.code = 18;
                    apiResp.msg  = string.Format("担保信用金不能少于{0}!", Convert.ToDouble(juInfo.GuaranteeCreditAcount));
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }
            if (!string.IsNullOrEmpty(monitorPlanID))
            {
                model.MonitorPlanID = int.Parse(monitorPlanID);
            }
            model.WebsiteOwner = bll.WebsiteOwner;
            model.UserId       = CurrentUserInfo.UserID;
            model.WeixinOpenID = CurrentUserInfo.WXOpenId;
            if (context.Request["limit_userid_signupcount"] == "1")//限制每个登录账号只能报名一次
            {
                if (bll.GetCount <ActivityDataInfo>(string.Format(" UserId='{0}' AND ActivityID={1} AND IsDelete=0 "
                                                                  , model.UserId, juInfo.SignUpActivityID)) > 0)
                {
                    apiResp.code = 14;
                    apiResp.msg  = "重复的报名!";
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }
            if (context.Request["limit_wxopenid_signupcount"] == "1")//限制每个微信只能报名一次
            {
                if (bll.GetCount <ActivityDataInfo>(string.Format(" UserId='{0}' AND ActivityID={1} AND IsDelete=0 "
                                                                  , model.WeixinOpenID, juInfo.SignUpActivityID)) > 0)
                {
                    apiResp.code = 14;
                    apiResp.msg  = "重复的报名!";
                    bll.ContextResponse(context, apiResp);
                    return;
                }
            }
            model.ArticleType = juInfo.ArticleType;
            model.CategoryId  = juInfo.CategoryId;
            if (bll.Add(model))
            {
                bll.PlusNumericalCol("SignUpCount", juInfo.JuActivityID);//报名数+1
                //发消息给发布约会的人
                PubUser = bllUser.GetUserInfo(juInfo.UserID);
                if (PubUser != null && context.Request["notice_publisher"] == "1")
                {
                    bllSystemNotice.SendSystemMessage("“" + bllUser.GetUserDispalyName(CurrentUserInfo) + "”报名您的约会", juInfo.ActivityName, BLLJIMP.BLLSystemNotice.NoticeType.AppointmentNotice, BLLJIMP.BLLSystemNotice.SendType.Personal, PubUser.UserID, juInfo.JuActivityID.ToString());
                }
                //发消息给自己
                if (CurrentUserInfo != null && context.Request["notice_signupuser"] == "1")
                {
                    bllSystemNotice.SendSystemMessage("你报名了一个约会冻结" + Convert.ToDouble(model.GuaranteeCreditAcount) + "信用金", juInfo.ActivityName, BLLJIMP.BLLSystemNotice.NoticeType.FinancialNotice, BLLJIMP.BLLSystemNotice.SendType.Personal, CurrentUserInfo.UserID, juInfo.JuActivityID.ToString());
                }
                apiResp.msg    = "ok";
                apiResp.code   = 0;
                apiResp.status = true;
                #region 当ActivityIntegral>0   扣积分
                if (juInfo.ActivityIntegral > 0)//扣积分
                {
                    CurrentUserInfo.TotalScore -= juInfo.ActivityIntegral;
                    if (bll.Update(CurrentUserInfo, string.Format("TotalScore={0}", CurrentUserInfo.TotalScore), string.Format(" AutoID={0}", CurrentUserInfo.AutoID)) <= 0)
                    {
                        apiResp.code = 16;
                        apiResp.msg  = "扣除用户积分失败";
                        bll.ContextResponse(context, apiResp);
                        return;
                    }
                    else
                    {
                        //
                        BLLJIMP.Model.WBHScoreRecord scoreRecord = new BLLJIMP.Model.WBHScoreRecord();
                        scoreRecord.Nums         = "b55";
                        scoreRecord.InsertDate   = DateTime.Now;
                        scoreRecord.WebsiteOwner = bll.WebsiteOwner;
                        scoreRecord.UserId       = CurrentUserInfo.UserID;
                        scoreRecord.RecordType   = "2";
                        scoreRecord.NameStr      = "参加活动:" + juInfo.ActivityName;
                        scoreRecord.ScoreNum     = string.Format("-{0}", juInfo.ActivityIntegral);
                        if (!bll.Add(scoreRecord))
                        {
                            apiResp.code = 17;
                            apiResp.msg  = "插入积分记录失败";
                            bll.ContextResponse(context, apiResp);
                            return;
                        }
                    }
                }
                #endregion

                #region 当ActivityIntegral>0   扣信用金
                if (juInfo.GuaranteeCreditAcount > 0)//扣积分
                {
                    bllUser.AddUserCreditAcountDetails(CurrentUserInfo.UserID, "ApplyCost", bllUser.WebsiteOwner, 0 - model.GuaranteeCreditAcount
                                                       , string.Format("报名【{0}】消耗{1}信用金", juInfo.ActivityName, Convert.ToDouble(model.GuaranteeCreditAcount)));
                }
                #endregion
            }
            else
            {
                apiResp.code = 1;
                apiResp.msg  = "报名失败,请重试或联系管理员!";
            }
            bll.ContextResponse(context, apiResp);
        }
Exemplo n.º 31
0
 public static bool UpdateActivity(ActivityInfo activity)
 {
     return(new ActivityDao().UpdateActivity(activity));
 }
Exemplo n.º 32
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            currentUserInfo = bllUser.GetCurrentUserInfo();
            string action = context.Request["Action"];

            //获取数据
            if (!string.IsNullOrWhiteSpace(context.Request["ActivityID"]))
            {
                this.activityID = context.Request["ActivityID"];
            }

            ActivityInfo activityInfo = bllActivity.Get <ActivityInfo>(string.Format(" ActivityID = '{0}'", activityID));

            if (activityInfo == null)
            {
                //context.Response.Redirect("/Home/Nopms.aspx");
                context.Response.End();
            }

            if (context.Request["JsonData"] != null)
            {
                this.activityFieldMap = GetReqActivityInfo(context);
            }


            string result = "true";

            try
            {
                switch (action)
                {
                case "Add":
                    result = Add(context);
                    break;

                case "Edit":
                    result = Edit(context);
                    break;

                case "Delete":
                    result = Delete(context);
                    break;

                case "Query":
                    result = GetAllByAny(context);
                    break;

                case "EditDistinctKeys":
                    result = EditDistinctKeys(context);    //设置自定义重复字段
                    break;

                case "GetDistinctKeys":
                    result = GetDistinctKeys(context);    //获取自定义重复字段
                    break;

                case "SetFieldSort":
                    result = SetFieldSort(context);    //设置排序
                    break;
                }
            }
            catch (Exception ex)
            {
                result = ex.Message;
            }

            context.Response.Write(result);
        }
Exemplo n.º 33
0
        /// <summary>
        /// Called on work item begins.  The activity name = providerName + activityName without 'Start' suffix.
        /// It updates CurrentActivityId to track.
        ///
        /// It returns true if the Start should be logged, otherwise (if it is illegal recurision) it return false.
        ///
        /// The start event should use as its activity ID the CurrentActivityId AFTER calling this routine and its
        /// RelatedActivityID the CurrentActivityId BEFORE calling this routine (the creator).
        ///
        /// If activity tracing is not on, then activityId and relatedActivityId are not set
        /// </summary>
        public void OnStart(string providerName, string activityName, int task, ref Guid activityId, ref Guid relatedActivityId, EventActivityOptions options)
        {
            if (m_current == null)        // We are not enabled
            {
                return;
            }

            Contract.Assert((options & EventActivityOptions.Disable) == 0);

            var currentActivity  = m_current.Value;
            var fullActivityName = NormalizeActivityName(providerName, activityName, task);

            var etwLog = TplEtwProvider.Log;

            if (etwLog.Debug)
            {
                etwLog.DebugFacilityMessage("OnStartEnter", fullActivityName);
                etwLog.DebugFacilityMessage("OnStartEnterActivityState", ActivityInfo.LiveActivities(currentActivity));
            }

            if (currentActivity != null)
            {
                // Stop activity tracking if we reached the maximum allowed depth
                if (currentActivity.m_level >= MAX_ACTIVITY_DEPTH)
                {
                    activityId        = Guid.Empty;
                    relatedActivityId = Guid.Empty;
                    if (etwLog.Debug)
                    {
                        etwLog.DebugFacilityMessage("OnStartRET", "Fail");
                    }
                    return;
                }
                // Check for recursion, and force-stop any activities if the activity already started.
                if ((options & EventActivityOptions.Recursive) == 0)
                {
                    ActivityInfo existingActivity = FindActiveActivity(fullActivityName, currentActivity);
                    if (existingActivity != null)
                    {
                        OnStop(providerName, activityName, task, ref activityId);
                        currentActivity = m_current.Value;
                    }
                }
            }

            // Get a unique ID for this activity.
            long id;

            if (currentActivity == null)
            {
                id = Interlocked.Increment(ref m_nextId);
            }
            else
            {
                id = Interlocked.Increment(ref currentActivity.m_lastChildID);
            }

            // Remember the previous ID so we can log it
            relatedActivityId = currentActivity != null ? currentActivity.ActivityId : Guid.Empty;

            // Add to the list of started but not stopped activities.
            ActivityInfo newActivity = new ActivityInfo(fullActivityName, id, currentActivity, options);

            m_current.Value = newActivity;

            // Remember the current ID so we can log it
            activityId = newActivity.ActivityId;

            if (etwLog.Debug)
            {
                etwLog.DebugFacilityMessage("OnStartRetActivityState", ActivityInfo.LiveActivities(newActivity));
                etwLog.DebugFacilityMessage1("OnStartRet", activityId.ToString(), relatedActivityId.ToString());
            }
        }
Exemplo n.º 34
0
      private ActivityInfo  FillList(  IDataReader dataReader  )
      { 
            ActivityInfo model = new ActivityInfo();
            object ojb;
            ojb = dataReader["Id"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Id = ( int)(ojb);
            }
            ojb = dataReader["Title"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Title = ( string)(ojb);
            }
            ojb = dataReader["BriefIntroduction"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.BriefIntroduction = ( string)(ojb);
            }
            ojb = dataReader["Content"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Content = ( string)(ojb);
            }
            ojb = dataReader["TypeId"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.TypeId = ( int)(ojb);
            }
            ojb = dataReader["ChargeLevel"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.ChargeLevel = ( int)(ojb);
            }
            ojb = dataReader["OrderBy"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.OrderBy = ( int)(ojb);
            }
            ojb = dataReader["Status"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Status = ( int)(ojb);
            }
            ojb = dataReader["IsActive"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.IsActive = ( bool)(ojb);
            }
            ojb = dataReader["CreateDate"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.CreateDate = ( DateTime)(ojb);
            }
            ojb = dataReader["CreateIP"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.CreateIP = ( string)(ojb);
            }
            ojb = dataReader["City"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.City = ( int)(ojb);
            }
            ojb = dataReader["Province"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Province = ( int)(ojb);
            }
            ojb = dataReader["Area"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Area = ( int)(ojb);
            }
            ojb = dataReader["Images"]; 
            if (ojb != null && ojb != DBNull.Value)
            {
                model.Images = ( string)(ojb);
            }

            return model;
        }
Exemplo n.º 35
0
        /// <summary>
        /// Saves the activity asynchronous.
        /// </summary>
        /// <param name="activityInfo">The activity information.</param>
        /// <returns>The status of save.</returns>
        public async Task <HttpStatusCode> SaveActivityAsync(ActivityInfo activityInfo)
        {
            var response = await _httpClient.PostAsJsonAsync("/api/Activity/SaveActivity", activityInfo);

            return(response.StatusCode);
        }
Exemplo n.º 36
0
 private void ShowLastActivityInfo(ActivityInfo activityInfo)
 {
     Console.WriteLine($"Last activity was at: {activityInfo.LastActivity}");
 }
Exemplo n.º 37
0
        public bool Update(ActivityInfo act, ref string msg)
        {
            msg = "未知错误";
            bool result;

            try
            {
                System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand("SELECT ActivitiesId  FROM Hishop_Activities WHERE ActivitiesName=@Name and ActivitiesId<>@ID");
                this.database.AddInParameter(sqlStringCommand, "Name", System.Data.DbType.String, act.ActivitiesName);
                this.database.AddInParameter(sqlStringCommand, "ID", System.Data.DbType.Int32, act.ActivitiesId);
                if (Convert.ToInt32(this.database.ExecuteScalar(sqlStringCommand)) >= 1)
                {
                    msg    = "满减活动重名";
                    result = false;
                }
                else
                {
                    sqlStringCommand = this.database.GetSqlStringCommand("SELECT ActivitiesId  FROM Hishop_Activities WHERE isAllProduct=1 and  EndTime>@NowTime and ActivitiesId<>@ActivitiesId");
                    this.database.AddInParameter(sqlStringCommand, "NowTime", System.Data.DbType.DateTime, DateTime.Now);
                    this.database.AddInParameter(sqlStringCommand, "ActivitiesId", System.Data.DbType.String, act.ActivitiesId);
                    if (Convert.ToInt32(this.database.ExecuteScalar(sqlStringCommand)) >= 1)
                    {
                        msg    = "已有全部商品满减活动正在进行中,不能再添加新活动!";
                        result = false;
                    }
                    else
                    {
                        sqlStringCommand = this.database.GetSqlStringCommand("UPDATE [dbo].[Hishop_Activities] SET [ActivitiesName] = @ActivitiesName,  [ActivitiesType] = @ActivitiesType  ,[StartTime] = @StartTime   ,[EndTime] = @EndTime  ,[ActivitiesDescription] = @ActivitiesDescription ,[Type] = @Type ,[MemberGrades] = @MemberGrades  ,[DefualtGroup]=@DefualtGroup  ,[CustomGroup]=@CustomGroup  ,[attendTime] = @attendTime ,[attendType] = @attendType  ,[isAllProduct] = @isAllProduct  ,[MeetMoney] = @MeetMoney  ,[MeetType] = @MeetType  ,[ReductionMoney] = @ReductionMoney where ActivitiesId=@ID");
                        this.database.AddInParameter(sqlStringCommand, "ActivitiesName", System.Data.DbType.String, act.ActivitiesName);
                        this.database.AddInParameter(sqlStringCommand, "ActivitiesType", System.Data.DbType.Int32, act.ActivitiesType);
                        this.database.AddInParameter(sqlStringCommand, "ActivitiesDescription", System.Data.DbType.String, act.ActivitiesDescription);
                        this.database.AddInParameter(sqlStringCommand, "Type", System.Data.DbType.Int32, act.Type);
                        this.database.AddInParameter(sqlStringCommand, "attendTime", System.Data.DbType.Int32, act.attendTime);
                        this.database.AddInParameter(sqlStringCommand, "attendType", System.Data.DbType.Int32, act.attendType);
                        this.database.AddInParameter(sqlStringCommand, "MeetMoney", System.Data.DbType.Decimal, act.MeetMoney);
                        this.database.AddInParameter(sqlStringCommand, "ReductionMoney", System.Data.DbType.Decimal, act.ReductionMoney);
                        this.database.AddInParameter(sqlStringCommand, "MemberGrades", System.Data.DbType.String, act.MemberGrades);
                        this.database.AddInParameter(sqlStringCommand, "DefualtGroup", System.Data.DbType.String, act.DefualtGroup);
                        this.database.AddInParameter(sqlStringCommand, "CustomGroup", System.Data.DbType.String, act.CustomGroup);
                        this.database.AddInParameter(sqlStringCommand, "StartTime", System.Data.DbType.DateTime, act.StartTime);
                        this.database.AddInParameter(sqlStringCommand, "EndTime", System.Data.DbType.DateTime, act.EndTime);
                        this.database.AddInParameter(sqlStringCommand, "isAllProduct", System.Data.DbType.Boolean, act.isAllProduct);
                        this.database.AddInParameter(sqlStringCommand, "ID", System.Data.DbType.String, act.ActivitiesId);
                        this.database.AddInParameter(sqlStringCommand, "MeetType", System.Data.DbType.Int32, act.MeetType);
                        object obj = this.database.ExecuteScalar(sqlStringCommand);
                        if (act.Details != null)
                        {
                            if (act.Details.Count > 0)
                            {
                                string query = string.Format("delete from Hishop_Activities_Detail where ActivitiesId={0};", act.ActivitiesId);
                                sqlStringCommand = this.database.GetSqlStringCommand(query);
                                this.database.ExecuteScalar(sqlStringCommand);
                                string query2 = "INSERT INTO [Hishop_Activities_Detail]([ActivitiesId],[MeetMoney],[ReductionMoney],[bFreeShipping],[Integral],[CouponId],[MeetNumber])VALUES(@ActivitiesId,@MeetMoney,@ReductionMoney,@bFreeShipping,@Integral,@CouponId,@MeetNumber)";
                                foreach (ActivityDetailInfo current in act.Details)
                                {
                                    sqlStringCommand = this.database.GetSqlStringCommand(query2);
                                    this.database.AddInParameter(sqlStringCommand, "ActivitiesId", System.Data.DbType.Int32, act.ActivitiesId);
                                    this.database.AddInParameter(sqlStringCommand, "MeetMoney", System.Data.DbType.Decimal, current.MeetMoney);
                                    this.database.AddInParameter(sqlStringCommand, "ReductionMoney", System.Data.DbType.Decimal, current.ReductionMoney);
                                    this.database.AddInParameter(sqlStringCommand, "bFreeShipping", System.Data.DbType.Boolean, current.bFreeShipping);
                                    this.database.AddInParameter(sqlStringCommand, "Integral", System.Data.DbType.Int32, current.Integral);
                                    this.database.AddInParameter(sqlStringCommand, "CouponId", System.Data.DbType.Int32, current.CouponId);
                                    this.database.AddInParameter(sqlStringCommand, "MeetNumber", System.Data.DbType.Int32, current.MeetNumber);
                                    this.database.ExecuteScalar(sqlStringCommand);
                                }
                            }
                        }
                        msg    = "";
                        result = true;
                    }
                }
            }
            catch (Exception ex)
            {
                msg    = ex.Message;
                result = false;
            }
            return(result);
        }
Exemplo n.º 38
0
 public void RemoveActivityInfo(ActivityInfo activityInfo)
 {
     dataContext.ActivityInfos.Remove(dataContext.ActivityInfos.Find(activityInfo.Id));
 }
Exemplo n.º 39
0
    /// <summary>
    /// Loads data of specific activity.
    /// </summary>
    protected void LoadData()
    {
        if (activityId <= 0)
        {
            return;
        }

        // Load and check if object exists
        ActivityInfo ai = ActivityInfoProvider.GetActivityInfo(activityId);

        EditedObject = ai;

        ActivityTypeInfo ati = ActivityTypeInfoProvider.GetActivityTypeInfo(ai.ActivityType);

        plcActivityValue.Visible = (ati == null) || ati.ActivityTypeIsCustom || (ati.ActivityTypeName == PredefinedActivityType.PAGE_VISIT) && !String.IsNullOrEmpty(ai.ActivityValue);

        string dispName = (ati != null ? ati.ActivityTypeDisplayName : GetString("general.na"));

        lblTypeVal.Text    = String.Format("{0}", HTMLHelper.HTMLEncode(dispName));
        lblContactVal.Text = HTMLHelper.HTMLEncode(ContactInfoProvider.GetContactFullName(ai.ActivityActiveContactID));
        // Init contact detail link
        btnContact.Attributes.Add("onClick", "EditContact(" + ai.ActivityActiveContactID + "); return false;");
        btnContact.ToolTip = GetString("om.contact.viewdetail");

        lblDateVal.Text = (ai.ActivityCreated == DateTimeHelper.ZERO_TIME?GetString("general.na"):HTMLHelper.HTMLEncode(ai.ActivityCreated.ToString()));

        // Get site display name
        string siteName = SiteInfoProvider.GetSiteName(ai.ActivitySiteID);

        if (String.IsNullOrEmpty(siteName))
        {
            siteName = GetString("general.na");
        }
        else
        {
            // Retrieve site info and its display name
            SiteInfo si = SiteInfoProvider.GetSiteInfo(siteName);
            if (si != null)
            {
                siteName = HTMLHelper.HTMLEncode(ResHelper.LocalizeString(si.DisplayName));
            }
            else
            {
                siteName = GetString("general.na");
            }
        }
        lblSiteVal.Text = siteName;

        lblURLReferrerVal.Text = HTMLHelper.HTMLEncode(String.IsNullOrEmpty(ai.ActivityURLReferrer)?GetString("general.na"):ai.ActivityURLReferrer);

        string url = ai.ActivityURL;

        plcCampaign.Visible = !String.IsNullOrEmpty(ai.ActivityCampaign);
        lblCampaignVal.Text = HTMLHelper.HTMLEncode(ai.ActivityCampaign);

        // Init textboxes only for the first time
        if (!RequestHelper.IsPostBack())
        {
            txtComment.Value = ai.ActivityComment;
            txtTitle.Text    = ai.ActivityTitle;
            lblValue.Text    = HTMLHelper.HTMLEncode(String.IsNullOrEmpty(ai.ActivityValue) ? GetString("general.na") : ai.ActivityValue);
            if (ai.ActivityType != PredefinedActivityType.NEWSLETTER_CLICKTHROUGH)
            {
                txtURL.Text = url;
            }
        }

        cDetails.ActivityID = activityId;

        // Init link button URL
        if (ai.ActivitySiteID > 0)
        {
            SiteInfo si = SiteInfoProvider.GetSiteInfo(ai.ActivitySiteID);
            if (si != null)
            {
                // Hide view button if URL is blank
                string activityUrl = ai.ActivityURL;
                if ((activityUrl != null) && !String.IsNullOrEmpty(activityUrl.Trim()))
                {
                    string appUrl = URLHelper.GetApplicationUrl(si.DomainName);
                    url                 = URLHelper.GetAbsoluteUrl(activityUrl, appUrl, appUrl, "");
                    url                 = URLHelper.AddParameterToUrl(url, URLHelper.SYSTEM_QUERY_PARAMETER, "1");
                    btnView.ToolTip     = GetString("general.view");
                    btnView.NavigateUrl = url;
                    btnView.Visible     = true;
                }
                else
                {
                    btnView.Visible = false;
                }
            }
        }
    }
Exemplo n.º 40
0
        public int Create(ActivityInfo act, ref string msg)
        {
            msg = "未知错误";
            int result;

            try
            {
                System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand("SELECT ActivitiesId  FROM Hishop_Activities WHERE ActivitiesName=@Name");
                this.database.AddInParameter(sqlStringCommand, "Name", System.Data.DbType.String, act.ActivitiesName);
                if (Convert.ToInt32(this.database.ExecuteScalar(sqlStringCommand)) >= 1)
                {
                    msg    = "减免活动重名";
                    result = 0;
                }
                else
                {
                    sqlStringCommand = this.database.GetSqlStringCommand("SELECT ActivitiesId  FROM Hishop_Activities WHERE isAllProduct=1 and  EndTime>@NowTime");
                    this.database.AddInParameter(sqlStringCommand, "NowTime", System.Data.DbType.DateTime, DateTime.Now);
                    if (Convert.ToInt32(this.database.ExecuteScalar(sqlStringCommand)) >= 1)
                    {
                        msg    = "已有全部商品满减活动未结束,不能再添加新活动!";
                        result = 0;
                    }
                    else
                    {
                        sqlStringCommand = this.database.GetSqlStringCommand("INSERT INTO [Hishop_Activities] ([ActivitiesName] ,[ActivitiesType],[StartTime],[EndTime],[ActivitiesDescription],[TakeEffect],[Type],[MemberGrades],[DefualtGroup],[CustomGroup],[attendTime],[attendType],[isAllProduct],[MeetMoney],[ReductionMoney],[MeetType]) VALUES (@ActivitiesName,@ActivitiesType,@StartTime,@EndTime,@ActivitiesDescription,@TakeEffect,@Type,@MemberGrades,@DefualtGroup,@CustomGroup,@attendTime,@attendType,@isAllProduct,@MeetMoney,@ReductionMoney ,@MeetType); SELECT CAST(scope_identity() AS int);");
                        this.database.AddInParameter(sqlStringCommand, "ActivitiesName", System.Data.DbType.String, act.ActivitiesName);
                        this.database.AddInParameter(sqlStringCommand, "ActivitiesType", System.Data.DbType.Int32, act.ActivitiesType);
                        this.database.AddInParameter(sqlStringCommand, "StartTime", System.Data.DbType.DateTime, act.StartTime);
                        this.database.AddInParameter(sqlStringCommand, "EndTime", System.Data.DbType.DateTime, act.EndTime);
                        this.database.AddInParameter(sqlStringCommand, "ActivitiesDescription", System.Data.DbType.String, act.ActivitiesDescription);
                        this.database.AddInParameter(sqlStringCommand, "TakeEffect", System.Data.DbType.Int32, act.TakeEffect);
                        this.database.AddInParameter(sqlStringCommand, "Type", System.Data.DbType.Int32, act.Type);
                        this.database.AddInParameter(sqlStringCommand, "MemberGrades", System.Data.DbType.String, act.MemberGrades);
                        this.database.AddInParameter(sqlStringCommand, "DefualtGroup", System.Data.DbType.String, act.DefualtGroup);
                        this.database.AddInParameter(sqlStringCommand, "CustomGroup", System.Data.DbType.String, act.CustomGroup);
                        this.database.AddInParameter(sqlStringCommand, "attendTime", System.Data.DbType.Int32, act.attendTime);
                        this.database.AddInParameter(sqlStringCommand, "attendType", System.Data.DbType.Int32, act.attendType);
                        this.database.AddInParameter(sqlStringCommand, "isAllProduct", System.Data.DbType.Boolean, act.isAllProduct);
                        this.database.AddInParameter(sqlStringCommand, "MeetMoney", System.Data.DbType.Decimal, act.MeetMoney);
                        this.database.AddInParameter(sqlStringCommand, "ReductionMoney", System.Data.DbType.Decimal, act.ReductionMoney);
                        this.database.AddInParameter(sqlStringCommand, "MeetType", System.Data.DbType.Int32, act.MeetType);
                        int num = (int)this.database.ExecuteScalar(sqlStringCommand);
                        act.ActivitiesId = num;
                        if (act.Details != null)
                        {
                            if (act.Details.Count > 0)
                            {
                                string query = "INSERT INTO [Hishop_Activities_Detail]([ActivitiesId],[MeetMoney],[ReductionMoney],[bFreeShipping],[Integral],[CouponId],[MeetNumber])VALUES(@ActivitiesId,@MeetMoney,@ReductionMoney,@bFreeShipping,@Integral,@CouponId ,@MeetNumber)";
                                foreach (ActivityDetailInfo current in act.Details)
                                {
                                    sqlStringCommand = this.database.GetSqlStringCommand(query);
                                    this.database.AddInParameter(sqlStringCommand, "ActivitiesId", System.Data.DbType.Int32, act.ActivitiesId);
                                    this.database.AddInParameter(sqlStringCommand, "MeetMoney", System.Data.DbType.Decimal, current.MeetMoney);
                                    this.database.AddInParameter(sqlStringCommand, "ReductionMoney", System.Data.DbType.Decimal, current.ReductionMoney);
                                    this.database.AddInParameter(sqlStringCommand, "bFreeShipping", System.Data.DbType.Boolean, current.bFreeShipping);
                                    this.database.AddInParameter(sqlStringCommand, "Integral", System.Data.DbType.Int32, current.Integral);
                                    this.database.AddInParameter(sqlStringCommand, "CouponId", System.Data.DbType.Int32, current.CouponId);
                                    this.database.AddInParameter(sqlStringCommand, "MeetNumber", System.Data.DbType.Int32, current.MeetNumber);
                                    this.database.ExecuteScalar(sqlStringCommand);
                                }
                            }
                        }
                        msg    = "";
                        result = num;
                    }
                }
            }
            catch (Exception ex)
            {
                msg    = ex.Message;
                result = 0;
            }
            return(result);
        }
Exemplo n.º 41
0
        public bool AddProducts(int actId, bool IsAllProduct, IList <string> productIDs)
        {
            bool result;

            try
            {
                ActivityInfo act = this.GetAct(actId);
                if (act != null)
                {
                    if (IsAllProduct)
                    {
                        act.isAllProduct = true;
                    }
                    else
                    {
                        act.isAllProduct = false;
                    }
                    if (IsAllProduct)
                    {
                        System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand("update Hishop_Activities set IsAllProduct=@IsAllProduct  WHERE ActivitiesId = @ActivitiesId");
                        this.database.AddInParameter(sqlStringCommand, "ActivitiesId", System.Data.DbType.Int32, actId);
                        this.database.AddInParameter(sqlStringCommand, "IsAllProduct", System.Data.DbType.Boolean, act.isAllProduct);
                        this.database.ExecuteNonQuery(sqlStringCommand);
                        sqlStringCommand = this.database.GetSqlStringCommand("Delete from  Hishop_Activities_Product WHERE ActivitiesId = @ActivitiesId");
                        this.database.AddInParameter(sqlStringCommand, "ActivitiesId", System.Data.DbType.Int32, actId);
                        this.database.ExecuteNonQuery(sqlStringCommand);
                        result = true;
                    }
                    else
                    {
                        string text = "";
                        if (productIDs.Count > 0)
                        {
                            foreach (string current in productIDs)
                            {
                                text = text + "," + current;
                            }
                        }
                        text = text.Substring(1);
                        System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(string.Format("Delete from  Hishop_Activities_Product WHERE ActivitiesId ={0} and ProductId in ( {1} )", actId, text));
                        this.database.ExecuteNonQuery(sqlStringCommand);
                        StringBuilder stringBuilder = new StringBuilder();
                        foreach (string current2 in productIDs)
                        {
                            stringBuilder.AppendFormat(" insert into Hishop_Activities_Product(ActivitiesId , ProductId) values({0} , {1}) ", act.ActivitiesId, current2);
                        }
                        sqlStringCommand = this.database.GetSqlStringCommand(stringBuilder.ToString());
                        this.database.ExecuteNonQuery(sqlStringCommand);
                        sqlStringCommand = this.database.GetSqlStringCommand("update Hishop_Activities set IsAllProduct=@IsAllProduct WHERE ActivitiesId = @ActivitiesId");
                        this.database.AddInParameter(sqlStringCommand, "ActivitiesId", System.Data.DbType.Int32, actId);
                        this.database.AddInParameter(sqlStringCommand, "IsAllProduct", System.Data.DbType.Boolean, act.isAllProduct);
                        this.database.ExecuteNonQuery(sqlStringCommand);
                        result = true;
                    }
                }
                else
                {
                    result = false;
                }
            }
            catch (Exception)
            {
                result = false;
            }
            return(result);
        }
        public void EditActivityInfo(int studentIdentifier, int activityInfoIdentifier, ActivityInfo activityInfo)
        {
            IStudentRepository studentRepository = persistanceContext.GetStudentRepository();
            Student            student           = studentRepository.GetById(studentIdentifier);

            ActivityInfo activityInfoToEdit = student.ActivityInfos.Where(actInfo => actInfo.Id == activityInfo.Id).FirstOrDefault();

            activityInfoToEdit.Presence = activityInfo.Presence;
            activityInfoToEdit.Grade    = activityInfo.Grade;

            studentRepository.Save();
        }
Exemplo n.º 43
0
    public static PacketDistributed CreatePacket(MessageID packetID)
    {
        PacketDistributed packet = null;

        switch (packetID)
        {
        case MessageID.CSLogin: { packet = new CSLogin(); } break;

        case MessageID.SCLoginRet: { packet = new SCLoginRet(); } break;

        case MessageID.CSLoginThirdPlatform: { packet = new CSLoginThirdPlatform(); } break;

        case MessageID.SCLoginThirdPlatformRet: { packet = new SCLoginThirdPlatformRet(); } break;

        case MessageID.CSThirdPlatformVerifyCharge: { packet = new CSThirdPlatformVerifyCharge(); } break;

        case MessageID.SCThirdPlatformVerifyCharge: { packet = new SCThirdPlatformVerifyCharge(); } break;

        case MessageID.CSAskUserData: { packet = new CSAskUserData(); } break;

        case MessageID.PBUserBaseData: { packet = new PBUserBaseData(); } break;

        case MessageID.PBUserBagData: { packet = new PBUserBagData(); } break;

        case MessageID.PBUserCopyData: { packet = new PBUserCopyData(); } break;

        case MessageID.SCAskUserData: { packet = new SCAskUserData(); } break;

        case MessageID.MissionInfo: { packet = new MissionInfo(); } break;

        case MessageID.CopyInfo: { packet = new CopyInfo(); } break;

        case MessageID.ItemInfo: { packet = new ItemInfo(); } break;

        case MessageID.CardInfo: { packet = new CardInfo(); } break;

        case MessageID.DropBag: { packet = new DropBag(); } break;

        case MessageID.BattleCard: { packet = new BattleCard(); } break;

        case MessageID.CSBattleData: { packet = new CSBattleData(); } break;

        case MessageID.DataBuffInfo: { packet = new DataBuffInfo(); } break;

        case MessageID.DataSingleAction: { packet = new DataSingleAction(); } break;

        case MessageID.DataAction: { packet = new DataAction(); } break;

        case MessageID.DataRound: { packet = new DataRound(); } break;

        case MessageID.DataBattle: { packet = new DataBattle(); } break;

        case MessageID.SCBattleData: { packet = new SCBattleData(); } break;

        case MessageID.CSPVPBattleData: { packet = new CSPVPBattleData(); } break;

        case MessageID.SCPVPBattleData: { packet = new SCPVPBattleData(); } break;

        case MessageID.CSChangeMember: { packet = new CSChangeMember(); } break;

        case MessageID.SCChangeMember: { packet = new SCChangeMember(); } break;

        case MessageID.CSCardCombining: { packet = new CSCardCombining(); } break;

        case MessageID.SCCardCombiningRet: { packet = new SCCardCombiningRet(); } break;

        case MessageID.CSCardEvolve: { packet = new CSCardEvolve(); } break;

        case MessageID.SCCardEvolveRet: { packet = new SCCardEvolveRet(); } break;

        case MessageID.CSCardStrengthen: { packet = new CSCardStrengthen(); } break;

        case MessageID.SCCardStrengthenRet: { packet = new SCCardStrengthenRet(); } break;

        case MessageID.CSFriendsList: { packet = new CSFriendsList(); } break;

        case MessageID.SCFriendsList: { packet = new SCFriendsList(); } break;

        case MessageID.CSSearchFriend: { packet = new CSSearchFriend(); } break;

        case MessageID.SCSearchFriend: { packet = new SCSearchFriend(); } break;

        case MessageID.CSGiveFriendPower: { packet = new CSGiveFriendPower(); } break;

        case MessageID.SCGiveFriendPower: { packet = new SCGiveFriendPower(); } break;

        case MessageID.CSGetFriendPower: { packet = new CSGetFriendPower(); } break;

        case MessageID.SCGetFriendPower: { packet = new SCGetFriendPower(); } break;

        case MessageID.CSADDFriend: { packet = new CSADDFriend(); } break;

        case MessageID.SCADDFriend: { packet = new SCADDFriend(); } break;

        case MessageID.CSDeleteFriend: { packet = new CSDeleteFriend(); } break;

        case MessageID.SCDeleteFriend: { packet = new SCDeleteFriend(); } break;

        case MessageID.CSGetRandomAssistanceList: { packet = new CSGetRandomAssistanceList(); } break;

        case MessageID.SCGetRandomAssistanceList: { packet = new SCGetRandomAssistanceList(); } break;

        case MessageID.PBFriend: { packet = new PBFriend(); } break;

        case MessageID.CSSellCard: { packet = new CSSellCard(); } break;

        case MessageID.SCSellCard: { packet = new SCSellCard(); } break;

        case MessageID.SCErrorMsg: { packet = new SCErrorMsg(); } break;

        case MessageID.CSMailList: { packet = new CSMailList(); } break;

        case MessageID.SCMailList: { packet = new SCMailList(); } break;

        case MessageID.PBMail: { packet = new PBMail(); } break;

        case MessageID.CSMailDelete: { packet = new CSMailDelete(); } break;

        case MessageID.SCMailDelete: { packet = new SCMailDelete(); } break;

        case MessageID.CSMailSend: { packet = new CSMailSend(); } break;

        case MessageID.SCMailSend: { packet = new SCMailSend(); } break;

        case MessageID.CSMailFriend: { packet = new CSMailFriend(); } break;

        case MessageID.SCMailFriend: { packet = new SCMailFriend(); } break;

        case MessageID.CSMailSystem: { packet = new CSMailSystem(); } break;

        case MessageID.SCMailSystem: { packet = new SCMailSystem(); } break;

        case MessageID.CSMailRead: { packet = new CSMailRead(); } break;

        case MessageID.SCMailRead: { packet = new SCMailRead(); } break;

        case MessageID.CSGMcmds: { packet = new CSGMcmds(); } break;

        case MessageID.SCGMcmds: { packet = new SCGMcmds(); } break;

        case MessageID.CSTaskList: { packet = new CSTaskList(); } break;

        case MessageID.SCTaskList: { packet = new SCTaskList(); } break;

        case MessageID.PBTask: { packet = new PBTask(); } break;

        case MessageID.CSFinishTask: { packet = new CSFinishTask(); } break;

        case MessageID.SCFinishTask: { packet = new SCFinishTask(); } break;

        case MessageID.CSShop: { packet = new CSShop(); } break;

        case MessageID.SCShopRet: { packet = new SCShopRet(); } break;

        case MessageID.CSGamble: { packet = new CSGamble(); } break;

        case MessageID.SCGambleRet: { packet = new SCGambleRet(); } break;

        case MessageID.CSGuide: { packet = new CSGuide(); } break;

        case MessageID.SCGuide: { packet = new SCGuide(); } break;

        case MessageID.ButtonInfo: { packet = new ButtonInfo(); } break;

        case MessageID.CSChangeName: { packet = new CSChangeName(); } break;

        case MessageID.SCChangeName: { packet = new SCChangeName(); } break;

        case MessageID.CSBindAccount: { packet = new CSBindAccount(); } break;

        case MessageID.SCBindAccount: { packet = new SCBindAccount(); } break;

        case MessageID.CSAskPVPList: { packet = new CSAskPVPList(); } break;

        case MessageID.SCAskPVPList: { packet = new SCAskPVPList(); } break;

        case MessageID.PVPUserBaseData: { packet = new PVPUserBaseData(); } break;

        case MessageID.CSAskScoreShopFresh: { packet = new CSAskScoreShopFresh(); } break;

        case MessageID.SCAskScoreShopFresh: { packet = new SCAskScoreShopFresh(); } break;

        case MessageID.CSPVPShop: { packet = new CSPVPShop(); } break;

        case MessageID.SCPVPShopRet: { packet = new SCPVPShopRet(); } break;

        case MessageID.ProductInfo: { packet = new ProductInfo(); } break;

        case MessageID.CSProductList: { packet = new CSProductList(); } break;

        case MessageID.SCProductList: { packet = new SCProductList(); } break;

        case MessageID.CSClearBattleData: { packet = new CSClearBattleData(); } break;

        case MessageID.SCClearBattleData: { packet = new SCClearBattleData(); } break;

        case MessageID.CSRandomCardFree: { packet = new CSRandomCardFree(); } break;

        case MessageID.SCRandomCardFree: { packet = new SCRandomCardFree(); } break;

        case MessageID.CS20038: { packet = new CS20038(); } break;

        case MessageID.SC30038: { packet = new SC30038(); } break;

        case MessageID.CS20039: { packet = new CS20039(); } break;

        case MessageID.SC30039: { packet = new SC30039(); } break;

        case MessageID.CS20040: { packet = new CS20040(); } break;

        case MessageID.SC30040: { packet = new SC30040(); } break;

        case MessageID.CS20041: { packet = new CS20041(); } break;

        case MessageID.SC30041: { packet = new SC30041(); } break;

        case MessageID.CSscode: { packet = new CSscode(); } break;

        case MessageID.SCscode: { packet = new SCscode(); } break;

        case MessageID.CSCYouProductList: { packet = new CSCYouProductList(); } break;

        case MessageID.SCCYouProductList: { packet = new SCCYouProductList(); } break;

        case MessageID.CSCYouVerifyCharge: { packet = new CSCYouVerifyCharge(); } break;

        case MessageID.SCCYouVerifyCharge: { packet = new SCCYouVerifyCharge(); } break;

        case MessageID.CSPPProductList: { packet = new CSPPProductList(); } break;

        case MessageID.SCPPProductList: { packet = new SCPPProductList(); } break;

        case MessageID.CSPPVerifyCharge: { packet = new CSPPVerifyCharge(); } break;

        case MessageID.SCPPVerifyCharge: { packet = new SCPPVerifyCharge(); } break;

        case MessageID.CSBuyMoney: { packet = new CSBuyMoney(); } break;

        case MessageID.SCBuyMoney: { packet = new SCBuyMoney(); } break;

        case MessageID.CSBuyPower: { packet = new CSBuyPower(); } break;

        case MessageID.SCBuyPower: { packet = new SCBuyPower(); } break;

        case MessageID.CSSDKLoginThirdPlatform: { packet = new CSSDKLoginThirdPlatform(); } break;

        case MessageID.SCSDKLoginThirdPlatformRet: { packet = new SCSDKLoginThirdPlatformRet(); } break;

        case MessageID.CSSDKRefresh: { packet = new CSSDKRefresh(); } break;

        case MessageID.SCSDKRefreshRet: { packet = new SCSDKRefreshRet(); } break;

        case MessageID.CSCommonProductList: { packet = new CSCommonProductList(); } break;

        case MessageID.SCCommonProductListRet: { packet = new SCCommonProductListRet(); } break;

        case MessageID.CSCYouPayVerifyCharge: { packet = new CSCYouPayVerifyCharge(); } break;

        case MessageID.SCCYouPayVerifyChargeRet: { packet = new SCCYouPayVerifyChargeRet(); } break;

        case MessageID.CSGGL: { packet = new CSGGL(); } break;

        case MessageID.SCGGL: { packet = new SCGGL(); } break;

        case MessageID.CSWuxingActivation: { packet = new CSWuxingActivation(); } break;

        case MessageID.SCWuxingActivation: { packet = new SCWuxingActivation(); } break;

        case MessageID.CSWuxingLevelup: { packet = new CSWuxingLevelup(); } break;

        case MessageID.SCWuxingLevelup: { packet = new SCWuxingLevelup(); } break;

        case MessageID.CSWuxingReset: { packet = new CSWuxingReset(); } break;

        case MessageID.SCWuxingReset: { packet = new SCWuxingReset(); } break;

        case MessageID.WuxingInfo: { packet = new WuxingInfo(); } break;

        case MessageID.SuipianInfo: { packet = new SuipianInfo(); } break;

        case MessageID.FengshuiInfo: { packet = new FengshuiInfo(); } break;

        case MessageID.CSBGZ: { packet = new CSBGZ(); } break;

        case MessageID.SCBGZ: { packet = new SCBGZ(); } break;

        case MessageID.MonthCardInfo: { packet = new MonthCardInfo(); } break;

        case MessageID.CSMonthCardGetDollar: { packet = new CSMonthCardGetDollar(); } break;

        case MessageID.SCMonthCardGetDollar: { packet = new SCMonthCardGetDollar(); } break;

        case MessageID.MonthReward: { packet = new MonthReward(); } break;

        case MessageID.CSMonthCardInfo: { packet = new CSMonthCardInfo(); } break;

        case MessageID.SCMonthCardInfo: { packet = new SCMonthCardInfo(); } break;

        case MessageID.CSFriendMailDelete: { packet = new CSFriendMailDelete(); } break;

        case MessageID.SCFriendMailDelete: { packet = new SCFriendMailDelete(); } break;

        case MessageID.CSStudySkill: { packet = new CSStudySkill(); } break;

        case MessageID.SCStudySkill: { packet = new SCStudySkill(); } break;

        case MessageID.CSStudySkillUpdate: { packet = new CSStudySkillUpdate(); } break;

        case MessageID.SCStudySkillUpdate: { packet = new SCStudySkillUpdate(); } break;

        case MessageID.CSQxzbPVPDataAsk: { packet = new CSQxzbPVPDataAsk(); } break;

        case MessageID.SCQxzbPVPDataAsk: { packet = new SCQxzbPVPDataAsk(); } break;

        case MessageID.CSQxzbBattle: { packet = new CSQxzbBattle(); } break;

        case MessageID.SCQxzbBattle: { packet = new SCQxzbBattle(); } break;

        case MessageID.CSQxzbPVPClearCD: { packet = new CSQxzbPVPClearCD(); } break;

        case MessageID.SCQxzbPVPClearCD: { packet = new SCQxzbPVPClearCD(); } break;

        case MessageID.CSQxzbGetReward: { packet = new CSQxzbGetReward(); } break;

        case MessageID.SCQxzbGetReward: { packet = new SCQxzbGetReward(); } break;

        case MessageID.CSPaiTaBattleData: { packet = new CSPaiTaBattleData(); } break;

        case MessageID.SCPaiTaBattleData: { packet = new SCPaiTaBattleData(); } break;

        case MessageID.CSClearPaiTaBattleData: { packet = new CSClearPaiTaBattleData(); } break;

        case MessageID.SCClearPaiTaBattleData: { packet = new SCClearPaiTaBattleData(); } break;

        case MessageID.CSAskWorldBossInfo: { packet = new CSAskWorldBossInfo(); } break;

        case MessageID.SCAskWorldBossInfo: { packet = new SCAskWorldBossInfo(); } break;

        case MessageID.WorldBoss: { packet = new WorldBoss(); } break;

        case MessageID.WorldBossKillInfo: { packet = new WorldBossKillInfo(); } break;

        case MessageID.WorldBossAttInfo: { packet = new WorldBossAttInfo(); } break;

        case MessageID.WorldBossDamageRankInfo: { packet = new WorldBossDamageRankInfo(); } break;

        case MessageID.CSAskWorldBossBattle: { packet = new CSAskWorldBossBattle(); } break;

        case MessageID.SCAskWorldBossBattle: { packet = new SCAskWorldBossBattle(); } break;

        case MessageID.CSWorldBossAddZhufu: { packet = new CSWorldBossAddZhufu(); } break;

        case MessageID.SCWorldBossAddZhufu: { packet = new SCWorldBossAddZhufu(); } break;

        case MessageID.CSWorldBossResurgence: { packet = new CSWorldBossResurgence(); } break;

        case MessageID.SCWorldBossResurgence: { packet = new SCWorldBossResurgence(); } break;

        case MessageID.CSAskActivity: { packet = new CSAskActivity(); } break;

        case MessageID.SCAskActivity: { packet = new SCAskActivity(); } break;

        case MessageID.ActivityInfo: { packet = new ActivityInfo(); } break;

        case MessageID.ChangeCardInfo: { packet = new ChangeCardInfo(); } break;

        case MessageID.cardGuidAndTempleID: { packet = new cardGuidAndTempleID(); } break;

        case MessageID.CSAskChangeCardList: { packet = new CSAskChangeCardList(); } break;

        case MessageID.SCAskChangeCardList: { packet = new SCAskChangeCardList(); } break;

        case MessageID.CSChangeCardConfirm: { packet = new CSChangeCardConfirm(); } break;

        case MessageID.SCChangeCardConfirm: { packet = new SCChangeCardConfirm(); } break;

        case MessageID.CSWorldBossWeekRank: { packet = new CSWorldBossWeekRank(); } break;

        case MessageID.SCWorldBossWeekRank: { packet = new SCWorldBossWeekRank(); } break;

        case MessageID.CSWorldBossWeekReward: { packet = new CSWorldBossWeekReward(); } break;

        case MessageID.SCWorldBossWeekReward: { packet = new SCWorldBossWeekReward(); } break;

        case MessageID.CSTaskOver: { packet = new CSTaskOver(); } break;

        case MessageID.SCTaskOver: { packet = new SCTaskOver(); } break;

        case MessageID.PBYunyingHuodong: { packet = new PBYunyingHuodong(); } break;

        case MessageID.CSYunyingHuodong: { packet = new CSYunyingHuodong(); } break;

        case MessageID.SCYunyingHuodong: { packet = new SCYunyingHuodong(); } break;

        case MessageID.CSGooglePayVerifyCharge: { packet = new CSGooglePayVerifyCharge(); } break;

        case MessageID.SCGooglePayVerifyChargeRet: { packet = new SCGooglePayVerifyChargeRet(); } break;
        }
        if (null != packet)
        {
            packet.packetID = packetID;
        }
        //netActionTime = DateTime.Now.ToFileTimeUtc();
        return(packet);
    }
Exemplo n.º 44
0
        public static Flow Create()
        {
            var scheme = new FlowScheme("Flow1. Uses condition node", "MicroFlow.Meta.Test.Flow1");

            scheme.DefaultFaultHandlerType        = typeof(MyFaultHandler);
            scheme.DefaultCancellationHandlerType = typeof(MyCancellationHandler);

            var inputFirst = new ActivityInfo(typeof(ReadIntActivity))
            {
                Description = "Read first number",
                Result      = new VariableInfo(typeof(int), "first")
            };

            var inputSecond = new ActivityInfo(typeof(ReadIntActivity))
            {
                Description = "Read second number",
                Result      = new VariableInfo(typeof(int), "second")
            };

            var condition = new ConditionInfo("() => first.Get() > second.Get()")
            {
                Description = "If first number > second number"
            };

            var outputWhenTrue = new ActivityInfo(typeof(WriteMessageActivity))
            {
                Description = "Output: first > second"
            };

            outputWhenTrue.AddPropertyBinding(new PropertyBindingInfo("Message", PropertyBindingKind.Expression)
            {
                BindingExpression = "() => $\"{first.Get()} > {second.Get()}\""
            });

            var outputWhenFalse = new ActivityInfo(typeof(WriteMessageActivity))
            {
                Description = "Output: first <= second"
            };

            outputWhenFalse.AddPropertyBinding(new PropertyBindingInfo("Message", PropertyBindingKind.Expression)
            {
                BindingExpression = "() => $\"{first.Get()} <= {second.Get()}\""
            });

            scheme.IntialNode = inputFirst;

            inputFirst.PointsTo  = inputSecond;
            inputSecond.PointsTo = condition;

            condition.WhenTrue  = outputWhenTrue;
            condition.WhenFalse = outputWhenFalse;

            scheme.AddNodes(inputFirst, inputSecond, condition, outputWhenTrue, outputWhenFalse);

            scheme.AddProperty(new FlowPropertyInfo(typeof(IReader), "Reader"));
            scheme.AddProperty(new FlowPropertyInfo(typeof(IWriter), "Writer"));

            scheme.AddService(
                new ServiceInfo(typeof(IReader), lifetimeKind: LifetimeKind.Singleton, instanceExpression: "Reader"));

            scheme.AddService(
                new ServiceInfo(typeof(IWriter), lifetimeKind: LifetimeKind.Singleton, instanceExpression: "Writer"));

            return(scheme.EmitFlow());
        }
Exemplo n.º 45
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            int result = 0;

            int.TryParse(context.Request.Params["act"], out result);
            string types = "0";

            if ((result > 0) && (result < 4))
            {
                types = result.ToString();
            }
            else if (result == 4)
            {
                types = "4,5";
            }
            DataTable activityTopics = ActivityHelper.GetActivityTopics(types);

            activityTopics.Columns.Add("hasImage");
            activityTopics.Columns.Add("NewMemberGrades");
            activityTopics.Columns.Add("Url");
            activityTopics.Columns.Add("Limit");
            activityTopics.Columns.Add("Discount");
            activityTopics.Columns.Add("Description");
            activityTopics.Columns.Add("Point");
            activityTopics.Columns.Add("CouponMoeny");
            activityTopics.Columns.Add("Product");
            foreach (DataRow row in activityTopics.Rows)
            {
                int    gameId = int.Parse(row["Id"].ToString());
                int    num3   = int.Parse(row["ActivityType"].ToString());
                string str2   = row["MemberGrades"].ToString();
                string str3   = row["DefualtGroup"].ToString();
                string str4   = row["CustomGroup"].ToString();
                if (((num3 == 2) || (num3 == 4)) || (num3 == 5))
                {
                    row["hasImage"] = "none";
                }
                else
                {
                    row["hasImage"] = "''";
                }
                if (((str2 == "0") || (str3 == "0")) || (str4 == "0"))
                {
                    row["NewMemberGrades"] = "全部会员";
                }
                else
                {
                    row["NewMemberGrades"] = "部分会员";
                }
                if (num3 == 1)
                {
                    row["Url"] = "/ExchangeList.aspx?id=" + gameId;
                }
                else
                {
                    switch (num3)
                    {
                    case 4:
                    {
                        row["Url"] = "/BeginVote.aspx?voteId=" + gameId;
                        VoteInfo vote = VoteHelper.GetVote((long)gameId);
                        if (vote != null)
                        {
                            row["Description"] = vote.Description;
                        }
                        break;
                    }

                    case 5:
                    {
                        GameInfo modelByGameId = GameHelper.GetModelByGameId(gameId);
                        if (modelByGameId != null)
                        {
                            row["Url"]         = modelByGameId.GameUrl;
                            row["Limit"]       = this.GetLimit(modelByGameId.LimitEveryDay, modelByGameId.MaximumDailyLimit);
                            row["Point"]       = modelByGameId.NeedPoint.ToString();
                            row["Description"] = modelByGameId.Description;
                        }
                        break;
                    }

                    case 3:
                    {
                        row["Url"] = "/VShop/CouponDetails.aspx?CouponId=" + gameId;
                        CouponInfo coupon = CouponHelper.GetCoupon(gameId);
                        if (coupon != null)
                        {
                            row["CouponMoeny"] = coupon.CouponValue.ToString();
                            if (coupon.ConditionValue > 0M)
                            {
                                row["Limit"] = "满" + coupon.ConditionValue.ToString() + "元可用";
                            }
                            else
                            {
                                row["Limit"] = "不限制";
                            }
                        }
                        break;
                    }

                    case 2:
                    {
                        row["Url"] = "";
                        ActivityInfo act = ActivityHelper.GetAct(gameId);
                        if (act != null)
                        {
                            row["Limit"] = "每人参与" + act.attendTime.ToString() + "次";
                            int       meetType = act.MeetType;
                            DataTable table2   = ActivityHelper.GetActivities_Detail(gameId);
                            string    str5     = string.Empty;
                            string    str6     = "";
                            if (act.attendType == 0)
                            {
                                foreach (DataRow row2 in table2.Rows)
                                {
                                    if (meetType == 1)
                                    {
                                        str6 = str6 + "满" + row2["MeetNumber"].ToString() + "件";
                                    }
                                    else
                                    {
                                        str6 = str6 + "满" + row2["MeetMoney"].ToString() + "元";
                                    }
                                    if (decimal.Parse(row2["ReductionMoney"].ToString()) != 0M)
                                    {
                                        str6 = str6 + ",减" + row2["ReductionMoney"].ToString() + "元";
                                    }
                                    if (bool.Parse(row2["bFreeShipping"].ToString()))
                                    {
                                        str6 = str6 + ",免邮";
                                    }
                                    if (int.Parse(row2["Integral"].ToString()) != 0)
                                    {
                                        str6 = str6 + ",送" + row2["Integral"].ToString() + "积分";
                                    }
                                    if (int.Parse(row2["CouponId"].ToString()) != 0)
                                    {
                                        str6 = str6 + ",送优惠券";
                                    }
                                }
                                str5 = str5 + str6;
                            }
                            else
                            {
                                str5 = "多级优惠(每层级优惠不累积叠加)<br/>";
                                int num5 = 0;
                                foreach (DataRow row3 in table2.Rows)
                                {
                                    num5++;
                                    str6 = str6 + "层级" + num5.ToString() + ":";
                                    if (meetType == 1)
                                    {
                                        str6 = str6 + "满" + row3["MeetNumber"].ToString() + "件";
                                    }
                                    else
                                    {
                                        str6 = str6 + "满" + row3["MeetMoney"].ToString() + "元";
                                    }
                                    if (decimal.Parse(row3["ReductionMoney"].ToString()) != 0M)
                                    {
                                        str6 = str6 + ",减" + row3["ReductionMoney"].ToString() + "元";
                                    }
                                    if (bool.Parse(row3["bFreeShipping"].ToString()))
                                    {
                                        str6 = str6 + ",免邮";
                                    }
                                    if (int.Parse(row3["Integral"].ToString()) != 0)
                                    {
                                        str6 = str6 + ",送" + row3["Integral"].ToString() + "积分";
                                    }
                                    if (int.Parse(row3["CouponId"].ToString()) != 0)
                                    {
                                        str6 = str6 + ",送优惠券";
                                    }
                                    str6 = str6 + "<br/>";
                                }
                                str5 = str5 + str6;
                            }
                            row["Discount"] = str5;
                            if (act.isAllProduct)
                            {
                                row["Product"] = "全部商品";
                            }
                            else
                            {
                                string str7 = string.Empty;
                                foreach (DataRow row4 in ActivityHelper.QueryProducts(gameId).Rows)
                                {
                                    if (row4["status"].ToString() == "0")
                                    {
                                        str7 = str7 + row4["ProductID"].ToString() + "_";
                                    }
                                }
                                if (!string.IsNullOrEmpty(str7))
                                {
                                    row["Url"] = "/ProductList.aspx?pIds=" + str7.TrimEnd(new char[] { '_' });
                                }
                                row["Product"] = "部分商品";
                            }
                        }
                        break;
                    }
                    }
                }
            }
            IsoDateTimeConverter converter = new IsoDateTimeConverter {
                DateTimeFormat = "yyyy-MM-dd HH:mm"
            };
            string s = JsonConvert.SerializeObject(activityTopics, Formatting.Indented, new JsonConverter[] { converter });

            context.Response.Write(s);
        }
Exemplo n.º 46
0
        public static INumericTimeDataSeries RemovePausedTimesInTrack(INumericTimeDataSeries sourceTrack, IActivity activity)
        {
            ActivityInfo activityInfo = ActivityInfoCache.Instance.GetInfo(activity);

            if (activityInfo != null && sourceTrack != null)
            {
                if (activityInfo.NonMovingTimes.Count == 0)
                {
                    return(sourceTrack);
                }
                else
                {
                    INumericTimeDataSeries result = new NumericTimeDataSeries();
                    DateTime currentTime          = sourceTrack.StartTime;
                    IEnumerator <ITimeValueEntry <float> > sourceEnumerator = sourceTrack.GetEnumerator();
                    IEnumerator <IValueRange <DateTime> >  pauseEnumerator  = activityInfo.NonMovingTimes.GetEnumerator();
                    double totalPausedTimeToDate = 0;
                    bool   sourceEnumeratorIsValid;
                    bool   pauseEnumeratorIsValid;

                    pauseEnumeratorIsValid  = pauseEnumerator.MoveNext();
                    sourceEnumeratorIsValid = sourceEnumerator.MoveNext();

                    while (sourceEnumeratorIsValid)
                    {
                        bool addCurrentSourceEntry     = true;
                        bool advanceCurrentSourceEntry = true;

                        // Loop to handle all pauses up to this current track point
                        if (pauseEnumeratorIsValid)
                        {
                            if (currentTime >= pauseEnumerator.Current.Lower &&
                                currentTime <= pauseEnumerator.Current.Upper)
                            {
                                addCurrentSourceEntry = false;
                            }
                            else if (currentTime > pauseEnumerator.Current.Upper)
                            {
                                // Advance pause enumerator
                                totalPausedTimeToDate += (pauseEnumerator.Current.Upper - pauseEnumerator.Current.Lower).TotalSeconds;
                                pauseEnumeratorIsValid = pauseEnumerator.MoveNext();

                                // Make sure we retry with the next pause
                                addCurrentSourceEntry     = false;
                                advanceCurrentSourceEntry = false;
                            }
                        }

                        if (addCurrentSourceEntry)
                        {
                            result.Add(currentTime - new TimeSpan(0, 0, (int)totalPausedTimeToDate), sourceEnumerator.Current.Value);
                        }

                        if (advanceCurrentSourceEntry)
                        {
                            sourceEnumeratorIsValid = sourceEnumerator.MoveNext();
                            currentTime             = sourceTrack.StartTime + new TimeSpan(0, 0, (int)sourceEnumerator.Current.ElapsedSeconds);
                        }
                    }

                    return(result);
                }
            }

            return(null);
        }
 /// <summary>
 /// Установить обновленное значение датчиков
 /// </summary>
 /// <param name="activityInfo">Информация об активности</param>
 public void SetSensorsData(ActivityInfo activityInfo)
 {
     _activityInfo = activityInfo;
     DataChanged();
 }
Exemplo n.º 48
0
 private AbstractResponse GetKeyResponse(string key, AbstractRequest request)
 {
     System.Collections.Generic.IList <ReplyInfo> replies = ReplyHelper.GetReplies(ReplyType.Topic);
     if (replies != null && replies.Count > 0)
     {
         foreach (ReplyInfo current in replies)
         {
             if (current.Keys == key)
             {
                 TopicInfo topicInfo = VShopHelper.Gettopic(current.ActivityId);
                 if (topicInfo != null)
                 {
                     AbstractResponse result = new NewsResponse
                     {
                         CreateTime   = System.DateTime.Now,
                         FromUserName = request.ToUserName,
                         ToUserName   = request.FromUserName,
                         //修改1
                         Articles =
                         {
                             new Article
                             {
                                 Description = topicInfo.Title,
                                 PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, topicInfo.IconUrl),
                                 Title       = topicInfo.Title,
                                 Url         = string.Format("http://{0}/vshop/Topics.aspx?TopicId={1}", System.Web.HttpContext.Current.Request.Url.Host, topicInfo.TopicId)
                             }
                         }
                     };
                     return(result);
                 }
             }
         }
     }
     System.Collections.Generic.IList <ReplyInfo> replies2 = ReplyHelper.GetReplies(ReplyType.Vote);
     if (replies2 != null && replies2.Count > 0)
     {
         foreach (ReplyInfo current2 in replies2)
         {
             if (current2.Keys == key)
             {
                 VoteInfo voteById = StoreHelper.GetVoteById((long)current2.ActivityId);
                 if (voteById != null && voteById.IsBackup)
                 {
                     AbstractResponse result = new NewsResponse
                     {
                         CreateTime   = System.DateTime.Now,
                         FromUserName = request.ToUserName,
                         ToUserName   = request.FromUserName,
                         //修改1
                         Articles =
                         {
                             new Article
                             {
                                 Description = voteById.VoteName,
                                 PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, voteById.ImageUrl),
                                 Title       = voteById.VoteName,
                                 Url         = string.Format("http://{0}/vshop/Vote.aspx?voteId={1}", System.Web.HttpContext.Current.Request.Url.Host, voteById.VoteId)
                             }
                         }
                     };
                     return(result);
                 }
             }
         }
     }
     System.Collections.Generic.IList <ReplyInfo> replies3 = ReplyHelper.GetReplies(ReplyType.Wheel);
     if (replies3 != null && replies3.Count > 0)
     {
         foreach (ReplyInfo current3 in replies3)
         {
             if (current3.Keys == key)
             {
                 LotteryActivityInfo lotteryActivityInfo = VShopHelper.GetLotteryActivityInfo(current3.ActivityId);
                 if (lotteryActivityInfo != null)
                 {
                     AbstractResponse result = new NewsResponse
                     {
                         CreateTime   = System.DateTime.Now,
                         FromUserName = request.ToUserName,
                         ToUserName   = request.FromUserName,
                         //修改1
                         Articles =
                         {
                             new Article
                             {
                                 Description = lotteryActivityInfo.ActivityDesc,
                                 PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityPic),
                                 Title       = lotteryActivityInfo.ActivityName,
                                 Url         = string.Format("http://{0}/vshop/BigWheel.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityId)
                             }
                         }
                     };
                     return(result);
                 }
             }
         }
     }
     System.Collections.Generic.IList <ReplyInfo> replies4 = ReplyHelper.GetReplies(ReplyType.Scratch);
     if (replies4 != null && replies4.Count > 0)
     {
         foreach (ReplyInfo current4 in replies4)
         {
             if (current4.Keys == key)
             {
                 LotteryActivityInfo lotteryActivityInfo2 = VShopHelper.GetLotteryActivityInfo(current4.ActivityId);
                 if (lotteryActivityInfo2 != null)
                 {
                     AbstractResponse result = new NewsResponse
                     {
                         CreateTime   = System.DateTime.Now,
                         FromUserName = request.ToUserName,
                         ToUserName   = request.FromUserName,
                         //修改1
                         Articles =
                         {
                             new Article
                             {
                                 Description = lotteryActivityInfo2.ActivityDesc,
                                 PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo2.ActivityPic),
                                 Title       = lotteryActivityInfo2.ActivityName,
                                 Url         = string.Format("http://{0}/vshop/Scratch.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo2.ActivityId)
                             }
                         }
                     };
                     return(result);
                 }
             }
         }
     }
     System.Collections.Generic.IList <ReplyInfo> replies5 = ReplyHelper.GetReplies(ReplyType.SmashEgg);
     if (replies5 != null && replies5.Count > 0)
     {
         foreach (ReplyInfo current5 in replies5)
         {
             if (current5.Keys == key)
             {
                 LotteryActivityInfo lotteryActivityInfo3 = VShopHelper.GetLotteryActivityInfo(current5.ActivityId);
                 if (lotteryActivityInfo3 != null)
                 {
                     AbstractResponse result = new NewsResponse
                     {
                         CreateTime   = System.DateTime.Now,
                         FromUserName = request.ToUserName,
                         ToUserName   = request.FromUserName,
                         //修改1
                         Articles =
                         {
                             new Article
                             {
                                 Description = lotteryActivityInfo3.ActivityDesc,
                                 PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo3.ActivityPic),
                                 Title       = lotteryActivityInfo3.ActivityName,
                                 Url         = string.Format("http://{0}/vshop/SmashEgg.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo3.ActivityId)
                             }
                         }
                     };
                     return(result);
                 }
             }
         }
     }
     System.Collections.Generic.IList <ReplyInfo> replies6 = ReplyHelper.GetReplies(ReplyType.SignUp);
     if (replies6 != null && replies6.Count > 0)
     {
         foreach (ReplyInfo current6 in replies6)
         {
             if (current6.Keys == key)
             {
                 ActivityInfo activity = VShopHelper.GetActivity(current6.ActivityId);
                 if (activity != null)
                 {
                     AbstractResponse result = new NewsResponse
                     {
                         CreateTime   = System.DateTime.Now,
                         FromUserName = request.ToUserName,
                         ToUserName   = request.FromUserName,
                         //修改1
                         Articles =
                         {
                             new Article
                             {
                                 Description = activity.Description,
                                 PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, activity.PicUrl),
                                 Title       = activity.Name,
                                 Url         = string.Format("http://{0}/vshop/Activity.aspx?id={1}", System.Web.HttpContext.Current.Request.Url.Host, activity.ActivityId)
                             }
                         }
                     };
                     return(result);
                 }
             }
         }
     }
     System.Collections.Generic.IList <ReplyInfo> replies7 = ReplyHelper.GetReplies(ReplyType.Ticket);
     if (replies7 != null && replies7.Count > 0)
     {
         foreach (ReplyInfo current7 in replies7)
         {
             if (current7.Keys == key)
             {
                 LotteryTicketInfo lotteryTicket = VShopHelper.GetLotteryTicket(current7.ActivityId);
                 if (lotteryTicket != null)
                 {
                     AbstractResponse result = new NewsResponse
                     {
                         CreateTime   = System.DateTime.Now,
                         FromUserName = request.ToUserName,
                         ToUserName   = request.FromUserName,
                         //修改1
                         Articles =
                         {
                             new Article
                             {
                                 Description = lotteryTicket.ActivityDesc,
                                 PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityPic),
                                 Title       = lotteryTicket.ActivityName,
                                 Url         = string.Format("http://{0}/vshop/SignUp.aspx?id={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityId)
                             }
                         }
                     };
                     return(result);
                 }
             }
         }
     }
     return(null);
 }
Exemplo n.º 49
0
 public void LoadActivity(ActivityInfo activityInfo)
 {
     aeActivity.LoadActivity(activityInfo);
 }
Exemplo n.º 50
0
        protected void btnAddActivity_Click(object sender, EventArgs e)
        {
            string sharePic = string.Empty;

            if (this.hidUploadImages.Value.Trim().Length > 0)
            {
                try
                {
                    sharePic = this.UploadImage();
                }
                catch
                {
                    this.ShowMsg("图片上传失败,您选择的不是图片类型的文件,或者网站的虚拟目录没有写入文件的权限", false);
                    return;
                }
            }
            if (!this.calendarEndDate.SelectedDate.HasValue)
            {
                this.ShowMsg("请选择活动结束时间", false);
            }
            else
            {
                DateTime value               = this.calendarEndDate.SelectedDate.Value;
                DateTime?t                   = this.calendarStartDate.Text.ToDateTime();
                int      freeTimes           = default(int);
                int      consumptionIntegral = default(int);
                if ((DateTime?)value < t)
                {
                    this.ShowMsg("活动开始时间不能晚于活动结束时间", false);
                }
                else if (!int.TryParse(this.txtMaxNum.Text, out freeTimes) || freeTimes.ToString() != this.txtMaxNum.Text)
                {
                    this.ShowMsg("可抽奖次数必须是整数", false);
                }
                else if (!int.TryParse(this.txtUsePoints.Text, out consumptionIntegral))
                {
                    this.ShowMsg("每次参与消耗的积分不能为空,且是整数", false);
                }
                else
                {
                    ActivityInfo activityInfo = ActivityHelper.GetActivityInfo(this.activityid);
                    activityInfo.ActivityName = Globals.StripHtmlXmlTags(this.txtActiveName.Text);
                    activityInfo.Description  = this.txtdesc.Text;
                    DateTime value2 = this.calendarEndDate.SelectedDate.Value;
                    if (value2.Second == 0)
                    {
                        value2.AddSeconds(59.0);
                    }
                    activityInfo.EndDate             = value2;
                    activityInfo.ShareDetail         = this.txtKeyword.Text;
                    activityInfo.SharePic            = sharePic;
                    activityInfo.FreeTimes           = freeTimes;
                    activityInfo.ConsumptionIntegral = consumptionIntegral;
                    Database database = DatabaseFactory.CreateDatabase();
                    using (DbConnection dbConnection = database.CreateConnection())
                    {
                        dbConnection.Open();
                        DbTransaction dbTransaction = dbConnection.BeginTransaction();
                        try
                        {
                            if (ActivityHelper.UpdateActivityInfo(activityInfo, dbTransaction))
                            {
                                string value3 = this.hidJson.Value;
                                if (string.IsNullOrEmpty(value3))
                                {
                                    dbTransaction.Rollback();
                                    this.ShowMsg("获得奖项不能为空!", false);
                                }
                                else
                                {
                                    decimal d    = default(decimal);
                                    bool    flag = true;
                                    List <ActivityAwardItemInfo> activityItemList = ActivityHelper.GetActivityItemList(activityInfo.ActivityId);
                                    List <ActivityAwardItemInfo> list             = JsonHelper.ParseFormJson <List <ActivityAwardItemInfo> >(value3);
                                    int[]  array = new int[activityItemList.Count];
                                    int    num   = 0;
                                    string text  = "";
                                    foreach (ActivityAwardItemInfo item in list)
                                    {
                                        if (item.AwardId > 0)
                                        {
                                            text = text + item.AwardId + ",";
                                        }
                                    }
                                    text = text.Remove(text.Length - 1);
                                    ActivityHelper.DeleteEidAwardItem(this.activityid, text, dbTransaction);
                                    foreach (ActivityAwardItemInfo item2 in activityItemList)
                                    {
                                        array[num] = item2.AwardId;
                                        num++;
                                    }
                                    if (list.Any())
                                    {
                                        foreach (ActivityAwardItemInfo item3 in list)
                                        {
                                            if (item3.PrizeType == 2)
                                            {
                                                int couponSurplus = CouponHelper.GetCouponSurplus(item3.PrizeValue);
                                                if (item3.AwardNum > couponSurplus)
                                                {
                                                    dbTransaction.Rollback();
                                                    this.ShowMsg("优惠券奖项数量不能大于总数!", false);
                                                    return;
                                                }
                                            }
                                            d += item3.HitRate;
                                            item3.ActivityId = this.activityid;
                                            bool flag2 = false;
                                            if (array.Contains(item3.AwardId))
                                            {
                                                if (item3.AwardId > 0)
                                                {
                                                    ActivityAwardItemInfo newItemInfo = this.GetNewItemInfo(item3);
                                                    if (!ActivityHelper.UpdateActivityAwardItemInfo(newItemInfo, dbTransaction))
                                                    {
                                                        dbTransaction.Rollback();
                                                        this.ShowMsg("编辑失败!", false);
                                                        return;
                                                    }
                                                }
                                                else if (ActivityHelper.AddActivityAwardItemInfo(item3, dbTransaction) <= 0)
                                                {
                                                    dbTransaction.Rollback();
                                                    this.ShowMsg("编辑失败!", false);
                                                    return;
                                                }
                                                continue;
                                            }
                                            if (item3.AwardId > 0)
                                            {
                                                flag = ActivityHelper.DeleteActivityAwardItemByActivityId(item3.AwardId, dbTransaction);
                                                continue;
                                            }
                                            int num2 = ActivityHelper.AddActivityAwardItemInfo(item3, dbTransaction);
                                            if (num2 > 0)
                                            {
                                                flag = true;
                                                continue;
                                            }
                                            dbTransaction.Rollback();
                                            this.ShowMsg("编辑失败!", false);
                                            return;
                                        }
                                    }
                                    if (d > 100m)
                                    {
                                        dbTransaction.Rollback();
                                        this.ShowMsg("奖项概率总和不能大于100%!", false);
                                    }
                                    else if (flag)
                                    {
                                        dbTransaction.Commit();
                                        this.ShowMsg("编辑成功!", true);
                                        base.Response.Redirect("NewLotteryActivity.aspx?type=" + this.type, true);
                                        base.Response.End();
                                    }
                                    else
                                    {
                                        dbTransaction.Rollback();
                                        this.ShowMsg("编辑失败!", false);
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            dbTransaction.Rollback();
                            Globals.WriteLog("ActivityLog.txt", "Methed:Edit , Id:" + activityInfo.ActivityId + " , Msg:" + ex.Message);
                            this.ShowMsg(ex.Message, false);
                        }
                        finally
                        {
                            dbConnection.Close();
                        }
                    }
                }
            }
        }
Exemplo n.º 51
0
        /// <summary>
        /// Called on work item begins.  The activity name = providerName + activityName without 'Start' suffix.
        /// It updates CurrentActivityId to track.   
        /// 
        /// It returns true if the Start should be logged, otherwise (if it is illegal recurision) it return false. 
        /// 
        /// The start event should use as its activity ID the CurrentActivityId AFTER calling this routine and its
        /// RelatedActivityID the CurrentActivityId BEFORE calling this routine (the creator).  
        /// 
        /// If activity tracing is not on, then activityId and relatedActivityId are not set
        /// </summary>
        public void OnStart(string providerName, string activityName, int task, ref Guid activityId, ref Guid relatedActivityId, EventActivityOptions options)
        {
            if (m_current == null)        // We are not enabled
                return;

            Contract.Assert((options & EventActivityOptions.Disable) == 0);

            var currentActivity = m_current.Value;
            var fullActivityName = NormalizeActivityName(providerName, activityName, task);
            
            var etwLog = TplEtwProvider.Log;
            if (etwLog.Debug) 
            {
                etwLog.DebugFacilityMessage("OnStartEnter", fullActivityName);
                etwLog.DebugFacilityMessage("OnStartEnterActivityState", ActivityInfo.LiveActivities(currentActivity));
            }

            if (currentActivity != null)
            {
                // Stop activity tracking if we reached the maximum allowed depth 
                if (currentActivity.m_level >= MAX_ACTIVITY_DEPTH)
                {
                    activityId = Guid.Empty;
                    relatedActivityId = Guid.Empty;
                    if (etwLog.Debug)
                        etwLog.DebugFacilityMessage("OnStartRET", "Fail");
                    return;
                }
                // Check for recursion, and force-stop any activities if the activity already started.
                if ((options & EventActivityOptions.Recursive) == 0)
                {
                    ActivityInfo existingActivity = FindActiveActivity(fullActivityName, currentActivity);
                    if (existingActivity != null)
                    {
                        OnStop(providerName, activityName, task, ref activityId);
                        currentActivity = m_current.Value;
                    }
                }
            }

            // Get a unique ID for this activity.
            long id;
            if (currentActivity == null)
                id = Interlocked.Increment(ref m_nextId);
            else
                id = Interlocked.Increment(ref currentActivity.m_lastChildID);

            // Remember the previous ID so we can log it
            relatedActivityId = currentActivity != null ? currentActivity.ActivityId : Guid.Empty;

            // Add to the list of started but not stopped activities. 
            ActivityInfo newActivity = new ActivityInfo(fullActivityName, id, currentActivity, options);
            m_current.Value = newActivity;

            // Remember the current ID so we can log it 
            activityId = newActivity.ActivityId;

            if (etwLog.Debug) 
            {
                etwLog.DebugFacilityMessage("OnStartRetActivityState", ActivityInfo.LiveActivities(newActivity));
                etwLog.DebugFacilityMessage1("OnStartRet", activityId.ToString(), relatedActivityId.ToString());
            }
        }
 public override bool LoadData(ActivityInfo ai)
 {
     return(uc.LoadData(ai));
 }
Exemplo n.º 53
0
        //public IDistanceDataTrack GetSmoothedDistanceTrack(int seconds, out float min, out float max)
        //{
        //    IDistanceDataTrack distanceTrack;
        //    if (record.Activity.DistanceMetersTrack != null)
        //    {
        //        // #1 Use Distance track from activity
        //        distanceTrack = record.Activity.DistanceMetersTrack;
        //    }
        //    else
        //    {
        //        if (record.Activity.GPSRoute != null)
        //        {
        //            // #2 Otherwise create a distance track from GPS
        //            distanceTrack = Utilities.CreateDistanceDataTrack(record.Activity);
        //            return Utilities.STSmooth(distanceTrack, seconds, min, max);
        //        }
        //        else
        //        {
        //            // Else, no distance track, and cannot create one.
        //            distanceTrack = new DistanceDataTrack();
        //        }
        //    }
        //}

        //public INumericTimeDataSeries GetSmoothedGradeTrack(int seconds, out float min, out float max)
        //{
        //    NumericTimeDataSeries gradeTrack = new NumericTimeDataSeries();
        //    for (int i = 0; i < record.Activity.ElevationMetersTrack.Count; i++)
        //    {
        //        if (i == 0)
        //        {
        //            gradeTrack.Add(record.Activity.ElevationMetersTrack[i].ElapsedSeconds, 0);
        //        }
        //    }
        //}

        #region Constructors

        public Feature(IActivity activity, feature_type type, DateTime inStartTime, DateTime inEndTime)
        {
            startTime        = inStartTime;
            endTime          = inEndTime;
            added            = false;
            hillNumber       = 0;
            _feature_type    = type;
            masterActivityID = activity.ReferenceId;

            // Default fill and line color
            fillColor     = Color.FromArgb(125, 146, 94, 9);
            lineColor     = Color.FromArgb(255, 146, 94, 9);
            lineWidth     = 1;
            selectedColor = Color.Empty;
            routeWidth    = PluginMain.GetApplication().SystemPreferences.RouteSettings.RouteWidth;

            IGPSRoute recordGPS = new GPSRoute();
            INumericTimeDataSeries recordHRTrack = new NumericTimeDataSeries();
            INumericTimeDataSeries pwrTrack      = new NumericTimeDataSeries();
            INumericTimeDataSeries elevTrack     = new NumericTimeDataSeries();
            INumericTimeDataSeries cadTrack      = new NumericTimeDataSeries();
            IDistanceDataTrack     distTrack     = new DistanceDataTrack();
            RecordCategory         category      = new RecordCategory();

            ActivityInfo ai    = ActivityInfoCache.Instance.GetInfo(activity);
            DateTime     start = activity.StartTime;

            if (activity.GPSRoute != null)
            {
                // Check and make sure the route has points
                if (activity.GPSRoute.Count > 0)
                {
                    // If the time passed in is before the start of the gps track, get the first value
                    if (activity.GPSRoute.StartTime > inStartTime)
                    {
                        startPoint = activity.GPSRoute[0].Value;
                    }
                    else
                    {
                        // Set the start point
                        ITimeValueEntry <IGPSPoint> sPoint = activity.GPSRoute.GetInterpolatedValue(inStartTime);
                        if (sPoint != null)
                        {
                            startPoint = sPoint.Value;
                        }
                    }

                    // If the time passed in is after the end of the gps track, get the last value
                    if (activity.GPSRoute.StartTime.AddSeconds(activity.GPSRoute[activity.GPSRoute.Count - 1].ElapsedSeconds) < inEndTime)
                    {
                        endPoint = activity.GPSRoute[activity.GPSRoute.Count - 1].Value;
                    }
                    else
                    {
                        // Set the end point
                        ITimeValueEntry <IGPSPoint> ePoint = activity.GPSRoute.GetInterpolatedValue(inEndTime);
                        if (ePoint != null)
                        {
                            endPoint = ePoint.Value;
                        }
                    }
                }


                // Create the GPSRoute
                for (int i = 0; i < activity.GPSRoute.Count; i++)
                {
                    if (activity.GPSRoute.StartTime.AddSeconds(activity.GPSRoute[i].ElapsedSeconds) >= inStartTime &&
                        activity.GPSRoute.StartTime.AddSeconds(activity.GPSRoute[i].ElapsedSeconds) <= inEndTime)
                    {
                        recordGPS.Add(activity.GPSRoute.StartTime.AddSeconds(activity.GPSRoute[i].ElapsedSeconds), activity.GPSRoute[i].Value);
                    }
                }
            }

            // Create the Distance Track
            INumericTimeDataSeries allDistanceTrack  = ai.MovingDistanceMetersTrack; // Utilities.GetDistanceTrack(activity);
            INumericTimeDataSeries allElevationTrack = ai.SmoothedElevationTrack;    // Utilities.GetElevationTrack(activity);

            // Work your way through the moving meters track to create all others
            if (allDistanceTrack != null)
            {
                for (int i = 0; i < allDistanceTrack.Count; i++)
                {
                    DateTime time = allDistanceTrack.StartTime.AddSeconds(allDistanceTrack[i].ElapsedSeconds);
                    if (time >= inStartTime &&
                        time <= inEndTime)
                    {
                        // Add the distance point
                        distTrack.Add(time, allDistanceTrack[i].Value);
                        ITimeValueEntry <float> point = null;

                        // Find the elevation point at this time and add it
                        if (allElevationTrack != null && allElevationTrack.Count > 0)
                        {
                            point = allElevationTrack.GetInterpolatedValue(time);
                            if (point != null)
                            {
                                elevTrack.Add(time, point.Value);
                            }
                        }

                        // Find the HR point at this time and add it
                        if (activity.HeartRatePerMinuteTrack != null && activity.HeartRatePerMinuteTrack.Count > 0)
                        {
                            point = activity.HeartRatePerMinuteTrack.GetInterpolatedValue(time);
                            if (point != null)
                            {
                                recordHRTrack.Add(time, point.Value);
                            }
                        }

                        // Find the power point at this time and add it
                        if (activity.PowerWattsTrack != null && activity.PowerWattsTrack.Count > 0)
                        {
                            point = activity.PowerWattsTrack.GetInterpolatedValue(time);
                            if (point != null)
                            {
                                pwrTrack.Add(time, point.Value);
                            }
                        }

                        // Find the cadence point at this time and add it
                        if (activity.CadencePerMinuteTrack != null && activity.CadencePerMinuteTrack.Count > 0)
                        {
                            point = activity.CadencePerMinuteTrack.GetInterpolatedValue(time);
                            if (point != null)
                            {
                                cadTrack.Add(time, point.Value);
                            }
                        }
                    }
                    else if (allDistanceTrack.StartTime.AddSeconds(allDistanceTrack[i].ElapsedSeconds) > inEndTime)
                    {
                        break;
                    }
                }
            }

            // Get the start/end distance
            if (distTrack != null && distTrack.Count > 0)
            {
                startDistance = distTrack[0].Value;
                endDistance   = distTrack[distTrack.Count - 1].Value;
            }
            else
            {
                startDistance = 0;
                endDistance   = 0;
            }

            // Get the start/end elevation
            if (elevTrack != null && elevTrack.Count > 0)
            {
                startElevation = elevTrack[0].Value;
                endElevation   = elevTrack[elevTrack.Count - 1].Value;
            }
            else
            {
                startElevation = 0;
                endElevation   = 0;
            }

            // Build the record
            record = new Record(activity, category, recordGPS, recordHRTrack, pwrTrack, cadTrack, distTrack, elevTrack, inStartTime);

            // Create a reference id for this hill
            refId = Guid.NewGuid().ToString("D");

            double distanceX = endDistance - startDistance;

            distance = distanceX;

            double elev = endElevation - startElevation;

            elevGain = elev;

            // Find the start percents from the distance track
            if (allDistanceTrack != null && allDistanceTrack.Count > 0)
            {
                startPercentDistance = startDistance / allDistanceTrack[allDistanceTrack.Count - 1].Value;
                endPercentDistance   = endDistance / allDistanceTrack[allDistanceTrack.Count - 1].Value;

                startPercentTime = ((inStartTime - allDistanceTrack.StartTime).TotalSeconds / allDistanceTrack[allDistanceTrack.Count - 1].ElapsedSeconds);
                endPercentTime   = ((inEndTime - allDistanceTrack.StartTime).TotalSeconds / allDistanceTrack[allDistanceTrack.Count - 1].ElapsedSeconds);
            }

            // Calculate the VAM (Velocity Ascended, Meters per hour)
            // Calculate the W/kg (Relative power)
            vam = 0;
            wKg = 0;
            if (elevGain > 0)
            {
                vam = (elevGain * 60f * 60f) / record.TotalTime.TotalSeconds;
                wKg = vam / ((2 + (avgGrade * 10f)) * 100f);
            }

            ActivityInfo aiRec = ActivityInfoCache.Instance.GetInfo(record.Activity);

            stoppedTime = aiRec.TimeNotMoving;
        }
Exemplo n.º 54
0
        /// <summary>
        /// Called on work item begins.  The activity name = providerName + activityName without 'Start' suffix.
        /// It updates CurrentActivityId to track.
        ///
        /// It returns true if the Start should be logged, otherwise (if it is illegal recursion) it return false.
        ///
        /// The start event should use as its activity ID the CurrentActivityId AFTER calling this routine and its
        /// RelatedActivityID the CurrentActivityId BEFORE calling this routine (the creator).
        ///
        /// If activity tracing is not on, then activityId and relatedActivityId are not set
        /// </summary>
        public void OnStart(string providerName, string activityName, int task, ref Guid activityId, ref Guid relatedActivityId, EventActivityOptions options)
        {
            if (m_current == null)        // We are not enabled
            {
                // We  used to rely on the TPL provider turning us on, but that has the disadvantage that you don't get Start-Stop tracking
                // until you use Tasks for the first time (which you may never do).   Thus we change it to pull rather tan push for whether
                // we are enabled.
                if (m_checkedForEnable)
                {
                    return;
                }
                m_checkedForEnable = true;
                if (TplEtwProvider.Log.IsEnabled(EventLevel.Informational, TplEtwProvider.Keywords.TasksFlowActivityIds))
                {
                    Enable();
                }
                if (m_current == null)
                {
                    return;
                }
            }


            Contract.Assert((options & EventActivityOptions.Disable) == 0);

            var currentActivity  = m_current.Value;
            var fullActivityName = NormalizeActivityName(providerName, activityName, task);

            var etwLog = TplEtwProvider.Log;

            if (etwLog.Debug)
            {
                etwLog.DebugFacilityMessage("OnStartEnter", fullActivityName);
                etwLog.DebugFacilityMessage("OnStartEnterActivityState", ActivityInfo.LiveActivities(currentActivity));
            }

            if (currentActivity != null)
            {
                // Stop activity tracking if we reached the maximum allowed depth
                if (currentActivity.m_level >= MAX_ACTIVITY_DEPTH)
                {
                    activityId        = Guid.Empty;
                    relatedActivityId = Guid.Empty;
                    if (etwLog.Debug)
                    {
                        etwLog.DebugFacilityMessage("OnStartRET", "Fail");
                    }
                    return;
                }
                // Check for recursion, and force-stop any activities if the activity already started.
                if ((options & EventActivityOptions.Recursive) == 0)
                {
                    ActivityInfo existingActivity = FindActiveActivity(fullActivityName, currentActivity);
                    if (existingActivity != null)
                    {
                        OnStop(providerName, activityName, task, ref activityId);
                        currentActivity = m_current.Value;
                    }
                }
            }

            // Get a unique ID for this activity.
            long id;

            if (currentActivity == null)
            {
                id = Interlocked.Increment(ref m_nextId);
            }
            else
            {
                id = Interlocked.Increment(ref currentActivity.m_lastChildID);
            }

            // The previous ID is my 'causer' and becomes my related activity ID
            relatedActivityId = EventSource.CurrentThreadActivityId;

            // Add to the list of started but not stopped activities.
            ActivityInfo newActivity = new ActivityInfo(fullActivityName, id, currentActivity, relatedActivityId, options);

            m_current.Value = newActivity;

            // Remember the current ID so we can log it
            activityId = newActivity.ActivityId;

            if (etwLog.Debug)
            {
                etwLog.DebugFacilityMessage("OnStartRetActivityState", ActivityInfo.LiveActivities(newActivity));
                etwLog.DebugFacilityMessage1("OnStartRet", activityId.ToString(), relatedActivityId.ToString());
            }
        }
 public override bool LoadData(ActivityInfo ai)
 {
     return uc.LoadData(ai);
 }
Exemplo n.º 56
0
        /// <summary>
        /// Called when a work item stops.  The activity name = providerName + activityName without 'Stop' suffix.
        /// It updates m_current variable to track this fact.   The Stop event associated with stop should log the ActivityID associated with the event.
        ///
        /// If activity tracing is not on, then activityId and relatedActivityId are not set
        /// </summary>
        public void OnStop(string providerName, string activityName, int task, ref Guid activityId, bool useTplSource = true)
        {
            if (m_current == null)        // We are not enabled
            {
                return;
            }

            string fullActivityName = NormalizeActivityName(providerName, activityName, task);

            TplEventSource?log      = useTplSource ? TplEventSource.Log : null;
            bool           tplDebug = log != null && log.Debug;

            if (tplDebug)
            {
                log !.DebugFacilityMessage("OnStopEnter", fullActivityName);
                log !.DebugFacilityMessage("OnStopEnterActivityState", ActivityInfo.LiveActivities(m_current.Value));
            }

            while (true) // This is a retry loop.
            {
                ActivityInfo?currentActivity    = m_current.Value;
                ActivityInfo?newCurrentActivity = null;                // if we have seen any live activities (orphans), at he first one we have seen.

                // Search to find the activity to stop in one pass.   This insures that we don't let one mistake
                // (stopping something that was not started) cause all active starts to be stopped
                // By first finding the target start to stop we are more robust.
                ActivityInfo?activityToStop = FindActiveActivity(fullActivityName, currentActivity);

                // ignore stops where we can't find a start because we may have popped them previously.
                if (activityToStop == null)
                {
                    activityId = Guid.Empty;
                    // TODO add some logging about this. Basically could not find matching start.
                    if (tplDebug)
                    {
                        log !.DebugFacilityMessage("OnStopRET", "Fail");
                    }
                    return;
                }

                activityId = activityToStop.ActivityId;

                // See if there are any orphans that need to be stopped.
                ActivityInfo?orphan = currentActivity;
                while (orphan != activityToStop && orphan != null)
                {
                    if (orphan.m_stopped != 0)      // Skip dead activities.
                    {
                        orphan = orphan.m_creator;
                        continue;
                    }
                    if (orphan.CanBeOrphan())
                    {
                        // We can't pop anything after we see a valid orphan, remember this for later when we update m_current.
                        newCurrentActivity ??= orphan;
                    }
                    else
                    {
                        orphan.m_stopped = 1;
                        Debug.Assert(orphan.m_stopped != 0);
                    }
                    orphan = orphan.m_creator;
                }

                // try to Stop the activity atomically.  Other threads may be trying to do this as well.
                if (Interlocked.CompareExchange(ref activityToStop.m_stopped, 1, 0) == 0)
                {
                    // I succeeded stopping this activity. Now we update our m_current pointer

                    // If I haven't yet determined the new current activity, it is my creator.
                    newCurrentActivity ??= activityToStop.m_creator;

                    m_current.Value = newCurrentActivity;

                    if (tplDebug)
                    {
                        log !.DebugFacilityMessage("OnStopRetActivityState", ActivityInfo.LiveActivities(newCurrentActivity));
                        log !.DebugFacilityMessage("OnStopRet", activityId.ToString());
                    }
                    return;
                }
                // We failed to stop it.  We must have hit a race to stop it.  Just start over and try again.
            }
        }
Exemplo n.º 57
0
 /// <summary>
 /// Saves the specified activity information.
 /// </summary>
 /// <param name="activityInfo">The activity information.</param>
 public void Save(ActivityInfo activityInfo)
 {
     Requires.NotNull(activityInfo, nameof(activityInfo));
     _requestManager.SaveActivityAsync(activityInfo);
 }
Exemplo n.º 58
0
        private AbstractResponse GetKeyResponse(string key, AbstractRequest request)
        {
            System.Collections.Generic.IList <ReplyInfo> replies = ReplyHelper.GetReplies(ReplyType.Topic);
            AbstractResponse result;

            if (replies != null && replies.Count > 0)
            {
                foreach (ReplyInfo info in replies)
                {
                    if (info.Keys == key)
                    {
                        TopicInfo topic = VShopHelper.Gettopic(info.ActivityId);
                        if (topic != null)
                        {
                            NewsResponse response = new NewsResponse
                            {
                                CreateTime   = System.DateTime.Now,
                                FromUserName = request.ToUserName,
                                ToUserName   = request.FromUserName,
                                Articles     = new System.Collections.Generic.List <Article>()
                            };
                            Article item = new Article
                            {
                                Description = topic.Title,
                                PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, topic.IconUrl),
                                Title       = topic.Title,
                                Url         = string.Format("http://{0}/vshop/Topics.aspx?TopicId={1}", System.Web.HttpContext.Current.Request.Url.Host, topic.TopicId)
                            };
                            response.Articles.Add(item);
                            result = response;
                            return(result);
                        }
                    }
                }
            }
            System.Collections.Generic.IList <ReplyInfo> list2 = ReplyHelper.GetReplies(ReplyType.Vote);
            if (list2 != null && list2.Count > 0)
            {
                foreach (ReplyInfo info2 in list2)
                {
                    if (info2.Keys == key)
                    {
                        VoteInfo voteById = StoreHelper.GetVoteById((long)info2.ActivityId);
                        if (voteById != null && voteById.IsBackup)
                        {
                            NewsResponse response2 = new NewsResponse
                            {
                                CreateTime   = System.DateTime.Now,
                                FromUserName = request.ToUserName,
                                ToUserName   = request.FromUserName,
                                Articles     = new System.Collections.Generic.List <Article>()
                            };
                            Article article2 = new Article
                            {
                                Description = voteById.VoteName,
                                PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, voteById.ImageUrl),
                                Title       = voteById.VoteName,
                                Url         = string.Format("http://{0}/vshop/Vote.aspx?voteId={1}", System.Web.HttpContext.Current.Request.Url.Host, voteById.VoteId)
                            };
                            response2.Articles.Add(article2);
                            result = response2;
                            return(result);
                        }
                    }
                }
            }
            System.Collections.Generic.IList <ReplyInfo> list3 = ReplyHelper.GetReplies(ReplyType.Wheel);
            if (list3 != null && list3.Count > 0)
            {
                foreach (ReplyInfo info3 in list3)
                {
                    if (info3.Keys == key)
                    {
                        LotteryActivityInfo lotteryActivityInfo = VShopHelper.GetLotteryActivityInfo(info3.ActivityId);
                        if (lotteryActivityInfo != null)
                        {
                            NewsResponse response3 = new NewsResponse
                            {
                                CreateTime   = System.DateTime.Now,
                                FromUserName = request.ToUserName,
                                ToUserName   = request.FromUserName,
                                Articles     = new System.Collections.Generic.List <Article>()
                            };
                            Article article3 = new Article
                            {
                                Description = lotteryActivityInfo.ActivityDesc,
                                PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityPic),
                                Title       = lotteryActivityInfo.ActivityName,
                                Url         = string.Format("http://{0}/vshop/BigWheel.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryActivityInfo.ActivityId)
                            };
                            response3.Articles.Add(article3);
                            result = response3;
                            return(result);
                        }
                    }
                }
            }
            System.Collections.Generic.IList <ReplyInfo> list4 = ReplyHelper.GetReplies(ReplyType.Scratch);
            if (list4 != null && list4.Count > 0)
            {
                foreach (ReplyInfo info4 in list4)
                {
                    if (info4.Keys == key)
                    {
                        LotteryActivityInfo info5 = VShopHelper.GetLotteryActivityInfo(info4.ActivityId);
                        if (info5 != null)
                        {
                            NewsResponse response4 = new NewsResponse
                            {
                                CreateTime   = System.DateTime.Now,
                                FromUserName = request.ToUserName,
                                ToUserName   = request.FromUserName,
                                Articles     = new System.Collections.Generic.List <Article>()
                            };
                            Article article4 = new Article
                            {
                                Description = info5.ActivityDesc,
                                PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, info5.ActivityPic),
                                Title       = info5.ActivityName,
                                Url         = string.Format("http://{0}/vshop/Scratch.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, info5.ActivityId)
                            };
                            response4.Articles.Add(article4);
                            result = response4;
                            return(result);
                        }
                    }
                }
            }
            System.Collections.Generic.IList <ReplyInfo> list5 = ReplyHelper.GetReplies(ReplyType.SmashEgg);
            if (list5 != null && list5.Count > 0)
            {
                foreach (ReplyInfo info6 in list5)
                {
                    if (info6.Keys == key)
                    {
                        LotteryActivityInfo info7 = VShopHelper.GetLotteryActivityInfo(info6.ActivityId);
                        if (info7 != null)
                        {
                            NewsResponse response5 = new NewsResponse
                            {
                                CreateTime   = System.DateTime.Now,
                                FromUserName = request.ToUserName,
                                ToUserName   = request.FromUserName,
                                Articles     = new System.Collections.Generic.List <Article>()
                            };
                            Article article5 = new Article
                            {
                                Description = info7.ActivityDesc,
                                PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, info7.ActivityPic),
                                Title       = info7.ActivityName,
                                Url         = string.Format("http://{0}/vshop/SmashEgg.aspx?activityId={1}", System.Web.HttpContext.Current.Request.Url.Host, info7.ActivityId)
                            };
                            response5.Articles.Add(article5);
                            result = response5;
                            return(result);
                        }
                    }
                }
            }
            System.Collections.Generic.IList <ReplyInfo> list6 = ReplyHelper.GetReplies(ReplyType.SignUp);
            if (list6 != null && list6.Count > 0)
            {
                foreach (ReplyInfo info8 in list6)
                {
                    if (info8.Keys == key)
                    {
                        ActivityInfo activity = VShopHelper.GetActivity(info8.ActivityId);
                        if (activity != null)
                        {
                            NewsResponse response6 = new NewsResponse
                            {
                                CreateTime   = System.DateTime.Now,
                                FromUserName = request.ToUserName,
                                ToUserName   = request.FromUserName,
                                Articles     = new System.Collections.Generic.List <Article>()
                            };
                            Article article6 = new Article
                            {
                                Description = activity.Description,
                                PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, activity.PicUrl),
                                Title       = activity.Name,
                                Url         = string.Format("http://{0}/vshop/Activity.aspx?id={1}", System.Web.HttpContext.Current.Request.Url.Host, activity.ActivityId)
                            };
                            response6.Articles.Add(article6);
                            result = response6;
                            return(result);
                        }
                    }
                }
            }
            System.Collections.Generic.IList <ReplyInfo> list7 = ReplyHelper.GetReplies(ReplyType.Ticket);
            if (list7 != null && list7.Count > 0)
            {
                foreach (ReplyInfo info9 in list7)
                {
                    if (info9.Keys == key)
                    {
                        LotteryTicketInfo lotteryTicket = VShopHelper.GetLotteryTicket(info9.ActivityId);
                        if (lotteryTicket != null)
                        {
                            NewsResponse response7 = new NewsResponse
                            {
                                CreateTime   = System.DateTime.Now,
                                FromUserName = request.ToUserName,
                                ToUserName   = request.FromUserName,
                                Articles     = new System.Collections.Generic.List <Article>()
                            };
                            Article article7 = new Article
                            {
                                Description = lotteryTicket.ActivityDesc,
                                PicUrl      = string.Format("http://{0}{1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityPic),
                                Title       = lotteryTicket.ActivityName,
                                Url         = string.Format("http://{0}/vshop/SignUp.aspx?id={1}", System.Web.HttpContext.Current.Request.Url.Host, lotteryTicket.ActivityId)
                            };
                            response7.Articles.Add(article7);
                            result = response7;
                            return(result);
                        }
                    }
                }
            }
            result = null;
            return(result);
        }
Exemplo n.º 59
0
        protected void BindPrizeList()
        {
            this.type       = base.Request.QueryString["typeid"].ToInt(0);
            this.alist.HRef = "NewLotteryActivity?type=" + this.type;
            switch (this.type)
            {
            case 1:
            {
                Literal litListTitle4 = this.LitListTitle;
                Literal litTitle4     = this.LitTitle;
                string  text3         = litListTitle4.Text = (litTitle4.Text = "大转盘");
                break;
            }

            case 2:
            {
                Literal litListTitle3 = this.LitListTitle;
                Literal litTitle3     = this.LitTitle;
                string  text3         = litListTitle3.Text = (litTitle3.Text = "刮刮卡");
                break;
            }

            case 3:
            {
                Literal litListTitle2 = this.LitListTitle;
                Literal litTitle2     = this.LitTitle;
                string  text3         = litListTitle2.Text = (litTitle2.Text = "砸金蛋");
                break;
            }

            case 4:
            {
                Literal litListTitle = this.LitListTitle;
                Literal litTitle     = this.LitTitle;
                string  text3        = litListTitle.Text = (litTitle.Text = "微抽奖");
                this.alist.HRef = "ManageLotteryTicket.aspx";
                break;
            }
            }
            if (!int.TryParse(this.Page.Request.QueryString["Status"], out this.OrderStatus))
            {
                this.OrderStatus = 0;
            }
            this.userName   = this.Page.Request.QueryString["userName"];
            this.AwardGrade = this.Page.Request.QueryString["awardGrade"].ToInt(0);
            this.selectAwardItem.Items.FindByValue(this.AwardGrade.ToNullString()).Selected = true;
            DataTable dataTable = ActivityHelper.ActivityStatistics(this.activeid).Tables[0];

            if (dataTable.Rows.Count > 0)
            {
                HtmlGenericControl htmlGenericControl = this.lbTotal;
                int num = dataTable.Rows[0]["JoinUsers"].ToInt(0);
                htmlGenericControl.InnerText = num.ToString();
                HtmlGenericControl htmlGenericControl2 = this.lbCount;
                num = dataTable.Rows[0]["AllJoinNum"].ToInt(0);
                htmlGenericControl2.InnerText = num.ToString();
                HtmlGenericControl htmlGenericControl3 = this.lbWinCount;
                num = dataTable.Rows[0]["AllWinningNum"].ToInt(0);
                htmlGenericControl3.InnerText = num.ToString();
                HtmlGenericControl htmlGenericControl4 = this.lbGetCount;
                num = dataTable.Rows[0]["AlreadyReceive"].ToInt(0);
                htmlGenericControl4.InnerText = num.ToString();
            }
            ActivityInfo activityInfo = ActivityHelper.GetActivityInfo(this.activeid);
            string       str          = (activityInfo.ActivityName.Length > 25) ? (activityInfo.ActivityName.Substring(0, 25) + "...") : activityInfo.ActivityName;

            this.Literal1.Text = "\"" + str + "\"中奖信息";
        }
Exemplo n.º 60
0
 protected AddActivity() : base("m08", "yxp05")
 {
     this._act  = new ActivityInfo();
     this._json = "";
 }