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); } }
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; }