public NarudzbaKreiranaVM Add([FromBody] NarudzbaAddVM data) { Narudzba nova = new Narudzba(); nova.KorisnickiNalogId = data.nalogId; if (data.topPonudaId != 0) { nova.KonacnaCijena = data.konacnaCijena; nova.TopPonudaId = data.topPonudaId; } _db.Narudzba.Add(nova); _db.SaveChanges(); Narudzba narudzba = _db.Narudzba .Where(w => w.KorisnickiNalogId == nova.KorisnickiNalogId).Last(); NarudzbaKreiranaVM result = new NarudzbaKreiranaVM(); result.id = narudzba.Id; result.topPonudaId = narudzba.TopPonudaId ?? 0; result.nalogId = narudzba.KorisnickiNalogId; result.konacnaCijena = narudzba.KonacnaCijena ?? 0; return(result); }
public NarudzbaKreiranaVM Add([FromBody] KorisnikAddVM input) { Korisnik k = new Korisnik(); k.Ime = input.ime; k.Prezime = input.prezime; k.Telefon = input.telefon; k.KorisnickiNalogId = input.korisnickiNalog; _db.Korisnik.Add(k); _db.SaveChanges(); Narudzba n = _db.Narudzba.Include(x => x.TopPonuda).Where(x => x.KorisnickiNalogId == k.KorisnickiNalogId).LastOrDefault(); NarudzbaKreiranaVM result = new NarudzbaKreiranaVM(); //Racunanje cijene if (n.TopPonudaId == null) { float sumaUkrasa = 0; float sumaCvijeca = 0; List <Narudzba_Stavka> stavke = new List <Narudzba_Stavka>(); stavke = _db.Narudzba_Stavka.Where(x => x.NarudzbaId == n.Id).ToList(); for (int i = 0; i < stavke.Count; i++) { sumaUkrasa = 0; sumaCvijeca = 0; if (stavke[i].KolicinaCvjetova != 0) { int stavkaBoja = stavke[i].VrstaCvijeta_BojaId ?? 0; int vrstaCvijeta = _db.VrstaCvijeta_Boja.Where(x => x.Id == stavkaBoja).FirstOrDefault().VrstaCvijetaId; int cijenaId = _db.VrstaCvijeta.Where(x => x.Id == vrstaCvijeta).FirstOrDefault().CijenaId; sumaCvijeca += _db.Cijena.Find(cijenaId).CijenaPoKomadu; if (stavke[i].KolicinaCvjetova != 0) { sumaCvijeca *= stavke[i].KolicinaCvjetova ?? 0; } } if (stavke[i].KolicinaUkrasa != 0) { int ukrasId = stavke[i].UkrasId ?? 0; int cijenaUkrasaId = _db.Ukras.Where(x => x.Id == ukrasId).FirstOrDefault().CijenaId; sumaUkrasa += _db.Cijena.Find(cijenaUkrasaId).CijenaPoKomadu; if (stavke[i].KolicinaUkrasa != 0) { sumaUkrasa *= stavke[i].KolicinaUkrasa ?? 0; } } result.konacnaCijena += (sumaUkrasa + sumaCvijeca); } } else { result.konacnaCijena = n.KonacnaCijena ?? 0; } result.id = n.Id; result.nalogId = n.KorisnickiNalogId; result.topPonudaId = n.TopPonudaId ?? 0; if (n.TopPonudaId == null) { result.nazivTopPonude = "Custom kreirana narudžba"; } else { result.nazivTopPonude = n.TopPonuda.Naziv; } result.posiljaoc = k.Ime + " " + k.Prezime; result.primaoc = n.imePrimaoca + " " + n.prezimePrimaoca; result.adresaPrimaoca = n.adresaPrimaoca; return(result); }