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

            }
        }
Beispiel #10
0
 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);
         }
     }
 }