public async Task <bool> SaveFile(string defaultFileName, List <KeyValuePair <string, List <string> > > fileTypeList, byte[] data) { try { StorageFile file = await SelectFile(defaultFileName, fileTypeList); if (file == null) { return(false); // Selezione annullata } await FileIO.WriteBytesAsync(file, data); OnSaveFileHandler?.Invoke(this, new FolderPickerResult { Succeeded = true, FilePath = file.Path }); Windows.ApplicationModel.Resources.ResourceLoader ResLoader = Windows.ApplicationModel.Resources.ResourceLoader.GetForCurrentView(); string msg = string.Format(ResLoader.GetString("msgPwdExportTo"), file.Path); Notifier notifier = new Notifier(); notifier.SendNotification("PwdCrypter", msg); return(true); } catch (Exception Ex) { throw new Exception("Unable to save the password list. Error: " + Ex.Message); } }
/// <summary> /// Metodo da chiamare prima di utilizzare l'oggetto /// </summary> public void Init() { if (!IsInit) { MessagingCenter.Subscribe(this, SaveFileActivityMessage, (CrossPlatformSpecialFolder sender, FolderPickerResult info) => { OnSaveFileHandler?.Invoke(sender, info); }); } IsInit = true; }
public async Task <bool> SaveFile(string defaultFileName, List <KeyValuePair <string, List <string> > > fileTypeList, Stream streamData) { try { StorageFile file = await SelectFile(defaultFileName, fileTypeList); if (file == null) { return(false); // Selezione annullata } int pos = -1, read = 0; byte[] data = new byte[streamData.Length]; do { long count = Math.Min(1024, streamData.Length - streamData.Position); read = await streamData.ReadAsync(data, pos + 1, (int)count); pos += read; }while (pos < streamData.Length - 1); await FileIO.WriteBytesAsync(file, data); OnSaveFileHandler?.Invoke(this, new FolderPickerResult { Succeeded = true, FilePath = file.Path }); Windows.ApplicationModel.Resources.ResourceLoader ResLoader = Windows.ApplicationModel.Resources.ResourceLoader.GetForCurrentView(); string msg = string.Format(ResLoader.GetString("msgPwdExportTo"), file.Path); Notifier notifier = new Notifier(); notifier.SendNotification("PwdCrypter", msg); return(true); } catch (Exception Ex) { throw new Exception("Unable to save the password list. Error: " + Ex.Message); } }