public static void ImagemVisualizar(objImagem imagem) { try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; // GET IMAGE FOLDER string ImageFolder = GetImageFolder(); if (File.Exists(imagem.ImagemPath)) { System.Diagnostics.Process.Start($"{imagem.ImagemPath}"); } else { System.Diagnostics.Process.Start($"{ImageFolder}\\{imagem.ImagemPath}"); } } catch (Exception ex) { throw ex; } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
public static objImagem ImagemRemover(objImagem imagem) { try { string imageFolder = GetImageFolder(); // --- move to Removed folder imagem = RemoveImageToDefaultFolder(imagem, imageFolder); //--- check return if (imagem == null) { throw new AppException("Operação cancelada..."); } // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; ImagemSave(imagem); return(imagem); } catch (Exception ex) { throw ex; } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
public frmImagemDialog(objImagem imagem, bool IsNewImage, Form formOrigem) { InitializeComponent(); _formOrigem = formOrigem; propImagem = imagem; Height = 200; btnSalvar.Enabled = IsNewImage; lblPath.Text = imagem.ImagemPath; ResizeFontLabel(lblPath); }
public static void ImagemSave(objImagem imagem) { try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; new ImagemBLL().SaveImagem(imagem); } catch (Exception ex) { throw ex; } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// INSERT IMAGE //------------------------------------------------------------------------------------------------------------ private void mnuImagemInserir_Click(object sender, EventArgs e) { //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para Inserir Imagem...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } //--- get Selected item objDespesaCartao item = (objDespesaCartao)dgvListagem.SelectedRows[0].DataBoundItem; try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; objImagem imagem = new objImagem() { IDOrigem = (long)item.IDDespesa, Origem = EnumImagemOrigem.Despesa, ImagemFileName = item.Imagem == null ? string.Empty : item.Imagem.ImagemFileName, ImagemPath = item.Imagem == null ? string.Empty : item.Imagem.ImagemPath, ReferenceDate = item.DespesaData, }; // open form to edit or save image bool IsNew = item.Imagem == null || string.IsNullOrEmpty(item.Imagem.ImagemPath); imagem = ImagemUtil.ImagemGetFileAndSave(imagem, this); // check if isUpdated bool IsUpdated = false; if (item.Imagem != null && imagem != null) { IsUpdated = (item.Imagem.ImagemFileName != imagem.ImagemFileName) || (item.Imagem.ImagemPath != imagem.ImagemPath); } // update imagem object item.Imagem = imagem; // emit message if (IsNew && imagem != null) { AbrirDialog("Imagem associada e salva com sucesso!" + "\nPor segurança a imagem foi transferida para a pasta padrão.", "Imagem Salva", DialogType.OK, DialogIcon.Information); } else if (IsUpdated) { AbrirDialog("Imagem alterada com sucesso!" + "\nPor segurança a imagem anterior foi transferida para a pasta de imagens removidas.", "Imagem Alterada", DialogType.OK, DialogIcon.Information); } } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao obter a imagem..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
private static objImagem RemoveImageToDefaultFolder(objImagem image, string ImageFolder) { try { //--- check referece date if (image.ReferenceDate == null) { throw new Exception("Não há data de referência..."); } // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; // GEt fileInfo FileInfo file = new FileInfo($"{ImageFolder}\\{image.ImagemPath}"); bool _fileExist = file.Exists; if (!_fileExist) { var resp = AbrirDialog("A imagem relacinada e anexada ao registro não foi encontrada...\n" + "Não será possível fazer a movimentação para Backup da imagem.\n" + "Deseja DESASSOCIAR a imagem do registro assim mesmo?", "Imagem não encontrada", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second); if (resp == DialogResult.No) { return(null); } } else { DateTime refDate = (DateTime)image.ReferenceDate; string folderDate = $"{refDate:yyyy}{refDate:MM}"; string removedFolder = $"{ImageFolder}\\Removidas\\{folderDate}"; // check directory if (!Directory.Exists(removedFolder)) { Directory.CreateDirectory(removedFolder); } // backup file file.MoveTo($"{ImageFolder}\\Removidas\\{folderDate}\\{image.ImagemFileName}"); } // define new Image Path image.ImagemPath = ""; image.ImagemFileName = ""; // return return(image); } catch (Exception ex) { throw ex; } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
public static objImagem ImagemGetFileAndSave(objImagem imagem, Form formOrigem) { try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; // GET IMAGE FOLDER string ImageFolder = GetImageFolder(); // GET LastSourceImageFolder FROM CONFIG string LastSourceImageFolder = ObterDefault("LastSourceImageFolder"); string DefaultInitialFolder = string.IsNullOrEmpty(LastSourceImageFolder) ? Environment.GetFolderPath(Environment.SpecialFolder.Desktop) : LastSourceImageFolder; if (string.IsNullOrEmpty(imagem.ImagemFileName)) // if IMAGE = NULL { // GET ImageFile using (OpenFileDialog OFD = new OpenFileDialog() { Filter = "Arquivo PDF (*.pdf)|*.pdf|Image files (*.jpg, *.jpeg, *.png)|*.jpg; *.jpeg; *.png", Title = "Escolher arquivo de imagem", InitialDirectory = DefaultInitialFolder }) { if (OFD.ShowDialog() == DialogResult.OK) { imagem.ImagemFileName = OFD.SafeFileName; imagem.ImagemPath = OFD.FileName; using (frmImagemDialog frm = new frmImagemDialog(imagem, true, formOrigem)) { frm.ShowDialog(); if (frm.DialogResult == DialogResult.OK) { imagem.ImagemFileName = frm.propImagem.ImagemFileName; imagem.ImagemPath = frm.propImagem.ImagemPath; SaveDefault("LastSourceImageFolder", Path.GetDirectoryName(imagem.ImagemPath)); } else { return(null); } } } else { return(null); } } } else // IF THERE IS IMAGE --> OPEN/EDIT IMAGE { objImagem oldImage = imagem.ShallowCopy(); using (frmImagemDialog frm = new frmImagemDialog(imagem, false, formOrigem)) { frm.ShowDialog(); if (frm.DialogResult == DialogResult.OK) { // remove old file RemoveImageToDefaultFolder(oldImage, ImageFolder); // change image to new file name imagem.ImagemFileName = frm.propImagem.ImagemFileName; imagem.ImagemPath = frm.propImagem.ImagemPath; } else { return(imagem); } } } // copy to default folder imagem = CopyImageToDefaultFolder(imagem, ImageFolder); // save in database ImagemSave(imagem); return(imagem); } catch (Exception ex) { throw new Exception("Uma exceção ocorreu ao Obter o arquivo da imagem..." + "\n" + ex.Message); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
private static objImagem CopyImageToDefaultFolder(objImagem image, string ImageFolder) { try { //--- check referece date if (image.ReferenceDate == null) { throw new Exception("Não há data de referência..."); } // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; // GEt fileInfo FileInfo file = new FileInfo(image.ImagemPath); // copy file to Default Folder string subFolder = ""; switch (image.Origem) { case EnumImagemOrigem.Despesa: subFolder = "Despesas"; image.ImagemFileName = $"Desp{image.IDOrigem:D4}_{image.ImagemFileName}"; break; case EnumImagemOrigem.APagar: subFolder = "APagar"; image.ImagemFileName = $"Pag{image.IDOrigem:D4}_{image.ImagemFileName}"; break; case EnumImagemOrigem.Movimentacao: subFolder = "Movimentacao"; image.ImagemFileName = $"Mov{image.IDOrigem:D4}_{image.ImagemFileName}"; break; default: break; } DateTime refDate = (DateTime)image.ReferenceDate; string folderDate = $"{refDate:yyyy}{refDate:MM}"; string completeFolder = $"{ImageFolder}\\{subFolder}\\{folderDate}"; // check directory if (!Directory.Exists(completeFolder)) { Directory.CreateDirectory(completeFolder); } // check file exists if (File.Exists($"{ImageFolder}\\{subFolder}\\{folderDate}\\{image.ImagemFileName}")) { throw new Exception("Já existe um arquivo com mesmo nome na pasta padrão:\n" + $"{ImageFolder}\\{subFolder}\\{folderDate}\\{image.ImagemFileName}"); } file.MoveTo($"{ImageFolder}\\{subFolder}\\{folderDate}\\{image.ImagemFileName}"); // define new Image Path image.ImagemPath = $"\\{subFolder}\\{folderDate}\\{image.ImagemFileName}"; // return return(image); } catch (Exception ex) { throw ex; } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
private void btnInserirImagem_Click(object sender, EventArgs e) { if (_despesa.IDDespesa == null) { AbrirDialog("É necessário salvar a despesa para anexar uma imagem...", "Necessário Salvar", DialogType.OK, DialogIcon.Warning); return; } try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; objImagem imagem = new objImagem() { IDOrigem = (long)_despesa.IDDespesa, Origem = EnumImagemOrigem.Despesa, ImagemFileName = _despesa.Imagem == null ? string.Empty : _despesa.Imagem.ImagemFileName, ImagemPath = _despesa.Imagem == null ? string.Empty : _despesa.Imagem.ImagemPath, ReferenceDate = _despesa.DespesaData, }; // open form to edit or save image bool IsNew = _despesa.Imagem == null || string.IsNullOrEmpty(_despesa.Imagem.ImagemPath); imagem = ImagemUtil.ImagemGetFileAndSave(imagem, this); // check if isUpdated bool IsUpdated = false; if (_despesa.Imagem != null && imagem != null) { IsUpdated = (_despesa.Imagem.ImagemFileName != imagem.ImagemFileName) || (_despesa.Imagem.ImagemPath != imagem.ImagemPath); } // update imagem object _despesa.Imagem = imagem; // emit message if (IsNew && imagem != null) { AbrirDialog("Imagem associada e salva com sucesso!" + "\nPor segurança a imagem foi transferida para a pasta padrão.", "Imagem Salva", DialogType.OK, DialogIcon.Information); } else if (IsUpdated) { AbrirDialog("Imagem alterada com sucesso!" + "\nPor segurança a imagem anterior foi transferida para a pasta de imagens removidas.", "Imagem Alterada", DialogType.OK, DialogIcon.Information); } } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao obter a imagem..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
/* Origem OrigemDescricao * ------ -------------------------------------------------- * 1 tblDespesa * 2 tblAPagar * 3 tblMovimentacao */ //=============================================================================== // SAVE NEW IMAGEM //=============================================================================== public bool SaveImagem(objImagem imagem, object dbTran = null) { AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran; bool tranInterna = false; if (dbTran == null) { db.BeginTransaction(); tranInterna = true; } try { //--- DELETE old Imagem DeleteImagem(imagem.Origem, imagem.IDOrigem); //--- Verifica se existe Imagem, se nao return TRUE if (imagem.ImagemFileName.Trim().Length == 0) { //--- COMMIT if (tranInterna) { db.CommitTransaction(); } //--- RETURN return(true); } //--- INSERT NEW DETERMINA OS PARAMETROS db.LimparParametros(); db.AdicionarParametros("@Origem", imagem.Origem); db.AdicionarParametros("@IDOrigem", imagem.IDOrigem); db.AdicionarParametros("@ImagemFileName", imagem.ImagemFileName); db.AdicionarParametros("@ImagemPath", imagem.ImagemPath); //--- INSERE A NOVA Imagem string myQuery = "INSERT INTO tblImagem " + "(IDOrigem, Origem, ImagemFileName, ImagemPath) " + "VALUES " + "(@IDOrigem, @Origem, @ImagemFileName, @ImagemPath)"; db.ExecutarManipulacao(CommandType.Text, myQuery); //--- COMMIT if (tranInterna) { db.CommitTransaction(); } return(true); } catch (Exception ex) { //--- ROLLBACK if (tranInterna) { db.RollBackTransaction(); } throw ex; } }