public Company CalculatePeopleCount(Company company, DateTime?startdate = null, DateTime?enddate = null) { startdate = startdate ?? DateTime.Today; enddate = enddate ?? DateTime.Today; DateTime opening = DateTime.ParseExact(startdate.Value.ToString("yyyyMMdd") + company.Opening.ToString().PadLeft(4, '0'), "yyyyMMddHHmm", CultureInfo.CurrentCulture); DateTime closing = DateTime.ParseExact(enddate.Value.ToString("yyyyMMdd") + company.Closing.ToString().PadLeft(4, '0'), "yyyyMMddHHmm", CultureInfo.CurrentCulture); if (opening > closing) { closing.AddDays(1); } var devices = movementsService.GetCurrentBind(company.IdLocation); foreach (var device in devices) { var probes = probeService.GetProbes(device.ID_Device, opening, closing); foreach (var probe in probes) { company.PeopleCount += probe.Delta; } } if (company.PeopleCount < 0) { company.PeopleCount = -1; //BISOGNA METTERE IN UN FILE DI LOG L'ERRORE } return(company); }
public IEnumerable <DeviceProbe> GetProbes(int idDevice, DateTime startDate, DateTime endDate) { return(probeService.GetProbes(idDevice, startDate, endDate)); }