Ejemplo n.º 1
0
 //Função que permite receber os dados e criar o modelo
 public void SubmeterDados(IDados dados, OpcoesExecucao operacao)
 {
     try
     {
         if (dados.Tipo == TipoDados.Count)
         {
             _modelo = new CountMod((CountDados)dados);
         }
         else if (dados.Tipo == TipoDados.Alternate)
         {
             _modelo = new Union((UnionDados)dados);
         }
         else if (dados.Tipo == TipoDados.Concat)
         {
             _modelo = new Union((UnionDados)dados);
         }
         else if (dados.Tipo == TipoDados.Create)
         {
             _modelo = new CreateMod((CreateDados)dados);
         }
         else if (dados.Tipo == TipoDados.Protect)
         {
             _modelo = new EncriptMod((EncriptDados)dados);
         }
         else if (dados.Tipo == TipoDados.Split)
         {
             _modelo = new SplitMod((SplitDados)dados);
         }
         else if (dados.Tipo == TipoDados.Unprotect)
         {
             _modelo = new EncriptMod((EncriptDados)dados);
         }
         else if (dados.Tipo == TipoDados.AddPage)
         {
             _modelo = new AddPageMod((AddPageDados)dados);
         }
         else if (dados.Tipo == TipoDados.RemovePage)
         {
             _modelo = new RemoveMod((RemoveDados)dados);
         }
         else if (dados.Tipo == TipoDados.WaterMark)
         {
             _modelo = new WaterMarkMod((WaterMarkDados)dados);
         }
         _ui.Modelo = _modelo;
         Opcao      = operacao;
     }
     catch (ExceptionFileNotFound erro)
     {
         throw new ExceptionFileNotFound(erro);
     }
     catch (ExceptionDadosInvalidos erro)
     {
         throw new ExceptionDadosInvalidos(erro);
     }
     catch (DllNotFoundException erro)
     {
         throw new DllNotFoundException(erro.Message);
     }
 }
Ejemplo n.º 2
0
        //Função que executa a funcionalidade
        public void ProcessarDados(OpcoesExecucao op)
        {
            try
            {
                switch (op)
                {
                case OpcoesExecucao.ContarPaginas:
                    efetuarProcesso = ((CountMod)_modelo).ContarPaginas;
                    break;

                case OpcoesExecucao.RemoverPagina:
                    efetuarProcesso = ((RemoveMod)_modelo).RemovePage;
                    break;

                case OpcoesExecucao.AdicionarMarca:
                    efetuarProcesso = ((WaterMarkMod)_modelo).WatermarkFile;
                    break;

                case OpcoesExecucao.AdicionarPagina:
                    efetuarProcesso = ((AddPageMod)_modelo).AddPage;
                    break;

                case OpcoesExecucao.Encriptar:
                    efetuarProcesso = ((EncriptMod)_modelo).EncriptarMod;
                    break;

                case OpcoesExecucao.Decriptar:
                    efetuarProcesso = ((EncriptMod)_modelo).DecriptarMod;
                    break;

                case OpcoesExecucao.Concatenar:
                    efetuarProcesso = ((Union)_modelo).Concatenar;
                    break;

                case OpcoesExecucao.Unir:
                    efetuarProcesso = ((Union)_modelo).Alternar;
                    break;

                case OpcoesExecucao.Criar:
                    efetuarProcesso = ((CreateMod)_modelo).Criar;
                    break;

                case OpcoesExecucao.SepararFicheiro:
                    efetuarProcesso = ((SplitMod)_modelo).SplitDocument;
                    break;
                }
                efetuarProcesso.Invoke();
            }
            catch (ExceptionDadosInvalidos erro)
            {
                throw new ExceptionDadosInvalidos(erro);
            }
            catch (ExceptionFileNotFound erro)
            {
                throw new ExceptionFileNotFound(erro);
            }catch (DllNotFoundException erro)
            {
                throw new DllNotFoundException(erro.Message);
            }
        }
Ejemplo n.º 3
0
        //Solicita dados de Unir
        private void MenuUnir(OpcoesExecucao op)
        {
            string caminhoOrigem;
            string caminhoOrigem2;
            string caminhoDestino;

            try{
                //Limpa o terminal
                Console.Clear();
                //Solicita os dados ao utilizador
                caminhoOrigem = this.caminhoOrigem();
                Console.WriteLine("Dados do 2º ficheiro:");
                caminhoOrigem2 = this.caminhoOrigem();
                caminhoDestino = this.caminhoDestino(caminhoOrigem);

                //Submete os dados no controlador
                UnionDados dados;
                //Verifica qual o tipo de união
                switch (op)
                {
                case OpcoesExecucao.Unir:
                    dados = new UnionDados(caminhoOrigem, caminhoOrigem2, caminhoDestino,
                                           TipoDados.Alternate);
                    ((IView)this).Controlador.SubmeterDados(dados, op);
                    break;

                case OpcoesExecucao.Concatenar:
                    dados = new UnionDados(caminhoOrigem, caminhoOrigem2, caminhoDestino,
                                           TipoDados.Concat);
                    ((IView)this).Controlador.SubmeterDados(dados, op);
                    break;
                }
            }catch (FormatException erro)
            {
                Console.WriteLine("Erro: {0}", erro.Message);
                Console.WriteLine("Clique em qualquer tecla para continua!");
                Console.ReadLine();
            }
        }
