public void Execute(CreateProizvodDTO request) { // predpostavljacu da i proizvodi moraju imati unikatno ime iako nije realno if (_context.Proizvods.Any(k => k.Naziv.ToLower().Contains(request.Naziv.ToLower()))) { throw new EntityAlreadyExistsException("This article "); } if (!_context.Kategorijas.Any(r => r.Id == request.KatId)) { throw new EntityNotFoundException("Category "); } if (!_context.Dobavljacs.Any(r => r.Id == request.DobId)) { throw new EntityNotFoundException("Supplier "); } if (!_context.Proizvodjacs.Any(r => r.Id == request.ProId)) { throw new EntityNotFoundException("Maker "); } _context.Proizvods.Add(new Proizvod { Naziv = request.Naziv, Opis = request.Opis, Cena = request.Cena, KatId = request.KatId, DobId = request.DobId, ProId = request.ProId, ModifiedOn = null }); _context.SaveChanges(); }
public ActionResult Create([FromForm] CreateProizvodDTO dto) { try { // TODO: Add insert logic here _createProizvod.Execute(dto); return(RedirectToAction(nameof(Index))); } catch (EntityNotFoundException e) { TempData["Error"] = e.Message; } catch (Exception e) { TempData["Error"] = "Server error " + e.Message; } return(View()); }
public ActionResult Post([FromBody] CreateProizvodDTO dto) { try { _createProizvod.Execute(dto); return(StatusCode(201)); } catch (EntityAlreadyExistsException e) { return(UnprocessableEntity(e.Message)); } catch (EntityNotFoundException e) { return(NotFound(e.Message)); } catch (Exception e) { return(StatusCode(500, e.Message)); } }