Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public IEnumerable <DeviceProbe> GetProbes(int idDevice, DateTime startDate, DateTime endDate)
 {
     return(probeService.GetProbes(idDevice, startDate, endDate));
 }