Пример #1
0
        public virtual void StornirajStavku(FinStavka originalStavka)
        {
            if (originalStavka == null)
            {
                throw new ArgumentNullException(nameof(originalStavka));
            }
            ProveriStavkaPripadaNalogu(originalStavka);

            var stornoStavka = new FinStavka(originalStavka.IdKonto, -originalStavka.Iznos.Duguje, -originalStavka.Iznos.Potrazuje, null);

            ProknjiziStavku(stornoStavka);
        }
Пример #2
0
        public virtual void UkloniStavku(FinStavka stavka)
        {
            if (stavka == null)
            {
                throw new ArgumentNullException(nameof(stavka));
            }
            ProveriZakljucan();
            if (!Obrisan && _stavke.Count <= 1)
            {
                throw new KnjizenjeException("Nalog mora imati bar jednu stavku");
            }
            ProveriStavkaPripadaNalogu(stavka);

            Obavesti(new StavkaUklonjena(Id, stavka.Id, stavka.DatumKnjizenja, stavka.IdKonto,
                                         stavka.Iznos.Duguje, stavka.Iznos.Potrazuje, stavka.Opis));
        }
Пример #3
0
        public virtual void ProknjiziStavku(FinStavka stavka)
        {
            if (stavka == null)
            {
                throw new ArgumentNullException(nameof(stavka));
            }
            if (stavka.Id == Guid.Empty)
            {
                throw new KnjizenjeException("Id stavke nije validan");
            }
            if (_stavke.Any(x => x.Id == stavka.Id))
            {
                throw new KnjizenjeException("Stavka je već proknjižena");
            }
            ProveriZakljucan();

            DateTime datumKnjizenja = DateTime.Today;

            Obavesti(new StavkaProknjizena(Id, stavka.Id, datumKnjizenja, stavka.IdKonto,
                                           stavka.Iznos.Duguje, stavka.Iznos.Potrazuje, stavka.Opis));
        }
Пример #4
0
        internal void Primeni(StavkaProknjizena evnt)
        {
            var stavka = new FinStavka(evnt.IdStavke, evnt.IdKonto, evnt.Duguje, evnt.Potrazuje, evnt.Opis, evnt.DatumKnjizenja);

            _stavke.Add(stavka);
        }