/// <summary> /// Modify this._Saldo property to new accounting balance given that apunte have not been changed yet. /// nuevoDebeHaber es diferente que apunte.DebeHaber. /// </summary> /// <param name="apunte"></param> /// <param name="oldamount"></param> public void CambiaSaldo(Apunte apunte, DebitCredit nuevoDebeHaber) { //nuevo saldo = saldo - (debehaber * importe * 2) => debehaber -1 si haber y +1 si debe this._Saldo -= (((int)nuevoDebeHaber) * apunte.Importe * 2); //if (apunte.DebeHaber == DebitCredit.Debit) _Saldo = _Saldo - (apunte.Importe * 2); //else _Saldo = _Saldo + (apunte.Importe * 2); }
/// <summary> /// Modify this._Saldo property to new accounting balance given that apunte have not been changed yet. /// </summary> /// <param name="apunte"></param> /// <param name="oldamount"></param> public void CambiaSaldo(Apunte apunte, decimal nuevoImporte) { //nuevo saldo = saldo + (-debehaber * importe viejo) + (debehaber * importe nuevo) = saldo + debehaber * (-importe viejo + importe nuevo) this._Saldo += (((int)apunte.DebeHaber) * (nuevoImporte - apunte.Importe)); //if (apunte.DebeHaber == DebitCredit.Debit) _Saldo = _Saldo - apunte.Importe + nuevoImporte; //else _Saldo = _Saldo + apunte.Importe - nuevoImporte; }
/// <summary> /// Modify this._Saldo property to new accounting balance given that apunte have not been changed yet. /// nuevoDebeHaber es diferente que apunte.DebeHaber. /// nuevoImporte es diferente que apunte.Importe. /// </summary> /// <param name="apunte"></param> /// <param name="nuevoImporte"></param> /// <param name="nuevoDebeHaber"></param> public void CambiaSaldo(Apunte apunte, decimal nuevoImporte, DebitCredit nuevoDebeHaber) { //nuevo saldo = saldo - (Viejodebehaber * viejo importe) - (Viejodebehaber * nuevo importe) = saldo - Viejodebehaber(viejo importe + nuevo importe) this._Saldo += (((int)nuevoDebeHaber) * (apunte.Importe + nuevoImporte)); }