public IActionResult AddZamowienie(int id, AddZamowienieRequest request) { try { _dbService.AddZamowienie(id, request); return(Ok()); } catch (NotFoundClientException exc) { return(NotFound(exc.Message)); } catch (NotFoundWyrobException exc) { return(NotFound(exc.Message)); } }
public void AddZamowienie(int id, AddZamowienieRequest request) { if (_context.Klienci.Any(x => x.IdKlient == id)) { throw new NotFoundClientException($"Nie znaleziono klienta o id={id} "); } foreach (var wyrob in request.Wyroby) { var wyroby = _context.WyrobyCukiernicze.Any(x => x.Nazwa.Equals(wyrob.nazwa)); if (!wyroby) { throw new NotFoundWyrobException($"Nie znaleziono wyrobu o nazwie={wyrob.nazwa}"); } } int orderId = _context.Zamowienia.Max(x => x.IdZamowienia) + 1; _context.Zamowienia.Add( new Zamowienie { IdZamowienia = orderId, DataPrzyjecia = request.dataPrzyjecia, Uwagi = request.Uwagi, IdKlient = id } ); foreach (var wyrob in request.Wyroby) { _context.Zamowienia_WyrobyCukiernicze.Add( new Zamowienie_WyrobCukierniczy { IdWyrobuCukierniczego = _context.WyrobyCukiernicze .Single(x => x.Nazwa.Equals(wyrob.nazwa)) .IdWyrobuCukierniczego, IdZamowienia = orderId, Ilosc = wyrob.ilosc, Uwagi = wyrob.uwagi } ); } _context.SaveChanges(); }