public int RozpocznijDekompletacje() { NowyDokument(RW); WartoscRW = RW.WartoscDokumentu; ZwracaneWyniki = RW.GetReturns(); List <int> _ZwracaneWyniki = new List <int>(); _ZwracaneWyniki.AddRange(ZwracaneWyniki); if (SprawdzPoprawnoscDokumentu()) { NowyDokument(PW); _ZwracaneWyniki.AddRange(PW.GetReturns()); return(_ZwracaneWyniki.Sum()); } else { info.Sukces = false; info.Komunikat = "Różnica wartości dokumentów RW / PW jest zbyt duża.Wszystkie dokumenty dekompletacji zostaną cofnięte."; info.Rodzic = true; RW.NotifyObservers(info); AnulujDekompletacje(); _ZwracaneWyniki.AddRange(ZwracaneWyniki); return(_ZwracaneWyniki.Sum()); } }
private bool SprawdzPoprawnoscDokumentu() { ZwracaneWyniki = RW.GetReturns(); var wartoscPW = ListaTowarowPW.Sum(k => k.Cena * k.Ilosc); if (SprawdzMarginesBleduRWPW(WartoscRW, wartoscPW) <= 0.20m && ZwracaneWyniki.Sum() == 0) { return(true); } else { return(false); } }