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