Esempio n. 1
0
        public IActionResult KopirajPonudu(string broj)
        {
            var pon = _dbContext.ponuda.Include(p => p.partner).Include(p => p.Korisnik).FirstOrDefault(p => p.broj == broj);

            if (pon == null)
            {
                return(NotFound());
            }
            else
            {
                try
                {
                    var newPonuda = new ponuda();
                    Helper.CopyPropertiesTo <ponuda, ponuda>(pon, newPonuda);

                    newPonuda.status = "E";
                    newPonuda.datum  = DateTime.Now;

                    var    ponude        = _dbContext.ponuda.Where(p => p.datum.Year == DateTime.Now.Year);
                    string maxPonudaBroj = null;
                    int    year          = newPonuda.datum.Year;
                    int?   brojPonude    = null;
                    if (ponude != null && ponude.Count() > 0)
                    {
                        maxPonudaBroj = ponude.Max(p => p.broj);
                        int dbroj = int.Parse(maxPonudaBroj.Split("/")[0]);
                        brojPonude = dbroj + 1;
                    }
                    else
                    {
                        brojPonude = 1;
                    }

                    newPonuda.broj = brojPonude.Value.ToString("D5") + "/" + year.ToString();;

                    var stavke = _dbContext.ponuda_stavka.Where(s => s.ponuda_broj == pon.broj);

                    var stavkePonude = new List <ponuda_stavka>();
                    foreach (var stavka in stavke)
                    {
                        var newPonudaStavka = new ponuda_stavka();
                        Helper.CopyPropertiesTo <ponuda_stavka, ponuda_stavka>(stavka, newPonudaStavka);
                        newPonudaStavka.ponuda_broj = newPonuda.broj;
                        newPonudaStavka.ponuda      = newPonuda;
                        stavkePonude.Add(newPonudaStavka);
                        //_dbContext.ponuda_stavka.Add(newPonudaStavka);
                    }
                    newPonuda.stavke = stavkePonude;

                    _dbContext.ponuda.Add(newPonuda);

                    _dbContext.SaveChanges();
                    return(Ok(newPonuda));
                }
                catch (Exception ex)
                {
                    return(BadRequest());
                }
            }
        }
Esempio n. 2
0
        public IActionResult UpdateStavkaPonuda(ponuda_stavka stavka)
        {
            var ponuda_stavka = _dbContext.ponuda_stavka.Where(ps => ps.ponuda_broj == stavka.ponuda_broj && ps.stavka_broj == stavka.stavka_broj).FirstOrDefault();

            if (ponuda_stavka == null)
            {
                return(NotFound());
            }

            if (stavka.artikal != null)
            {
                stavka.artikal = _dbContext.artikal.FirstOrDefault(a => a.sifra == stavka.artikal.sifra);
            }


            Helper.CopyPropertiesTo <ponuda_stavka, ponuda_stavka>(stavka, ponuda_stavka);
            _dbContext.SaveChanges();
            return(Ok());
        }
Esempio n. 3
0
        public IActionResult InsertStavkaPonuda(ponuda_stavka stavka)
        {
            int?ponuda_stavka = null;
            var stavke        = _dbContext.ponuda_stavka.Where(ps => ps.ponuda_broj == stavka.ponuda_broj);

            if (stavke != null && stavke.Count() > 0)
            {
                ponuda_stavka = stavke.Max(ps => ps.stavka_broj);
            }

            if (stavka.artikal != null)
            {
                stavka.artikal = _dbContext.artikal.FirstOrDefault(a => a.sifra == stavka.artikal.sifra);
            }

            stavka.stavka_broj = ponuda_stavka == null ? 1 : (ponuda_stavka.Value + 1);
            _dbContext.Add(stavka);
            _dbContext.SaveChanges();
            return(Ok(stavka));
        }