// GET AND VIZUALIZE FOTO IMAGE FROM SERVER //------------------------------------------------------------------------------------------------------------ private async void ObterFotoServidor() { DefineFotoEstado(EnumDefineFoto.LOADING); try { var image = await GDriveControl.GetImageFromDrive($"{_membro.RGMembro}.jpg"); if (image != null) { FotoImage = image; DefineFotoEstado(EnumDefineFoto.FOTO_OK); } else { DefineFotoEstado(EnumDefineFoto.SEM_FOTO); } } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Obter a Imagem da Foto no Drive..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); DefineFotoEstado(EnumDefineFoto.SEM_FOTO); } }
// REMOVE FOTO FROM SERVER //------------------------------------------------------------------------------------------------------------ private async void mnuRemoverFoto_Click(object sender, EventArgs e) { var resp = AbrirDialog("Deseja realmente excluir / remover a Foto do membro atual?\n" + "Aconselhasse antes fazer download da foto atual para salvar em Backup...", "Excluir Foto do Membro", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second); if (resp == DialogResult.No) { return; } try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; //--- remove foto await GDriveControl.RemoveImageFromDefaultFolder($"{_membro.RGMembro}.jpg"); //--- clear image DefineFotoEstado(EnumDefineFoto.SEM_FOTO); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Remover a Foto do Drive..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// SEND/UPLOAD IMAGE FOTO TO SERVER //------------------------------------------------------------------------------------------------------------ private async void FotoServerUpload(string ImagePath) { try { //--- clear Image DefineFotoEstado(EnumDefineFoto.LOADING); //--- define new Name string newFileName = $"{_membro.RGMembro}.jpg"; //--- upload to GOOGLE DRIVE await GDriveControl.SaveFileInDriveImageFolder(ImagePath, newFileName, this); //--- define new Image FotoImage = Image.FromFile(ImagePath); DefineFotoEstado(EnumDefineFoto.FOTO_OK); //--- notify message new NotifyIcon("Foto enviada", "Foto do Membro enviada com sucesso!", ToolTipIcon.Info); } catch (Exception ex) { AbrirDialog("Um erro aconteceu ao copiar a Imagem para a Nuvem...\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); DefineFotoEstado(EnumDefineFoto.SEM_FOTO); } }
// CHECK FOTOS FORM SERVER //------------------------------------------------------------------------------------------------------------ private async Task <bool> CheckAndGetFotosFromServer() { //--- Get Directory to Download string appDataSavePath = Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData) + "\\CartaoIgreja\\PrintFotos"; if (!Directory.Exists(appDataSavePath)) { Directory.CreateDirectory(appDataSavePath); } try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; foreach (objMembro membro in lstMembros) { try { await GDriveControl.DownloadImageAndSaveLocal($"{membro.RGMembro}.jpg", appDataSavePath); membro.ImagemFoto = Path.Combine(appDataSavePath, $"{membro.RGMembro}.jpg"); } catch (AppException) { AbrirDialog("Ainda não existe a foto do Membro no GoogleDrive:\n" + $"{membro.MembroNome}.", "Imagem/Foto Ausente", DialogType.OK, DialogIcon.Exclamation); return(false); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Obter as Fotos do Servidor..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); break; } } } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Obter as Fotos do Servidor..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } return(true); }
// DOWNLOAD DA FOTO //------------------------------------------------------------------------------------------------------------ private async void mnuDownloadFoto_Click(object sender, EventArgs e) { if (FotoState != EnumDefineFoto.FOTO_OK) { AbrirDialog("Não existe uma foto anexada ao Registro de Membro...\n" + "Não é possível realizar o Download da Foto.", "Obter Foto", DialogType.OK, DialogIcon.Exclamation); return; } //--- Get File Image string ImagePath = ""; using (FolderBrowserDialog OFD = new FolderBrowserDialog() { ShowNewFolderButton = true, RootFolder = Environment.SpecialFolder.Desktop }) { if (OFD.ShowDialog() == DialogResult.OK) { ImagePath = OFD.SelectedPath; } } if (ImagePath.Length == 0) { return; } //--- DOWNLOAD from server try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; await GDriveControl.DownloadImageAndSaveLocal($"{_membro.RGMembro}.jpg", ImagePath); AbrirDialog("Foto obtida com sucesso!", "Download de Foto", DialogType.OK, DialogIcon.Information); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Obter a foto do servidor..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }