Haven't been able to specifically find, answers to my question..
I need to get a result that display: Project name ONCE, with all the users that have made timeEntries
on that project, in a given date range.
And I need to get the timeEntries
(hoursEntered
) as well, so I can calculate how many hours have been spent on that project in total..
I am new to this, so I hope i have provided enough information..
my code:
var dateStart = new DateTime (2016,09,01);
var dateEnd = new DateTime (2016,09,19);
var query = (from timeEntry in TimeEntries
join task in Tasks on timeEntry.TaskID equals task.TaskID
join project in Projects on task.ProjectID equals project.ProjectID
where timeEntry.DateEntity >= dateStart && timeEntry.DateEntity <= dateEnd
select new {
User = timeEntry.User.FirstName + " "+timeEntry.User.LastName,
Project = timeEntry.Task.Project.ProjectName,
ProjectId = timeEntry.Task.ProjectID,
HoursEntered = timeEntry.HoursEntered
}).GroupBy (q => q.Project).Distinct();
i have 4 tables :
- Projects (ProjectID, ProjectName)
- Tasks (TaskID, ProjectID)
- TimeEntries (HoursEntered, DateEntity, TaskID)
- Users (FirstName, LastName)