private void lista_DoubleClick(object sender, EventArgs e)
        {
            Cadastro janela;
            Entidades.Pagamentos.Pagamento pagamento;

            if (lista.SelectedItems.Count != 0)
            {
                UseWaitCursor = true;

                pagamento = hashItemListaPagamento[lista.SelectedItems[0]].Pagamento;

                if (pagamento is Cheque)
                    janela = new CadastroCheque();
                else if (pagamento is Dinheiro)
                    janela = new CadastroDinheiro();
                else if (pagamento is NotaPromissória)
                    janela = new CadastroNotaPromissória();
                else if (pagamento is Ouro)
                    janela = new CadastroOuro();
                else if (pagamento is Dolar)
                    janela = new CadastroDolar();
                else
                    throw new NotSupportedException("Tipo de pagamento não suportado na lista de pagamento.");

                janela.PagamentoAlteradoOuRegistrado += new EventHandler(janela_PagamentoAlteradoOuRegistrado);
                janela.Disposed += new EventHandler(janela_Disposed);
                
                /* É necessário clonar o pagamento, de forma que se o usuário fizer alguma
                 * modificação e depois cancelar, não é pertubado nas entidades da lista. 
                 */
                janela.PrepararParaAlteração((Entidades.Pagamentos.Pagamento) pagamento.Clone());
                janela.ShowDialog(ParentForm);
                
                UseWaitCursor = false;
            }
        }
        private void adicionarChequeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Cadastro c = new CadastroCheque();
            AbrirJanelaCadastro(c);

            while (c.DialogResult != DialogResult.Cancel)
            {
                c = new CadastroCheque();
                AbrirJanelaCadastro(c);
            }
        }
Exemple #3
0
        public static Cadastro ConstruirJanelaEdição(Entidades.Pagamentos.Pagamento pagamento)
        {
            Cadastro dlg;

            if (pagamento is Cheque)
                dlg = new CadastroCheque();

            else if (pagamento is Dinheiro)
                dlg = new CadastroDinheiro();

            else if (pagamento is NotaPromissória)
                dlg = new CadastroNotaPromissória();

            else
                throw new NotSupportedException();

            dlg.PrepararParaAlteração(pagamento);

            return dlg;
        }