Ejemplo n.º 4
0
        //Função que mostra os resultados do sucesso da operação
        public void ExibeResultado(OpcoesExecucao op)
        {
            //Verifica qual o tipo de operação executada
            switch (op)
            {
            case OpcoesExecucao.AdicionarPagina:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine(
                        "Foi adicionada a página {0} do ficheiro {1}, na posição {2} do ficheiro {3}.",
                        ((IView)this).Modelo.Page, ((IView)this).Modelo.FileOrigem2,
                        ((IView)this).Modelo.AddPosition, ((IView)this).Modelo.FileDestino);
                }
                else
                {
                    Console.WriteLine("Não foi possível adicionar a página ao ficheiro {0}", ((IView)this).Modelo.FileDestino);
                }

                break;

            case OpcoesExecucao.RemoverPagina:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine("Foi removida a página {0} do ficheiro {1}.", ((IView)this).Modelo.Page, ((IView)this).Modelo.FileDestino);
                }
                else
                {
                    Console.WriteLine("Não foi possível remover a página do ficheiro {0}", ((IView)this).Modelo.FileDestino);
                }

                break;

            case OpcoesExecucao.AdicionarMarca:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine("Foi adicionada a seguinte marca de água {0} no ficheiro {1}", ((IView)this).Modelo.Texto, ((IView)this).Modelo.FileDestino);
                }
                else
                {
                    Console.WriteLine("Não Foi possível adicionar a marca de água no ficheiro {0}", ((IView)this).Modelo.FileDestino);
                }

                break;

            case OpcoesExecucao.Unir:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine("Ficheiro {0} e {1} foram unidos de forma alternada.", ((IView)this).Modelo.FileOrigem, ((IView)this).Modelo.FileOrigem2);
                }
                else
                {
                    Console.WriteLine("Não foi possível unir ficheiros {0} e {1}", ((IView)this).Modelo.FileOrigem, ((IView)this).Modelo.FileOrigem2);
                }

                break;

            case OpcoesExecucao.Concatenar:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine("Ficheiro {0} e {1} foram concatenados.", ((IView)this).Modelo.FileOrigem, ((IView)this).Modelo.FileOrigem2);
                }
                else
                {
                    Console.WriteLine("Não foi possível unir ficheiros {0} e {1}", ((IView)this).Modelo.FileOrigem, ((IView)this).Modelo.FileOrigem2);
                }

                break;

            case OpcoesExecucao.Encriptar:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine("O ficheiro {0} foi encriptado", ((IView)this).Modelo.FileDestino);
                }
                else
                {
                    Console.WriteLine("Não foi possível encriptar o ficheiro{0}", ((IView)this).Modelo.FileOrigem);
                }

                break;

            case OpcoesExecucao.Decriptar:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine("Foi removida a encriptação no ficheiro {0}", ((IView)this).Modelo.FileDestino);
                }
                else
                {
                    Console.WriteLine("Não foi possível remover encriptação! Senha não é válida.");
                }

                break;

            case OpcoesExecucao.ContarPaginas:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine("O ficheiro {0} possui {1} páginas.", ((IView)this).Modelo.FileOrigem,
                                      ((IView)this).Modelo.NumPages);
                }
                else
                {
                    Console.WriteLine("Não foi possível contar as páginas do ficheiro {0}", ((IView)this).Modelo.FileOrigem);
                }

                break;

            case OpcoesExecucao.SepararFicheiro:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine(
                        "O ficheiro {0} foi dividido na página {1} criando os ficheiros {2} e {3}",
                        ((IView)this).Modelo.FileOrigem, ((IView)this).Modelo.Page,
                        ((IView)this).Modelo.FileDestino, ((IView)this).Modelo.FileDestino2);
                }
                else
                {
                    Console.WriteLine("Não foi possível separar o ficheiro {0}", ((IView)this).Modelo.FileOrigem);
                }
                break;

            case OpcoesExecucao.Criar:
                if (((IView)this).Modelo.Resultado)
                {
                    Console.WriteLine("Foi adicionada a seguinte texto: {0} \r\nno ficheiro {1}", ((IView)this).Modelo.Texto, ((IView)this).Modelo.FileDestino);
                }
                else
                {
                    Console.WriteLine("Não Foi possível adicionar o texto no2 ficheiro {0}", ((IView)this).Modelo.FileDestino);
                }

                break;
            }
        }