//public IHttpActionResult GetTask(int id)
        //{
        //    List<FilteredTask> task = new List<FilteredTask>();
        //    task = (from a in db.Tasks
        //                              join c in db.Users
        //                              on a.Task_ID equals c.Task_ID into Tasks
        //                              from c in Tasks.DefaultIfEmpty()
        //                              join b in db.Parent_Task on a.Parent_ID
        //                              equals b.Parent_ID
        //                              join d in db.Projects on a.Project_ID equals d.Project_ID
        //                              where a.Task_ID==id
        //                              select new FilteredTask
        //                              {
        //                                  Id = a.Task_ID,
        //                                  Name = a.Task1,
        //                                  Parent_ID=b.Parent_ID,
        //                                  Parent_Task_Name = b.Parent_Task1,
        //                                  Project_ID=a.Project_ID,
        //                                  Start_Date=a.Start_Date,
        //                                  End_Date=a.End_Date,
        //                                  Priority=a.Priority,
        //                                  Status=a.Status,
        //                                  UserId = c.User_ID== null ?null : c.User_ID,
        //                                  UserFirstName = c.First_Name,
        //                                  UserLastName = c.Last_Name,
        //                                  Project_Name = d.Project1
        //                              }).ToList();

        //    return Ok(task);
        //}
        public IHttpActionResult GetTask(int id)
        {
            var filteredTask_Table = (from t in (from s in (
                                                     from a in db.Tasks
                                                     where a.Task_ID == id
                                                     join c in db.Users
                                                     on a.Task_ID equals c.Task_ID into Tasks
                                                     from c in Tasks.DefaultIfEmpty()
                                                     select new
            {
                a.Task_ID,
                a.Task1,
                a.Project_ID,
                a.Parent_ID,
                a.Start_Date,
                a.End_Date,
                a.Priority,
                a.Status,
                c.User_ID,
                c.First_Name,
                c.Last_Name
            })

                                                 join b in db.Parent_Task
                                                 on s.Parent_ID
                                                 equals b.Parent_ID into ParentTasks
                                                 from b in ParentTasks.DefaultIfEmpty()
                                                 select new
            {
                s.Task_ID,
                s.Task1,
                s.Project_ID,
                s.Parent_ID,
                s.Start_Date,
                s.End_Date,
                s.Priority,
                s.Status,
                s.User_ID,
                s.First_Name,
                s.Last_Name,
                b.Parent_Task1
            }
                                                 )
                                      join d in db.Projects
                                      on t.Project_ID equals d.Project_ID
                                      into Projects
                                      from d in Projects.DefaultIfEmpty()
                                      select new FilteredTask
            {
                Id = t.Task_ID,
                Name = t.Task1,
                Parent_ID = t.Parent_ID,
                Parent_Task_Name = t.Parent_Task1,
                Project_ID = t.Project_ID,
                Start_Date = t.Start_Date,
                End_Date = t.End_Date,
                Priority = t.Priority,
                Status = t.Status,
                UserId = t.User_ID == null ? null : t.User_ID,
                UserFirstName = t.First_Name,
                UserLastName = t.Last_Name,
                Project_Name = d.Project1
            }).ToList();

            return(Ok(filteredTask_Table));
        }