/// <summary> /// Actions handler. /// </summary> protected void HeaderActions_ActionPerformed(object sender, CommandEventArgs e) { // Check modify permission CheckPermissions("cms.scoring", "modify"); switch (e.CommandName.ToLowerCSafe()) { case "save": if (chkSchedule.Checked) { // Get scheduled interval string scheduleInterval = schedulerInterval.ScheduleInterval; } // Save changes in the contact group EditForm.SaveData(null); break; case "recalculate": if (EditForm.EditedObject != null) { ScoreInfo score = (ScoreInfo)EditForm.EditedObject; if (score != null) { // Set 'Recalculating' status score.ScoreStatus = ScoreStatusEnum.Recalculating; // Ensure scheduled task if (score.ScoreScheduledTaskID == 0) { // Create and initialize new scheduled task task = ScoreInfoProvider.EnsureScheduledTask(score, schedulerInterval.ScheduleInterval, TaskInfoProvider.NO_TIME, false, true); // Update score info score.ScoreScheduledTaskID = task.TaskID; } ScoreInfoProvider.SetScoreInfo(score); // Recalculate the score ScoreEvaluator evaluator = new ScoreEvaluator(); evaluator.ScoreID = score.ScoreID; evaluator.CheckScoreEnabled = false; evaluator.Execute(null); EditForm.ShowConfirmation(GetString("om.score.recalculationstarted")); // Get scheduled task and update last run time if (task == null) { task = TaskInfoProvider.GetTaskInfo(score.ScoreScheduledTaskID); } if (task != null) { task.TaskLastRunTime = DateTime.Now; TaskInfoProvider.SetTaskInfo(task); // Initialize interval control schedulerInterval.ScheduleInterval = task.TaskInterval; schedulerInterval.ReloadData(); } // Display basic info about score InitInfoPanel(score); } } break; } }
/// <summary> /// Actions handler. /// </summary> protected void HeaderActions_ActionPerformed(object sender, CommandEventArgs e) { // Check modify permission CheckPermissions("cms.scoring", "modify"); switch (e.CommandName.ToLower()) { case "save": // Save changes in the contact group EditForm.SaveData(null); break; case "recalculate": if (EditForm.EditedObject != null) { ScoreInfo score = (ScoreInfo)EditForm.EditedObject; if (score != null) { // Set 'Recalculating' status score.ScoreStatus = ScoreStatusEnum.Recalculating; // Ensure scheduled task if (score.ScoreScheduledTaskID == 0) { // Create and initialize new scheduled task task = GetScheduledTask(score); task.TaskInterval = schedulerInterval.ScheduleInterval; task.TaskNextRunTime = TaskInfoProvider.NO_TIME; task.TaskEnabled = false; TaskInfoProvider.SetTaskInfo(task); // Update score info score.ScoreScheduledTaskID = task.TaskID; } ScoreInfoProvider.SetScoreInfo(score); // Recalculate the score ScoreEvaluator evaluator = new ScoreEvaluator(); evaluator.ScoreID = score.ScoreID; evaluator.Execute(null); EditForm.InfoLabel.Text = GetString("om.score.recalculationstarted"); EditForm.InfoLabel.Visible = true; // Get scheduled task and update last run time if (task == null) { task = TaskInfoProvider.GetTaskInfo(score.ScoreScheduledTaskID); } if (task != null) { task.TaskLastRunTime = DateTime.Now; TaskInfoProvider.SetTaskInfo(task); } // Display basic info about score InitInfoPanel(score); } } break; } }
public void Test() { Assert.All( Enumerable.Range(-1, 12), i => Assert.Equal(ScoreEvaluator.SwitchExpression(i), ScoreEvaluator.SwitchStatement(i))); }