public void DeleteTask(Task task) { if (task == null) throw new Exception("Category not specified"); using (var gögn = GetDataContext()) { gögn.Tasks.Attach(task); gögn.ObjectStateManager.ChangeObjectState(task, EntityState.Deleted); gögn.SaveChanges(); } }
public void TestSaveTask() { var rep = new TimeManagerRepository(); var projects = rep.GetProjects(); foreach (var pro in projects) { foreach (var cat in rep.GetProjectCategories(pro)) { foreach (var te in rep.GetCategoryTasks(cat)) rep.DeleteTask(te); } } Assert.IsTrue(projects.Count == 1, "Ekki er hægt að keyra próf á task nema það sé eitt og aðeins eitt project"); var project = projects.Single(); var categories = rep.GetProjectCategories(project); Assert.IsTrue(categories.Count == 1, "Ekki er hægt að keyra próf á task nema það sé eitt og aðeins eitt project og undir því eins eitt category"); var category = categories.Single(); var task = new Task() { Description = "TestDescription" }; task.IdCategory = category.Id; task.Category = category; task.Started = DateTime.Now; rep.SaveTask(task); Assert.IsTrue(task.Id != 0, "task var 0"); projects = rep.GetProjects(); categories = rep.GetProjectCategories(project); Assert.IsTrue(projects.Count == 1, "Vistuð project voru ekki 1"); Assert.IsTrue(categories.Count == 1, "Vistuð category voru ekki 1"); var tasks = rep.GetCategoryTasks(categories.Single()); Assert.IsTrue(tasks.Count == 1, "Vistuð tösk voru ekki 1"); Assert.AreEqual(tasks.Single().Description, task.Description, "Vistað task description stemmdi ekki"); var task2 = new Task() { Description = "TestDescription", Started = DateTime.Now }; task2.Category = new Category() {Name = "TestCategory2", IdProject = project.Id, Project = project}; rep.SaveTask(task2); projects = rep.GetProjects(); categories = rep.GetProjectCategories(project); Assert.IsTrue(projects.Count == 1, "Vistuð project voru ekki 1"); Assert.IsTrue(categories.Count == 2, "Vistuð category voru ekki 2"); }
public void TestSaveTaskNew() { var rep = new TimeManagerRepository(); var projects = rep.GetProjects(); //Delete all data foreach (var pro in projects) { foreach (var cat in rep.GetProjectCategories(pro)) { foreach (var te in rep.GetCategoryTasks(cat)) rep.DeleteTask(te); rep.DeleteCategory(cat); } rep.DeleteProject(pro); } var projectNew = new Project() {Name = "test project new"}; var task = new Task(); task.Description = "test task description new"; task.Started = DateTime.Now; task.Category = new Category() { Name = "test category new", Project = projectNew }; rep.SaveTask(task); projects = rep.GetProjects(); Assert.IsTrue(projects.Count == 1, "Project voru fleiri en 1"); var categories = rep.GetProjectCategories(projects.Single()); Assert.IsTrue(categories.Count == 1, "Categories voru fleiri en 1"); var tasks = rep.GetCategoryTasks(categories.Single()); Assert.IsTrue(tasks.Count == 1, "Tasks voru fleiri en 1"); var task2 = new Task(); task2.Description = "test task description new 2"; task2.Started = DateTime.Now; task2.Category = new Category() { Name = "test category new 2", Project = projectNew, IdProject = projectNew.Id }; rep.SaveTask(task2); projects = rep.GetProjects(); Assert.IsTrue(projects.Count == 1, "Project voru fleiri en 1"); categories = rep.GetProjectCategories(projects.Single()); Assert.IsTrue(categories.Count == 2, "Categories voru ekki 2"); var tasks2 = rep.GetCategoryTasks(task2.Category); Assert.IsTrue(tasks2.Count == 1, "Tasks voru fleiri en 1"); }
private void Save() { var task = new Task(); if (Project == null) { if (string.IsNullOrEmpty(ProjectName)) throw new DataIntegrityException("Please fill in project name"); Project = new Project() {Name = ProjectName}; } if (Category == null) { if (string.IsNullOrEmpty(CategoryName)) throw new DataIntegrityException("Please fill in category name"); Category = new Category() {Name = CategoryName}; } Category.Project = Project; Category.IdProject = Project.Id; task.Category = Category; task.IdCategory = Category.Id; task.Description = Description ?? string.Empty; task.Started = DateTime.Today.Add(Started); if (Completed.HasValue) task.Completed = DateTime.Today.Add(Completed.Value); task.WorkedHours = WorkedHours; var repository = DependencyResolver.Resolve<ITimeManagerRepository>(); repository.SaveTask(task); NewTask = task; }
public void SaveTask(Task task) { if (task.IdCategory == 0) { SaveCategory(task.Category); task.IdCategory = task.Category.Id; } using (var gögn = GetDataContext()) { if (task.Id == 0) { gögn.Tasks.Attach(task); gögn.ObjectStateManager.ChangeObjectState(task, EntityState.Added); } else { gögn.Tasks.Attach(task); gögn.ObjectStateManager.ChangeObjectState(task, EntityState.Modified); } gögn.SaveChanges(); } }
public TaskViewModel(Task task) { Task = task; _repository = DependencyResolver.Resolve<ITimeManagerRepository>(); }