コード例 #1
0
    private string GetWaitingToSelectWinnerInfoMessage(IssueInfo issue, ABTestWinnerSelectionEnum winnerOption)
    {
        // Get current planned winner selection task
        var taskToSelectWinner         = TaskInfo.Provider.Get(mABTest.TestWinnerScheduledTaskID);
        var plannedWinnerSelectionTime = taskToSelectWinner?.TaskNextRunTime ?? DateTimeHelper.ZERO_TIME;

        switch (winnerOption)
        {
        case ABTestWinnerSelectionEnum.Manual:
            if (issue.IssueMailoutTime > DateTime.Now)
            {
                return(String.Format(GetString("newsletterinfo.issuesentwaitingtosentwinner"), GetTimeOrNA(issue.IssueMailoutTime), GetWinnerSelectionTime()));
            }
            return(String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnermanually"), GetTimeOrNA(issue.IssueMailoutTime)));

        case ABTestWinnerSelectionEnum.OpenRate:
            return(String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinneropen"), GetTimeOrNA(issue.IssueMailoutTime), GetTimeOrNA(plannedWinnerSelectionTime)));

        case ABTestWinnerSelectionEnum.TotalUniqueClicks:
            return(String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnerclicks"), GetTimeOrNA(issue.IssueMailoutTime), GetTimeOrNA(plannedWinnerSelectionTime)));

        default:
            return(null);
        }
    }
コード例 #2
0
 /// <summary>
 /// Load specified option to controls.
 /// </summary>
 /// <param name="winnerSelection">Winner selection option</param>
 private void SetWinnerSelection(ABTestWinnerSelectionEnum winnerSelection)
 {
     radClicks.Checked   = radOpen.Checked = radManually.Checked = false;
     radClicks.Checked   = winnerSelection == ABTestWinnerSelectionEnum.TotalUniqueClicks;
     radOpen.Checked     = winnerSelection == ABTestWinnerSelectionEnum.OpenRate;
     radManually.Checked = winnerSelection == ABTestWinnerSelectionEnum.Manual;
 }
コード例 #3
0
    /// <summary>
    /// Returns information message according to current state, issue and A/B test.
    /// </summary>
    /// <param name="currState">Current state</param>
    /// <param name="issue">Issue</param>
    /// <param name="winnerOption">Winner option</param>
    private string GetInfoMessage(VariantStatusEnum currState, IssueInfo issue, ABTestWinnerSelectionEnum winnerOption)
    {
        if (issue == null)
        {
            return(null);
        }

        switch (currState)
        {
        case VariantStatusEnum.WaitingToSend:
            return(GetString("Newsletter_Issue_Header.NotSentYet"));

        case VariantStatusEnum.WaitingToSelectWinner:
            return(GetWaitingToSelectWinnerInfoMessage(issue, winnerOption));

        case VariantStatusEnum.ReadyForSending:
            return(String.Format(GetString("newsletterinfo.issuescheduledwinnerselmanually"), GetTimeOrNA(issue.IssueMailoutTime), GetWinnerSelectionTime()));

        case VariantStatusEnum.ReadyForTesting:
            return(GetReadyForTestingInfoMessage(winnerOption));

        case VariantStatusEnum.Finished:
            return(GetFinishedInfoMessage(issue, winnerOption));

        default:
            return(null);
        }
    }
コード例 #4
0
    /// <summary>
    /// Returns information message according to current state, issue and A/B test.
    /// </summary>
    /// <param name="currState">Current state</param>
    /// <param name="issue">Issue</param>
    /// <param name="winnerOption">Winner option</param>
    /// <param name="plannedMailoutTime">Planned mailout time</param>
    private string GetInfoMessage(int currState, IssueInfo issue, ABTestWinnerSelectionEnum winnerOption, DateTime plannedMailoutTime)
    {
        if (issue == null)
        {
            return(null);
        }

        switch (currState)
        {
        case STATE_WAITING_TO_SEND_WIZARD:
            return(null);

        case STATE_WAITING_TO_SEND_PAGE:
            return(GetString("Newsletter_Issue_Header.NotSentYet"));

        case STATE_TEST_WAITING_TO_SEL_WINNER:

            // Get current planned winner selection task
            var taskToSelectWinner         = TaskInfoProvider.GetTaskInfo(mABTest.TestWinnerScheduledTaskID);
            var plannedWinnerSelectionTime = (taskToSelectWinner == null) ? DateTimeHelper.ZERO_TIME : taskToSelectWinner.TaskNextRunTime;

            switch (winnerOption)
            {
            case ABTestWinnerSelectionEnum.Manual:
                if (issue.IssueMailoutTime > DateTime.Now)
                {
                    return(String.Format(GetString("newsletterinfo.issuesentwaitingtosentwinner"), GetTimeOrNA(issue.IssueMailoutTime), GetWinnerSelectionTime()));
                }
                return(String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnermanually"), GetTimeOrNA(issue.IssueMailoutTime)));

            case ABTestWinnerSelectionEnum.OpenRate:
                return(String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinneropen"), GetTimeOrNA(issue.IssueMailoutTime), GetTimeOrNA(plannedWinnerSelectionTime)));

            case ABTestWinnerSelectionEnum.TotalUniqueClicks:
                return(String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnerclicks"), GetTimeOrNA(issue.IssueMailoutTime), GetTimeOrNA(plannedWinnerSelectionTime)));
            }
            break;

        case STATE_TEST_READY_FOR_SENDING:
            return(String.Format(GetString("newsletter_issue_header.issuesending"), GetTimeOrNA(plannedMailoutTime)));

        case STATE_TEST_FINISHED:
            switch (winnerOption)
            {
            case ABTestWinnerSelectionEnum.Manual:
                return(String.Format(GetString("newsletterinfo.issuesentwinnerselmanually"), GetTimeOrNA(issue.IssueMailoutTime), GetWinnerSelectionTime()));

            case ABTestWinnerSelectionEnum.OpenRate:
                return(String.Format(GetString("newsletterinfo.issuesentwinnerselopen"), GetWinnerSelectionTime()));

            case ABTestWinnerSelectionEnum.TotalUniqueClicks:
                return(String.Format(GetString("newsletterinfo.issuesentwinnerselclicks"), GetWinnerSelectionTime()));
            }
            break;
        }
        return(null);
    }
コード例 #5
0
    private string GetReadyForTestingInfoMessage(ABTestWinnerSelectionEnum winnerOption)
    {
        if (winnerOption.Equals(ABTestWinnerSelectionEnum.Manual))
        {
            return GetString("newsletter_issue_header.issuesending.manualwinner");
        }

        var plannedMailoutTime = GetPlannedMailoutTime(ucMailout.HighestMailoutTime);
        return String.Format(GetString("newsletter_issue_header.issuesending"), GetTimeOrNA(plannedMailoutTime));
    }
コード例 #6
0
    /// <summary>
    /// Returns information message according to current state, issue and A/B test.
    /// </summary>
    /// <param name="currState">Current state</param>
    /// <param name="issue">Issue</param>
    /// <param name="winnerOption">Winner option</param>
    private string GetInfoMessage(int currState, IssueInfo issue, ABTestWinnerSelectionEnum winnerOption, DateTime plannedMailoutTime)
    {
        if (issue == null)
        {
            return(null);
        }

        switch (currState)
        {
        case STATE_WAITING_TO_SEND_WIZARD:
            return(null);

        case STATE_WAITING_TO_SEND_PAGE:
            return(GetString("Newsletter_Issue_Header.NotSentYet"));

        case STATE_TEST_WAITING_TO_SEL_WINNER:
            switch (winnerOption)
            {
            case ABTestWinnerSelectionEnum.Manual:
                if (issue.IssueMailoutTime > DateTime.Now)
                {
                    return(String.Format(GetString("newsletterinfo.issuesentwaitingtosentwinner"), issue.IssueMailoutTime, (abTest != null ? abTest.TestWinnerSelected.ToString() : GetString("general.na"))));
                }
                else
                {
                    return(String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnermanually"), issue.IssueMailoutTime));
                }

            case ABTestWinnerSelectionEnum.OpenRate:
                return(String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinneropen"), issue.IssueMailoutTime, plannedMailoutTime));

            case ABTestWinnerSelectionEnum.TotalUniqueClicks:
                return(String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnerclicks"), issue.IssueMailoutTime, plannedMailoutTime));
            }
            break;

        case STATE_TEST_READY_FOR_SENDING:
            return(String.Format(GetString("newsletter_issue_header.issuesending"), plannedMailoutTime));

        case STATE_TEST_FINISHED:
            switch (winnerOption)
            {
            case ABTestWinnerSelectionEnum.Manual:
                return(String.Format(GetString("newsletterinfo.issuesentwinnerselmanually"), issue.IssueMailoutTime, (abTest != null ? abTest.TestWinnerSelected.ToString() : GetString("general.na"))));

            case ABTestWinnerSelectionEnum.OpenRate:
                return(String.Format(GetString("newsletterinfo.issuesentwinnerselopen"), (abTest != null ? abTest.TestWinnerSelected.ToString() : GetString("general.na"))));

            case ABTestWinnerSelectionEnum.TotalUniqueClicks:
                return(String.Format(GetString("newsletterinfo.issuesentwinnerselclicks"), (abTest != null ? abTest.TestWinnerSelected.ToString() : GetString("general.na"))));
            }
            break;
        }
        return(null);
    }
コード例 #7
0
 private string GetFinishedInfoMessage(IssueInfo issue, ABTestWinnerSelectionEnum winnerOption)
 {
     switch (winnerOption)
     {
         case ABTestWinnerSelectionEnum.Manual:
             return String.Format(GetString("newsletterinfo.issuesentwinnerselmanually"), GetTimeOrNA(issue.IssueMailoutTime), GetWinnerSelectionTime());
         case ABTestWinnerSelectionEnum.OpenRate:
             return String.Format(GetString("newsletterinfo.issuesentwinnerselopen"), GetWinnerSelectionTime());
         case ABTestWinnerSelectionEnum.TotalUniqueClicks:
             return String.Format(GetString("newsletterinfo.issuesentwinnerselclicks"), GetWinnerSelectionTime());
         default:
             return null;
     }
 }
コード例 #8
0
    /// <summary>
    /// Returns information message according to current state, issue and A/B test.
    /// </summary>
    /// <param name="currState">Current state</param>
    /// <param name="issue">Issue</param>
    /// <param name="winnerOption">Winner option</param>
    private string GetInfoMessage(int currState, IssueInfo issue, ABTestWinnerSelectionEnum winnerOption, DateTime plannedMailoutTime)
    {
        if (issue == null)
        {
            return null;
        }

        switch (currState)
        {
            case STATE_WAITING_TO_SEND_WIZARD:
                return null;
            case STATE_WAITING_TO_SEND_PAGE:
                return GetString("Newsletter_Issue_Header.NotSentYet");
            case STATE_TEST_WAITING_TO_SEL_WINNER:
                switch (winnerOption)
                {
                    case ABTestWinnerSelectionEnum.Manual:
                        if (issue.IssueMailoutTime > DateTime.Now)
                        {
                            return String.Format(GetString("newsletterinfo.issuesentwaitingtosentwinner"), issue.IssueMailoutTime, (abTest != null ? abTest.TestWinnerSelected.ToString() : GetString("general.na")));
                        }
                        else
                        {
                            return String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnermanually"), issue.IssueMailoutTime);
                        }
                    case ABTestWinnerSelectionEnum.OpenRate:
                        return String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinneropen"), issue.IssueMailoutTime, plannedMailoutTime);
                    case ABTestWinnerSelectionEnum.TotalUniqueClicks:
                        return String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnerclicks"), issue.IssueMailoutTime, plannedMailoutTime);
                }
                break;
            case STATE_TEST_READY_FOR_SENDING:
                return String.Format(GetString("newsletter_issue_header.issuesending"), plannedMailoutTime);
            case STATE_TEST_FINISHED:
                switch (winnerOption)
                {
                    case ABTestWinnerSelectionEnum.Manual:
                        return String.Format(GetString("newsletterinfo.issuesentwinnerselmanually"), issue.IssueMailoutTime, (abTest != null ? abTest.TestWinnerSelected.ToString() : GetString("general.na")));
                    case ABTestWinnerSelectionEnum.OpenRate:
                        return String.Format(GetString("newsletterinfo.issuesentwinnerselopen"), (abTest != null ? abTest.TestWinnerSelected.ToString() : GetString("general.na")));
                    case ABTestWinnerSelectionEnum.TotalUniqueClicks:
                        return String.Format(GetString("newsletterinfo.issuesentwinnerselclicks"), (abTest != null ? abTest.TestWinnerSelected.ToString() : GetString("general.na")));
                }
                break;
        }
        return null;
    }
コード例 #9
0
 /// <summary>
 /// Load specified option to controls.
 /// </summary>
 /// <param name="winnerSelection">Winner selection option</param>
 private void SetWinnerSelection(ABTestWinnerSelectionEnum winnerSelection)
 {
     radClicks.Checked = radOpen.Checked = radManually.Checked = false;
     radClicks.Checked = winnerSelection == ABTestWinnerSelectionEnum.TotalUniqueClicks;
     radOpen.Checked = winnerSelection == ABTestWinnerSelectionEnum.OpenRate;
     radManually.Checked = winnerSelection == ABTestWinnerSelectionEnum.Manual;
 }
コード例 #10
0
    /// <summary>
    /// Returns information message according to current state, issue and A/B test.
    /// </summary>
    /// <param name="currState">Current state</param>
    /// <param name="issue">Issue</param>
    /// <param name="winnerOption">Winner option</param>
    /// <param name="plannedMailoutTime">Planned mailout time</param>
    private string GetInfoMessage(int currState, IssueInfo issue, ABTestWinnerSelectionEnum winnerOption, DateTime plannedMailoutTime)
    {
        if (issue == null)
        {
            return null;
        }

        switch (currState)
        {
            case STATE_WAITING_TO_SEND_WIZARD:
                return null;
            case STATE_WAITING_TO_SEND_PAGE:
                return GetString("Newsletter_Issue_Header.NotSentYet");
            case STATE_TEST_WAITING_TO_SEL_WINNER:

                // Get current planned winner selection task
                var taskToSelectWinner = TaskInfoProvider.GetTaskInfo(abTest.TestWinnerScheduledTaskID);
                var plannedWinnerSelectionTime = (taskToSelectWinner == null) ? DateTimeHelper.ZERO_TIME : taskToSelectWinner.TaskNextRunTime;

                switch (winnerOption)
                {
                    case ABTestWinnerSelectionEnum.Manual:
                        if (issue.IssueMailoutTime > DateTime.Now)
                        {
                            return String.Format(GetString("newsletterinfo.issuesentwaitingtosentwinner"), GetTimeOrNA(issue.IssueMailoutTime), GetWinnerSelectionTime());
                        }
                        return String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnermanually"), GetTimeOrNA(issue.IssueMailoutTime));
                    case ABTestWinnerSelectionEnum.OpenRate:
                        return String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinneropen"), GetTimeOrNA(issue.IssueMailoutTime), GetTimeOrNA(plannedWinnerSelectionTime));
                    case ABTestWinnerSelectionEnum.TotalUniqueClicks:
                        return String.Format(GetString("newsletterinfo.issuesentwaitingtoselwinnerclicks"), GetTimeOrNA(issue.IssueMailoutTime), GetTimeOrNA(plannedWinnerSelectionTime));
                }
                break;
            case STATE_TEST_READY_FOR_SENDING:
                return String.Format(GetString("newsletter_issue_header.issuesending"), GetTimeOrNA(plannedMailoutTime));
            case STATE_TEST_FINISHED:
                switch (winnerOption)
                {
                    case ABTestWinnerSelectionEnum.Manual:
                        return String.Format(GetString("newsletterinfo.issuesentwinnerselmanually"), GetTimeOrNA(issue.IssueMailoutTime), GetWinnerSelectionTime());
                    case ABTestWinnerSelectionEnum.OpenRate:
                        return String.Format(GetString("newsletterinfo.issuesentwinnerselopen"), GetWinnerSelectionTime());
                    case ABTestWinnerSelectionEnum.TotalUniqueClicks:
                        return String.Format(GetString("newsletterinfo.issuesentwinnerselclicks"), GetWinnerSelectionTime());
                }
                break;
        }
        return null;
    }