I'm writing a code in C#. Please see below codes.
//-- Constructor
public frmInvoice(EditInvoice editInvoice)
{
InitializeComponent();
originalInfo = new EditInvoice();
editedInfo = new EditInvoice();
originalInfo = editInvoice;
editedInfo = editInvoice;
payment = new Payment();
}
//-- Process
private void btnOk_Click(object sender, EventArgs e)
{
editedInfo.AppliedAmount = Convert.ToDouble(txtAppliedAmount.Text);
editedInfo.PaymentCode = cboPaymentCode.SelectedValue.ToString();
editedInfo.Remarks = txtRemarks.Text;
if (originalInfo.AppliedAmount != editedInfo.AppliedAmount ||
originalInfo.PaymentCode != editedInfo.PaymentCode ||
originalInfo.Remarks != editedInfo.Remarks)
{
editedInfo.IsEdited = true;
}
}
Now the question is, why the original object **originalInfo**
also changed that is supposedly not. It's annoying!
Additional: Is there a better/shortest way to compare to object (models) if have difference?