예제 #1
0
        public void Execute(UpdateProizvodDto request)
        {
            if (_context.Proizvodi.Any(x => x.Id == request.Id))
            {
                var jedanProizvod = _context.Proizvodi.Find(request.Id);
                if (request.Naziv == jedanProizvod.Naziv)
                {
                    _validator.ValidateAndThrow(request);
                    jedanProizvod.Naziv     = request.Naziv;
                    jedanProizvod.Opis      = request.Opis;
                    jedanProizvod.Slika     = UploadJedneSlike.UploadJednaSlika(request.Slika);
                    jedanProizvod.Kolicina += request.Kolicina;
                    _context.SaveChanges();

                    var cena = new Cenovnik
                    {
                        IdProizvod   = request.Id,
                        CenaProizvod = request.Cena
                    };
                    _context.Cenovnici.Add(cena);
                    _context.SaveChanges();
                }
                else
                {
                    _validatorNaziv.ValidateAndThrow(request);
                    _validator.ValidateAndThrow(request);
                    jedanProizvod.Naziv     = request.Naziv;
                    jedanProizvod.Opis      = request.Opis;
                    jedanProizvod.Slika     = UploadJedneSlike.UploadJednaSlika(request.Slika);
                    jedanProizvod.Kolicina += request.Kolicina;
                    _context.SaveChanges();

                    var cena = new Cenovnik
                    {
                        IdProizvod   = request.Id,
                        CenaProizvod = request.Cena
                    };
                    _context.Cenovnici.Add(cena);
                    _context.SaveChanges();
                }
            }
            else
            {
                throw new NotFoundException(request.Id, typeof(Proizvod));
            }
        }
 public void Put([FromForm] UpdateProizvodDto dto, [FromServices] IUpdateProizvodCommand command)
 {
     executor.ApplayCommand(command, dto);
 }