public static CameraDetails ChangeReplayTime(double sessionTime, int carnumber = -1) { var cam = new CameraDetails(carnumber); cam.SetSessionTime(sessionTime); return(cam); }
public bool RegisterCamera(CameraDetails cameraDetails) { try { if (cameraDetails.ImageDeleted) { DeleteCameraImage(cameraDetails); } if (cameraDetails.UploadedImage == null || PerformCameraImageUpload(cameraDetails)) { if (cameraDetails.ExistingRoomId <= 0) { DatabaseRoom dbRoom = new DatabaseRoom(cameraDetails); dbRoom.EscapeStringFields(); if (!_dbQueryService.PersistNewRoom(dbRoom)) { return(false); } cameraDetails.ExistingRoomId = _dbQueryService.GetRoomIdByLocationIdAndRoomName(dbRoom.LocationId, dbRoom.RoomName); } DatabaseCamera dbCamera = new DatabaseCamera(cameraDetails); dbCamera.EscapeStringFields(); return(_dbQueryService.PersistExistingCameraByCameraKey(dbCamera, cameraDetails.ImageDeleted)); } } catch (Exception e) { logger.Error(e); } return(false); }
public static CameraDetails ChangeReplayFrame(int frame, int carnumber = -1) { var cam = new CameraDetails(carnumber); cam.SetReplayFrame(frame); return(cam); }
public static void ChangeCamera(CameraDetails camera) { if (!Simulator.Instance.Sdk.IsConnected) { return; } if (Connection.Instance.IsSimulated) { return; } var driver = GetFollowedDriver(); if (driver == null) { return; } if (camera.CarNumber < 0) { camera.CarNumber = driver.Driver.CarNumberRaw; } // Change camera Simulator.Instance.Sdk.Sdk.BroadcastMessage(BroadcastMessageTypes.CamSwitchNum, camera.CarNumber, -1); if (camera.ReplayChangeType == CameraDetails.ReplayChangeTypes.SetReplayFrame) { ChangeReplayFrame(camera.Frame); } else if (camera.ReplayChangeType == CameraDetails.ReplayChangeTypes.SetSessionTime) { ChangeReplayTime(camera.SessionTime); } }
public ConfirmCameraSyncWindow(UserContainer admin, CameraDetails camera) { InitializeComponent(); var driver = Simulator.Instance.Drivers.FirstOrDefault(d => d.Driver.CarNumberRaw == camera.CarNumber); var sync = new CameraSync(admin, driver, camera); this.DataContext = sync; }
public DatabaseCamera(CameraDetails cameraDetails) { CameraId = cameraDetails.CameraId; CameraName = cameraDetails.CameraName; LocationId = cameraDetails.LocationId; UserId = cameraDetails.UserId; MonitoredArea = cameraDetails.MonitoredArea; Brand = cameraDetails.Brand; Model = cameraDetails.Model; Resolution = !cameraDetails.CustomResolution.IsNullOrEmpty() ? cameraDetails.CustomResolution : cameraDetails.Resolution; }
// Use this for initialization void Start() { _overheadView = new CameraDetails(new Vector3(2.84f, 10.1f, 1.96f), new Vector3(90, 0, 0)); _cameraDetails = new List <CameraDetails> (); _cameraDetails.Add(new CameraDetails(new Vector3(-0.82f, 7.15f, -2.4f), new Vector3(45, 45, 0))); _cameraDetails.Add(new CameraDetails(new Vector3(-1.8F, 5.36F, 8.06F), new Vector3(45, 135, 0))); _cameraDetails.Add(new CameraDetails(new Vector3(8.67f, 5.69f, 8.06f), new Vector3(135, 45, 180))); _cameraDetails.Add(new CameraDetails(new Vector3(8.22f, 5.91f, -1.98f), new Vector3(45, -45, 0))); _mainCamera.gameObject.SetActive(true); _shotCamera.gameObject.SetActive(false); }
public void SwitchToDriver(DriverContainer driver) { if (driver == null) { return; } // Switch client camera to driver var camera = CameraDetails.ChangeFocus(driver.Driver.CarNumberRaw); CameraControl.ChangeCamera(camera); }
public DatabaseCamera(CameraDetails cameraDetails) { CameraId = cameraDetails.CameraId; CameraName = cameraDetails.CameraName; CameraKey = cameraDetails.CameraKey; LocationId = cameraDetails.LocationId; UserId = cameraDetails.UserId; Brand = cameraDetails.Brand; Model = cameraDetails.Model; Resolution = !cameraDetails.CustomResolution.IsNullOrEmpty() ? cameraDetails.CustomResolution : cameraDetails.Resolution; ImagePath = cameraDetails.SavedImagePath; RoomId = cameraDetails.ExistingRoomId; }
private bool PerformCameraImageUpload(CameraDetails cameraDetails) { IFormFile image = cameraDetails.UploadedImage; // If the user has uploaded a file. if (image != null) { // Verify file size, must be under 5 MB. if (image.Length > 5000000) { return(false); } // Verify that the file is a valid image file (respects Minimum Size, File Extension and MIME Types). if (HttpPostedFileBaseExtensions.IsImage(image)) { // Proceed to process the request with the valid image. // Obtain the file extension. string fileExtension = Path.GetExtension(image.FileName).ToLower(); // Obtain the Database ID of the camera. int cameraId = GetExistingCameraId(cameraDetails.CameraKey); // Save the file to disk. // 1. Ensure the output folder exists. DirectoryInfo outputDirectory = Directory.CreateDirectory(DatabaseCamera.PATH_FOR_USER_UPLOADED_IMAGES); // 2. Create the full file path (output path + filename). string fullFilePath = Path.Combine(outputDirectory.FullName, cameraId + fileExtension); cameraDetails.SavedImagePath = fullFilePath; // 3. Save IFormFile as an image file in the output path. using (var fileStream = new FileStream(fullFilePath, FileMode.Create)) { // NOTE: If this was for the Edit page, we would have to delete the previous picture first. Task task = image.CopyToAsync(fileStream); task.GetAwaiter().GetResult(); } return(true); } } return(false); }
public CameraSync(UserContainer admin, DriverContainer driver, CameraDetails camera) { this.Admin = admin; this.Driver = driver; this.Camera = camera; if (camera.ReplayChangeType == CameraDetails.ReplayChangeTypes.SetReplayFrame) { var seconds = Simulator.Instance.Telemetry.SessionTime.Value - (camera.Frame / 60f); var time = TimeSpan.FromSeconds(seconds); this.SessionTime = string.Format("{0:0}:{1:00}:{2:00}", time.Hours, time.Minutes, time.Seconds); } else if (camera.ReplayChangeType == CameraDetails.ReplayChangeTypes.SetSessionTime) { var time = TimeSpan.FromSeconds(camera.SessionTime); this.SessionTime = string.Format("{0:0}:{1:00}:{2:00}", time.Hours, time.Minutes, time.Seconds); } }
public IActionResult RegisterCamera(CameraDetails cameraDetails) { int?currentUserId = HttpContext.Session.GetInt32("currentUserId"); if (currentUserId == null) { return(RedirectToAction("SignIn", "Home")); } cameraDetails.UserId = currentUserId.Value; if (!CameraService.RegisterCamera(cameraDetails)) { return(View("Error")); } CameraInformationList availableCameras = CameraService.GetAllCamerasOwnedByUser(currentUserId.Value); return(View("ManageCameras", availableCameras)); }
private bool DeleteCameraImage(CameraDetails cameraDetails) { DatabaseCamera dbCamera = _dbQueryService.GetCameraById(cameraDetails.CameraId); string imagePath = dbCamera.ImagePath; if (File.Exists(imagePath)) { try { File.Delete(imagePath); return(true); } catch (Exception e) { logger.Error(e); } } return(false); }
public IActionResult SaveCamera(CameraDetails cameraDetails) { if (HttpContext.Session.GetString("currentUsername") == null) { return(RedirectToAction("SignIn", "Home")); } int?currentUsedId = HttpContext.Session.GetInt32("currentUserId"); if (currentUsedId != null) { cameraDetails.UserId = currentUsedId.Value; CameraService.SaveNewCamera(cameraDetails); } else { throw new InvalidOperationException("Can't get current user's id!"); } return(View("CameraRegistration", CameraService.GetNewCameraRegistrationDetails(HttpContext.Session.GetString("currentUsername")))); }
private void UpdateEvents() { this.Events.Clear(); #if DEBUG var debugEvents = new List <ReplayEvent>(); var ev = new ReplayEvent(); ev.AdminId = SyncManager.Instance.UserId; ev.Camera = CameraDetails.ChangeReplayTime(400, 4); ev.Type = ReplayEvent.EventTypes.Interesting; ev.Text = "Test event 1"; debugEvents.Add(ev); ev = new ReplayEvent(); ev.AdminId = SyncManager.Instance.UserId; ev.Camera = CameraDetails.ChangeReplayTime(500, 7); ev.Type = ReplayEvent.EventTypes.Incident; ev.Text = "Test event 2"; debugEvents.Add(ev); ev = new ReplayEvent(); ev.AdminId = SyncManager.Instance.UserId; ev.Camera = CameraDetails.ChangeReplayTime(850, 7); ev.Type = ReplayEvent.EventTypes.Interesting; ev.Text = "Test event 3"; debugEvents.Add(ev); foreach (var @event in debugEvents) { #else foreach (var @event in SyncManager.Instance.State.Events) { #endif var container = new ReplayEventContainer(@event); container.RelativePosition = @event.Camera.SessionTime / this.SessionTime; this.Events.Add(container); } this.UpdateEventPositions(); }
public IActionResult ViewAllUsersExceptCurrent(int cameraId) { int?currentUserId = HttpContext.Session.GetInt32("currentUserId"); if (currentUserId == null) { return(RedirectToAction("SignIn", "Home")); } List <UserSettings> users = UserService.GetUserSettingsForCamera(cameraId); CameraDetails camera = CameraService.GetCameraInfoById(cameraId); UserSettingsList settingsList = new UserSettingsList { CameraDetails = camera, UserList = users }; if (Request.Headers["x-requested-with"] == "XMLHttpRequest") { return(PartialView("UserViewAccess", settingsList)); } return(View("UserViewAccess", settingsList)); }
/// <summary> /// Get camera of followed driver at the current replay session time. /// </summary> public static CameraDetails GetCurrentCameraSessionTime() { if (Connection.Instance.IsSimulated) { return(CameraDetails.ChangeReplayTime(0, 0)); } if (!Simulator.Instance.Sdk.IsConnected) { return(null); } var driver = GetFollowedDriver(); if (driver == null) { return(null); } var carNumber = driver.Driver.CarNumberRaw; var time = Simulator.Instance.Telemetry.ReplaySessionTime.Value; return(CameraDetails.ChangeReplayTime(time, carNumber)); }
public DatabaseRoom(CameraDetails cameraDetails) { LocationId = cameraDetails.LocationId; RoomName = cameraDetails.NewRoomName; }
public static CameraDetails ChangeFocus(int carnumber) { var cam = new CameraDetails(carnumber); return(cam); }
public static CameraDetails ChangeReplayTime(double sessionTime, int carnumber = -1) { var cam = new CameraDetails(carnumber); cam.SetSessionTime(sessionTime); return cam; }
public static CameraDetails ChangeReplayFrame(int frame, int carnumber = -1) { var cam = new CameraDetails(carnumber); cam.SetReplayFrame(frame); return cam; }
public static CameraDetails ChangeFocus(int carnumber) { var cam = new CameraDetails(carnumber); return cam; }
public bool SaveNewCamera(CameraDetails cameraDetails) { DatabaseCamera camera = new DatabaseCamera(cameraDetails); return(_dbQueryService.PersistNewCamera(camera)); }
public bool SaveNewCamera(CameraDetails cameraDetails) { return(true); }