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