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