Ejemplo n.º 1
0
        /// <summary>
        /// Purge objects from the database.  This method is invoked by the PurgeCommand.
        /// </summary>
        public void Purge()
        {
            if (WPFMessageBox.Show(Properties.Resources.Purge_Confirm, Properties.Resources.Objects_Purge_Confirm, WPFMessageBoxButtons.YesNo, WPFMessageBoxImage.Question) == WPFMessageBoxResult.Yes)
            {
                if (SelectedObjectType == ObjectTypes.Any)
                {
                    if (IncludeAbandoned)
                    {
                        _taskData.PurgeAbandonedTasks();
                        _projectData.PurgeAbandonedProjects(_taskData);
                        _goalData.PurgeAbandonedGoals(_projectData, _taskData);
                    }

                    if (IncludeCompleted)
                    {
                        _taskData.PurgeCompletedTasks();
                        _projectData.PurgeCompletedProjects(_taskData);
                        _goalData.PurgeCompletedGoals(_projectData, _taskData);
                    }
                }
                else if (SelectedObjectType == ObjectTypes.Goal)
                {
                    if (IncludeAbandoned)
                    {
                        _goalData.PurgeAbandonedGoals(_projectData, _taskData);
                    }

                    if (IncludeCompleted)
                    {
                        _goalData.PurgeCompletedGoals(_projectData, _taskData);
                    }
                }
                else if (SelectedObjectType == ObjectTypes.Project)
                {
                    if (IncludeAbandoned)
                    {
                        _projectData.PurgeAbandonedProjects(_taskData);
                    }

                    if (IncludeCompleted)
                    {
                        _projectData.PurgeCompletedProjects(_taskData);
                    }
                }
                else
                {
                    if (IncludeAbandoned)
                    {
                        _taskData.PurgeAbandonedTasks();
                    }

                    if (IncludeCompleted)
                    {
                        _taskData.PurgeCompletedTasks();
                    }
                }

                WPFMessageBox.Show(Properties.Resources.Action_Success, Properties.Resources.Objects_Purge_Success, WPFMessageBoxButtons.OK, WPFMessageBoxImage.Information);
            }
        }