示例#1
0
        public Racun Sacuvaj()
        {
            //var id = fRepository.VratiSledeciIDRacuna();
            var poslednjiRacun = fRepository.VratiPosledjiRacun();
            var id             = 1;
            var oznaka         = "";

            if (poslednjiRacun != null)
            {
                id     = poslednjiRacun.ID + 1;
                oznaka = poslednjiRacun.Oznaka.Substring(2);
                oznaka = KonfiguracijaKase.ProdavnicaID + "/" + (Int32.Parse(oznaka) + 1);
            }
            var racun = new Racun
            {
                ID           = id,
                TipDokumenta = (int)TipDokumenta.Prodaja,
                RadnjaID     = Racun.RadnjaID,
                Oznaka       = oznaka,
                Datum        = DateTime.Now,
                Zakljucen    = true,
                Gotovina     = Racun.Gotovina - Racun.Kusur,
                Kartica      = Racun.Kartica,
                Cek          = Racun.Cek,
                IznosRacuna  = Racun.IznosRacuna,
            };

            fRepository.SacuvajRacun(racun);
            foreach (var stavkaRacuna in Racun.StavkeRacuna)
            {
                var stavka = new StavkaDokumenta()
                {
                    ArtikalID    = stavkaRacuna.Artikal.ID,
                    Kolicina     = stavkaRacuna.Kolicina,
                    ProdajnaCena = stavkaRacuna.Artikal.Cena,
                    DokumentID   = racun.ID
                };
                racun.Stavke.Add(stavka);
                fRepository.InsertStavkaDokumenta(stavka);
                var zaliha = fRepository.VratiZalihuArtikla(stavkaRacuna.Artikal.ID, Racun.RadnjaID.Value);
                zaliha.UkupnaZaliha  -= stavkaRacuna.Kolicina;
                zaliha.TrenutnaZaliha = zaliha.UkupnaZaliha;
            }

            fRepository.Submit();

            return(racun);
        }
示例#2
0
        private void SacuvajRacun(Repository repository, Racun racun)
        {
            var postoji = repository.PostojiRacun(racun.UID);

            if (postoji)
            {
                return;
            }
            var r = new Racun()
            {
                TipDokumenta  = (int)TipDokumenta.Prodaja,
                RadnjaID      = racun.RadnjaID,
                Datum         = DateTime.Now,
                Oznaka        = racun.Oznaka,
                Zakljucen     = true,
                Gotovina      = racun.Gotovina,
                Kartica       = racun.Kartica,
                Cek           = racun.Cek,
                IznosRacuna   = racun.IznosRacuna,
                Sinhronizovan = true
            };

            repository.SacuvajRacun(r);
            foreach (var stavkaRacuna in racun.Stavke)
            {
                var stavka = new StavkaDokumenta
                {
                    ArtikalID    = stavkaRacuna.ArtikalID,
                    Kolicina     = stavkaRacuna.Kolicina,
                    ProdajnaCena = stavkaRacuna.ProdajnaCena,
                    DokumentID   = r.ID
                };
                repository.InsertStavkaDokumenta(stavka);
                var zaliha = repository.VratiZalihuArtikla(stavkaRacuna.ArtikalID.Value, r.RadnjaID.Value);
                zaliha.TrenutnaZaliha -= stavkaRacuna.Kolicina;
                if (zaliha.TrenutnaZaliha < 0)
                {
                    throw new Exception("Zaliha artikla je negativna");
                }
            }
        }
        public ActionResult SacuvajStavku([Bind(Prefix = "StavkaDokumenta")] StavkaDokumenta stavka)
        {
            if (ModelState.IsValid)
            {
                var dokument = fRepository.VratiDokumentSaStavkama(stavka.DokumentID);
                if (stavka.ID == 0)
                {
                    dokument.Stavke.Add(stavka);
                }
                else
                {
                    var stavkaDokumenta = dokument.Stavke.Single(x => x.ID == stavka.ID);
                    stavkaDokumenta.ArtikalID    = stavka.ArtikalID;
                    stavkaDokumenta.Kolicina     = stavka.Kolicina;
                    stavkaDokumenta.NabavnaCena  = stavka.NabavnaCena;
                    stavkaDokumenta.ProdajnaCena = stavka.ProdajnaCena;
                }
                fRepository.Submit();
            }

            return(new EmptyResult());
        }
 public NabavkaViewModel()
 {
     Dokument        = new Dokument();
     StavkaDokumenta = new StavkaDokumenta();
 }
示例#5
0
 public void InsertStavkaDokumenta(StavkaDokumenta stavka)
 {
     DataContext.StavkeDokumenta.Add(stavka);
 }
示例#6
0
 public void IzmeniStavku(StavkaDokumenta stavka)
 {
     DataContext.Entry(stavka).State = EntityState.Modified;
 }