/// <summary> /// Se produit lors de la demande d'affichage de la page exemple. /// </summary> /// <param name="sender">L'objet à l'origine de l'évènement.</param> /// <param name="e">Les paramètres de l'évènement.</param> private void OnNavigateToExample(object sender, EventArgs e) { if (sender == null) { throw new ArgumentNullException(nameof(sender)); } if (e == null) { throw new ArgumentNullException(nameof(e)); } PageOneViewModel viewModel = PageViewModels.FirstOrDefault(vm => vm.GetType() == typeof(PageOneViewModel)) as PageOneViewModel; if (viewModel == null) { viewModel = new PageOneViewModel(); } if (e is EventArgs <RectViewModel> args) { Task.Run(() => viewModel.Load(args.Value)); } ChangeViewModel((IPageViewModel)viewModel); }
public PageOne() { this.InitializeComponent(); Debug.WriteLine(string.Format("Creating: {0}", GetType().Name)); ViewModel = new PageOneViewModel(NestedNavigationServiceProvider.GetNavigationService()); }
public ShellViewModel(PageOneViewModel pageOne, PageTwoViewModel pageTwo, FretBoardViewModel fretBoard, BubblingViewModel bubbling, FretBoardTwoViewModel fretBoardTwo) { Items.Add(pageOne); Items.Add(pageTwo); Items.Add(fretBoard); Items.Add(bubbling); Items.Add(fretBoardTwo); DisplayName = "Mahapps Demo"; }
public static void StartScanFile(string filePath, string tableName, PageOneViewModel pageOneViewModel) { using var connection = new SqliteConnection(DatabaseService.ConnectionString); connection.Open(); var deviceReader = new FileStream(filePath, FileMode.Open); var isContinue = true; var totalIterations = 1; FindNextSignature(ref deviceReader); var startOfFile = deviceReader.Position - 8; long startOfNext; while (isContinue) { if (deviceReader.Position < deviceReader.Length) { pageOneViewModel.ExtractProgress = deviceReader.Position * 100 / deviceReader.Length; var timestamp = new [] { (byte)deviceReader.ReadByte(), (byte)deviceReader.ReadByte(), (byte)deviceReader.ReadByte(), (byte)deviceReader.ReadByte() }; var signatureDateTime = GetTimeFromSignatureTimestamp(timestamp).ToString("yyyy-MM-dd hh:mm:ss"); FindNextSignature(ref deviceReader); startOfNext = deviceReader.Position - 8; new SqliteCommand( $"insert into {tableName} (name, offset, size, start_datetime) values ('signature{totalIterations.ToString().PadLeft(8, '0')}.h264', {startOfFile}, {startOfNext-startOfFile}, '{signatureDateTime}')", connection).ExecuteNonQuery(); startOfFile = startOfNext; Console.WriteLine($"totalIterations: {totalIterations}"); totalIterations++; } else { isContinue = false; } } connection.Close(); }
private void InitializationProcess(object param) { InitializeComponent(); PageOneViewModel = new PageOneViewModel(param); this.DataContext = PageOneViewModel; }
public void ShowPopup() { var model = new PageOneViewModel(); ActivateItem(model); }
public static void ExtractVideos(string tableName, string fileNameOrDeviceId, string pathToVideos, PageOneViewModel pageOneViewModel) { using var connection = new SqliteConnection(DatabaseService.ConnectionString); var sql = $"select * from {tableName}"; var sqlCount = $"select count(*) from {tableName}"; connection.Open(); var totalCount = (long)new SqliteCommand(sqlCount, connection).ExecuteScalar(); var reader = new SqliteCommand(sql, connection).ExecuteReader(); var i = 1; while (reader.Read()) { var item = new VideoItem() { Name = reader.GetString(1), Offset = reader.GetInt32(2), Size = reader.GetInt32(3), StartDateTime = reader.GetString(4) }; using var deviceReader = new FileStream(fileNameOrDeviceId, FileMode.Open, FileAccess.Read, FileShare.None, item.Size) { Position = item.Offset }; using var fileReader = File.Create(Path.Combine(pathToVideos, item.Name)); var buffer = new byte[item.Size]; deviceReader.ReadAsync(buffer, 0, item.Size); fileReader.Write(buffer); pageOneViewModel.ExtractProgress = i * 100 / totalCount; i++; } connection.Close(); }