public Observation[] GetBehaviourObservations()
{
var start = new DateTime(_year,1,1);
var startDate = new DateTime(_year,1,1);
var endDate = new DateTime(_year + 1,1,1);
var observationList = new List<Observation>();
var userProv = new UserProvider(_School);
var organisations = new List<School> { _School };
organisations.AddRange(_School.ChildOrganisations.Flatten(x => x.ChildOrganisations));
foreach (var organisation in organisations)
{
using (var db = organisation.GetSchoolDc())
{
var dbo = new DataLoadOptions();
dbo.LoadWith<CHR_Entry>(z=>z.CHR_Category);
dbo.LoadWith<CHR_Communication>(z=>z.CHR_CommunicationLogs);
db.LoadOptions = dbo;
db.ObjectTrackingEnabled = false;
var entriesData = db.CHR_Entries.Where(z => !z.Archived)
.Where(d=> d.CreatedTimestamp > start && d.CHR_Attendees.Any(a=>!a.Archived))
.Where(d=> d.CreatedTimestamp >= startDate &&
d.CreatedTimestamp < endDate &&
d.CHR_Attendees.Any(a=>!a.Archived))
.Select(d => new
{
Entry = d,
var start = new DateTime(_year,1,1);
is server time.
d.CreatedTimestamp
is UTC.
So what happens with .Where(d=> d.CreatedTimestamp > start && d.CHR_Attendees.Any(a=>!a.Archived))
? Are we comparing against 2 different timezones?