private async void ImportHandler() { var fileExt = Path.GetExtension(TargetFileName); var sourceFile = await PlatformService.SelectFileAsync(new string[] { fileExt }); if (sourceFile == null) { return; } var md5 = await CryptographyService.ComputeMD5Async(sourceFile); if (md5.ToLowerInvariant() != TargetMD5.ToLowerInvariant()) { var title = LocalizationService.GetLocalizedString(FileHashMismatchTitleKey); var message = LocalizationService.GetLocalizedString(FileHashMismatchMessageKey); await DialogsService.AlertAsync(message, title); return; } using (var inStream = await sourceFile.OpenAsync(PCLStorage.FileAccess.Read)) { var targetFile = await TargetFolder.CreateFileAsync(targetFileName, CreationCollisionOption.ReplaceExisting); using (var outStream = await targetFile.OpenAsync(PCLStorage.FileAccess.ReadAndWrite)) { await inStream.CopyToAsync(outStream); await outStream.FlushAsync(); } FileAvailable = true; } }