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; }
protected override void InsertItem(int index, UserContainer item) { base.InsertItem(index, item); item.WatchedDriver = _driver.Driver; if (item.User.CustId == SyncManager.Instance.UserId) { _driver.Watching = true; } }
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); } }
private void UpdateUsers(IEnumerable<User> users) { var newUsers = new List<UserContainer>(); foreach (var user in users) { var container = _users.FromId(user.CustId); if (container == null) { container = new UserContainer(user); } else { container.User = user; } newUsers.Add(container); } _users.Clear(); if (this.Status == ConnectionStatus.Connected) { foreach (var user in newUsers) { _users.Add(user); } } else { _users.Add(new UserContainer(_offlineUser)); } this.OnUsersUpdated(); }