/// <summary>
        /// Saves a task to the database either by inserting a new task or by updating an existing one.
        /// </summary>
        /// <param name="task">The task to save.</param>
        /// <returns>The return value is true if the task to be saved is a new one.
        /// The return value is false when an existing task has ben updated.</returns>
        public bool Save(Task task)
        {
            bool newTask = false;

            Task taskToSave = GetForKeyTable(task.KeyTable);
            if (taskToSave == null)
            {
                taskToSave = new Task();
                _dataContext.Tasks.InsertOnSubmit(taskToSave);
                newTask = true;
            }

            taskToSave.DateDue = task.DateDue;
            taskToSave.Description = task.Description;
            taskToSave.Notes = task.Notes;
            taskToSave.Priority = _dataContext.Priorities.SingleOrDefault(p => p.KeyTable == task.KeyPriority);
            taskToSave.Project = _dataContext.Projects.SingleOrDefault(p => p.KeyTable == task.KeyProject);
            taskToSave.Done = task.Done;

            _dataContext.SubmitChanges();

            //little friggy but need the keyTable on the task outside this method.
            task.KeyTable = taskToSave.KeyTable;

            return newTask;
        }
 public void DeleteTask(Task task)
 {
     task.Detach();
     _dataContext.Tasks.Attach(task);
     _dataContext.Tasks.DeleteOnSubmit(task);
     _dataContext.SubmitChanges();
 }
Beispiel #3
0
        public static Task CreateNewTask()
        {
            Task task = new Task();
            task.Project = null;
            task.Description = string.Empty;
            task.Notes = string.Empty;
            task.DateDue = DateTime.Now;
            task.Priority = null;
            task.Done = false;

            return task;
        }
        public TaskDetailsViewModel(Task task, MainWindowViewModel mainWindow)
        {
            using (ProjectRepository projectRepository = new ProjectRepository())
            {
                _projects = new CollectionView(projectRepository.GetAllProjects());
            }

            using (PriorityRepository priorityRepository = new PriorityRepository())
            {
                _priorities = new CollectionView(priorityRepository.GetAllPriorities());
            }

            _task = task;
            _mainWindow = mainWindow;

            SetTabTitle();
        }
 public bool ContainsTask(Task task)
 {
     return GetForKeyTable(task.KeyTable) != null;
 }
		private void detach_Tasks(Task entity)
		{
			this.SendPropertyChanging();
			entity.Priority = null;
		}
		private void attach_Tasks(Task entity)
		{
			this.SendPropertyChanging();
			entity.Priority = this;
		}
 partial void DeleteTask(Task instance);
 partial void UpdateTask(Task instance);
 partial void InsertTask(Task instance);
 public SaveTaskCommand(Task task, MainWindowViewModel mainWindow)
 {
     _task = task;
     _mainWindow = mainWindow;
 }