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); } }
/// <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; }
/// <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); } }
/// <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); }
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)); }
/// <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); }
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; } }
/// <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; }
/// <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; }