private async void btnFinalizar_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { try { Type tipoPage = FragmentFrame.SourcePageType; StorageFolder localFolder = await Utils.BaseFolder.CreateFolderAsync(tipoPage.Name.Replace("Page", string.Empty), CreationCollisionOption.OpenIfExists); StorageFolder destinationFolder = await localFolder.CreateFolderAsync(Guid.NewGuid().ToString(), CreationCollisionOption.GenerateUniqueName); StorageFolder pdfFolder = await localFolder.CreateFolderAsync("Digitalizados", CreationCollisionOption.OpenIfExists); // Encabezado StorageFile file = await destinationFolder.CreateFileAsync("Metadata.dat", CreationCollisionOption.FailIfExists); await FileIO.WriteTextAsync(file, model.StringifyEtiquetas + Environment.NewLine); IEnumerable <string> query = from a in model.FileList select a.Name; await FileIO.AppendLinesAsync(file, query); List <Stream> Fotos = new List <Stream>(); List <IBuffer> lst = new List <IBuffer>(); // Detalle foreach (FileItem fila in model.FileList) { StorageFile filepage = await model.DestinationFolder.GetFileAsync(fila.Name); IBuffer buf = await FileIO.ReadBufferAsync(filepage); lst.Add(buf); Fotos.Add(buf.AsStream()); await filepage.MoveAsync(destinationFolder); } //////////////////// // 24-Oct-2016, Roberto Castro, Proceso que guarda el archivo en la maquina local Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; bool value = Convert.ToBoolean(localSettings.Values["SaveLocalFile"]); if (value == true) { Models.Archivos.Archivos_PostBindingModel model2 = new Models.Archivos.Archivos_PostBindingModel(); model2.Aplicacion = model.Aplicacion; model2.Categoria = model.Categoria; model2.Etiquetas = model.Etiquetas; IEnumerable <IBuffer> archivos = lst; IBuffer archivo = await ArchivosModel.PostArchivoPdf(model2, archivos); byte[] st = archivo.ToArray(); var queryTags = from a in model2.Etiquetas select a.Valor; string NombreArchivo = string.Join("-", queryTags) + ".pdf"; try { await obtenerArchivoGuardado(st, pdfFolder.Path + @"\" + NombreArchivo); } catch { } } //////////////////// // 08-Feb-2017, Roberto Castro, Si se cargaron imagen anteriormente digitalizadas, se borra la carpeta if (cboCargar.SelectedItem != null) { TransferirModel c = cboCargar.SelectedItem as TransferirModel; StorageFolder folder = await localFolder.GetFolderAsync(c.Nombre); await folder.DeleteAsync(); } //////////////////// LimpiarVista(); rootPage.NotifyUser("El documento fue guardado exitosamente. Puede continuar.", NotifyType.StatusMessage); } catch (Exception ex) { rootPage.NotifyUser(ex.Message, NotifyType.ErrorMessage); } }
private async void btnTransferir_Click(object sender, RoutedEventArgs e) { try { CambiarVisibilidad(Visibility.Collapsed); Models.Archivos.Archivos_PostBindingModel model = new Models.Archivos.Archivos_PostBindingModel(); foreach (var fila in lstArchivos.SelectedItems.Reverse()) { TransferirModel myFolder = (TransferirModel)fila; myFolder.Enviando = true; StorageFolder localFolder = await Utils.BaseFolder.CreateFolderAsync(TransferirContext.Carpeta.Name.Replace("Page", string.Empty), CreationCollisionOption.OpenIfExists); StorageFolder pdfFolderDig = await localFolder.CreateFolderAsync("Digitalizados", CreationCollisionOption.OpenIfExists); StorageFolder pdfFolderTran = await localFolder.CreateFolderAsync("Transferidos", CreationCollisionOption.OpenIfExists); try { model = await TransferirContext.getModel(myFolder.Nombre); model.Agregar = true; IEnumerable <IBuffer> archivos = await TransferirContext.getFolderFiles(myFolder.Nombre); string IdArchivo; IdArchivo = Convert.ToString(await ArchivosModel.Post(model, archivos)); ////////////////////////////// Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; bool value = Convert.ToBoolean(localSettings.Values["SaveLocalFile"]); if (value == true) { var queryTags = from a in model.Etiquetas select a.Valor; string NombreArchivo = string.Join("-", queryTags) + ".pdf"; try { StorageFile filepage = await pdfFolderDig.GetFileAsync(NombreArchivo); await filepage.MoveAsync(pdfFolderTran, NombreArchivo, NameCollisionOption.ReplaceExisting); } catch { } } ////////////////////////////// await TransferirContext.RemoverFolder(myFolder); } catch (Exception ex) { myFolder.Mensaje = ex.Message; myFolder.Enviando = false; } } } catch (Exception ex) { rootPage.NotifyUser(ex.Message, NotifyType.ErrorMessage); } finally { CambiarVisibilidad(Visibility.Visible); } }