コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        public frmImagemDialog(objImagem imagem, bool IsNewImage, Form formOrigem)
        {
            InitializeComponent();

            _formOrigem = formOrigem;
            propImagem  = imagem;
            Height      = 200;

            btnSalvar.Enabled = IsNewImage;

            lblPath.Text = imagem.ImagemPath;
            ResizeFontLabel(lblPath);
        }
コード例 #4
0
        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;
            }
        }
コード例 #5
0
        // 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;
            }
        }
コード例 #6
0
        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;
            }
        }
コード例 #7
0
        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;
            }
        }
コード例 #8
0
        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;
            }
        }
コード例 #9
0
        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;
            }
        }
コード例 #10
0
        /* 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;
            }
        }