Ejemplo n.º 1
0
    /// <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;
        }
    }
Ejemplo n.º 2
0
    /// <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;
        }
    }
Ejemplo n.º 3
0
 public void Test()
 {
     Assert.All(
         Enumerable.Range(-1, 12),
         i => Assert.Equal(ScoreEvaluator.SwitchExpression(i), ScoreEvaluator.SwitchStatement(i)));
 }