public CameraStatistics getCameraStatisticsForNowById(int cameraId) { DatabaseCamera camera = _dbQueryService.GetCameraById(cameraId); DatabasePerSecondStat mostRecentStat = _dbQueryService.GetLatestPerSecondStatForCamera(cameraId); GraphStatistics graphStatistics = _graphStatisticsService.GetLast30MinutesStatistics(cameraId); if (camera != null) { CameraStatistics cameraStatistics = new CameraStatistics() { CameraInformation = new CameraInformation(camera), DayTimeOfTheWeekAverageCount = 0, DayTimeOfTheWeekAverageCountAvailable = false, DayTimeOfTheWeekAverageCountDisplayString = null, LastUpdatedTime = null, MostRecentPeopleCount = 0, PeriodOfTheDayAverageCount = 0, PeriodOfTheDayAverageCountAvailable = false, PeriodOfTheDayAverageCountDisplayString = null, GraphStatistics = graphStatistics }; if (mostRecentStat != null) { cameraStatistics.LastUpdatedTime = mostRecentStat.DateTime; cameraStatistics.MostRecentPeopleCount = mostRecentStat.NumDetectedObjects; } return(cameraStatistics); } else { return(null); } }
public CameraStatistics getCameraStatisticsForNowById(int cameraId) { DatabaseCamera camera = _dbQueryService.GetCameraById(cameraId); DatabaseRoom room = null; if (camera != null && camera.RoomId != null) { room = _dbQueryService.GetRoomById(camera.RoomId.Value); } DatabasePerSecondStat mostRecentStat = _dbQueryService.GetLatestPerSecondStatForCamera(cameraId); GraphStatistics graphStatistics = _graphStatisticsService.GetLast30MinutesStatistics(cameraId); if (camera != null) { CameraStatistics cameraStatistics = new CameraStatistics { CameraInformation = new CameraInformation(camera), CameraDetails = new CameraDetails(camera), DayTimeOfTheWeekAverageCount = 0, DayTimeOfTheWeekAverageCountAvailable = false, DayTimeOfTheWeekAverageCountDisplayString = null, LastUpdatedTime = null, MostRecentPeopleCount = null, PeriodOfTheDayAverageCount = 0, PeriodOfTheDayAverageCountAvailable = false, PeriodOfTheDayAverageCountDisplayString = null, GraphStatistics = graphStatistics, TempImagePath = null }; if (room != null) { cameraStatistics.CameraDetails.MonitoredArea = room.RoomName; cameraStatistics.CameraInformation.CameraRoomName = room.RoomName; cameraStatistics.CameraInformation.RoomId = room.RoomId; } if (mostRecentStat != null) { cameraStatistics.LastUpdatedTime = mostRecentStat.DateTime; cameraStatistics.MostRecentPeopleCount = mostRecentStat.NumDetectedObjects; } if (camera.LocationId != null) { cameraStatistics.CameraDetails.Location = new LocationDetails(_dbQueryService.GetLocationById(camera.LocationId.Value)); } cameraStatistics.CameraInformation.TempImagePath = GetTempPathFromFullPath(camera.ImagePath); return(cameraStatistics); } return(null); }
public IActionResult CameraInformation(int cameraId) { if (HttpContext.Session.GetString("currentUsername") == null) { return(RedirectToAction("SignIn", "Home")); } CameraStatistics cameraStatisticsModel = CameraService.getCameraStatisticsForNowById(cameraId); if (cameraStatisticsModel != null) { return(View(cameraStatisticsModel)); } else { return(View("NoCamera")); } }
public IActionResult GetMostRecentPerSecondStatForCamera([FromBody] MostRecentPerSecondStatForCameraRequest mostRecentStatRequest) { // Verify device's API Key. if (_apiKeyService.VerifyAPIKey(mostRecentStatRequest.API_Key) < 0) { // If API Key does not exist or is deactivated. return(Unauthorized()); } CameraStatistics stat = CameraService.getCameraStatisticsForNowById(mostRecentStatRequest.CameraId); if (stat == null) { return(NoContent()); } return(Ok(new JsonResult(stat))); }
public CameraStatistics getCameraStatisticsForNowById(int cameraId) { CameraInformation cameraInformation = this.getCameraInformationById(cameraId); if (cameraInformation != null) { CameraStatistics cameraStatisticsModel = new CameraStatistics(); cameraStatisticsModel.CameraInformation = cameraInformation; // In this placeholder model, we always use the same statistics cameraStatisticsModel.LastUpdatedTime = new DateTime(2018, 2, 18, 14, 11, 2); cameraStatisticsModel.MostRecentPeopleCount = 21; cameraStatisticsModel.DayTimeOfTheWeekAverageCount = 30; cameraStatisticsModel.DayTimeOfTheWeekAverageCountDisplayString = "On a Friday between 2:00 PM and 3:00 PM"; cameraStatisticsModel.PeriodOfTheDayAverageCount = 25; cameraStatisticsModel.PeriodOfTheDayAverageCountDisplayString = "On an average afternoon"; return(cameraStatisticsModel); } else { return(null); } }
public IViewComponentResult Invoke(int cameraId) { CameraStatistics cameraStatisticsModel = CameraService.getCameraStatisticsForNowById(cameraId); return(View("CameraCard", cameraStatisticsModel)); }