Olá,
Eu estou trabalhando com WinForms e fazendo o Bind dos objetos na tela utilizando BindingSource. Cada formulário está ligado a um BindingSource que representa uma Entidade do EF.
Criei uma nova tela agora que tem um relacionamento 1-N, estilo nota fiscal e itens.
Quando o usuário clica em um botão para adicionar um novo item nessa nota, abre uma nova janela com os campos do item e os controles dessa janela também estão fazendo o Binding em um BindingSource, só que nesse caso de um objeto do tipo ItemNota.
Então o usuário adiciona um novo item, abre essa janela, ele preenche as informações e salva. A janela fecha, volta para a nova fiscal agora com um novo item na Grid. Se ele der um duplo clique nesse item, a janela se abre novamente, já com as informações
do item selecionado para alteração.
Aí é que está o meu problema, como a janela já abre fazendo o Bind desse objeto que está na coleção de itens da nota fiscal, mesmo que o usuário altere um campo e clique em Sair, a alteração já ficou salva no objeto, pois ele foi passado para essa tela como
parametro ( o item da nota selecionado ).
Como eu poderia fazer para cancelar essas alterações no objeto, sendo que ele ainda não foi salvo no banco ? Teria que criar uma cópia desse objeto na tela de item ao invés de passar a referencia ?
Espero que alguém possa me dar uma força..
Um abraço,