public ProjectTasks(string name) { _tasks = new ObservableCollection<TaskBox>(); InitializeComponent(); _db = new ProjectInfoContext(); taskCounter = getMaxTaskID() + 1; _freelancerMode = false; _task = new TaskModel(taskCounter, _currentProject); _task.CreateDB(); LoadTaskSessions(); }
/// <summary> /// Deletes the Project with all Tasks in it /// </summary> /// <param name="id"></param> public void DeleteSession(int id) { using (var cntx = new ProjectInfoContext()) { DbModelBuilder modelbuilder = new DbModelBuilder(); modelbuilder.Entity<TaskInfo>().HasRequired(x => x.Project) .WithMany() .WillCascadeOnDelete(true); var project = from p in cntx.Projects where p.ProjectId == id select p; cntx.Projects.Remove((ProjectDescription)project); cntx.SaveChanges(); } }
public ProjectDescription GetByTaskBoxId(int id) { using (var context = new ProjectInfoContext()) { var project = context.Projects.FirstOrDefault(p => p.ProjectId == id); if (project != null) { context.Entry(project) .Reference(p => p.ProjectTasks) .Load(); } return project; } }
public void UpdateSession(ProjectDescription entity) { using (var cntx = new ProjectInfoContext()) { if (GetByTaskBoxId(entity.ProjectId) != null) { MessageBox.Show("No such Project found"); return; } entity.ProjectName = Name; entity.ProjectDescriptionText = ProjectDescriptionText; cntx.SaveChanges(); } }
public ICollection<ProjectDescription> Projects() { using (var context = new ProjectInfoContext()) { return context.Projects.ToList(); } }
public ICollection<ProjectDescription> LoadSession() { using (ProjectInfoContext context = new ProjectInfoContext()) { var projects = context.Projects .Include(p => p.ProjectTasks) .ToList(); return projects; } }
public void InsertSession(ProjectDescription entity) { using (var cntx = new ProjectInfoContext()) { cntx.Projects.Add(entity); cntx.SaveChanges(); } }
public ICollection<TaskInfo> LoadSession(int projectID) { using (var context = new ProjectInfoContext()) { var projectWithTasks = context.Projects .Where(p => p.ProjectId == projectID) .Include("ProjectTasks") .FirstOrDefault(); _currentProject = projectWithTasks; _tasks = projectWithTasks.ProjectTasks; return _tasks; } }
/// <summary> /// Deletes current Task, without deleting the project /// </summary> /// <param name="id"></param> public void DeleteSession(int id) { using (ProjectInfoContext cntx = new ProjectInfoContext()) { DbModelBuilder modelBuilder = new DbModelBuilder(); modelBuilder.Entity<TaskInfo>().HasRequired(x => x.Project) .WithMany(x => x.ProjectTasks).WillCascadeOnDelete(false); var task = cntx.TaskDataEntities.Find(id); cntx.TaskDataEntities.Remove(task); cntx.SaveChanges(); } }
public void CreateDB() { _taskEntities = new ProjectInfoContext(); }
private void LoadTaskSessions() { using (ProjectInfoContext db = new ProjectInfoContext()) { var savedSessions = db.TaskDataEntities.ToList(); foreach (TaskInfo session in savedSessions) { tb = new TaskBox(session.TaskBoxID, session.TrackedTime, session.Name, _rate, _currentProject); //TODO FreelancerMode tb.textBlockHorRate.Text = _rate.ToString(); _tasks.Add(tb); tasksStackPanel.Children.Add(tb); } } }