Пример #1
0
        public void Izvrsi(ProizvodDto request)
        {
            _validator.ValidateAndThrow(request);

            _context.Proizvodi.Add(new Proizvod
            {
                Naziv        = request.Naziv,
                Cena         = request.Cena,
                Opis         = request.Opis,
                KategorijaId = request.KategorijaId
            });

            _context.SaveChanges();
        }
        public void UpdateProizvod()
        {
            // priprema

            ProizvodDto proizvodToUpdate = new ProizvodDto
            {
                Id             = 1,
                Naziv          = "Proizvod 1 update",
                Cena           = 11.1,
                Pdv            = 0.11,
                JedinicaMereId = 1,
                TipProizvodaId = 1,
                Dobavljaci     = new List <long> {
                    1
                }
            };

            _mockGenericRepository.Setup(gr => gr.FirstOrDefault(p => p.Id == proizvodToUpdate.Id, ""))
            .Returns(proizvodFromDatabase);

            _mockGenericRepository.Setup(gr => gr.Update(mappedProizvod))
            .Callback(() => { mappedProizvod.Naziv = "Proizvod 1 update"; });

            _mockValidator.Setup(validator => validator.Validate(proizvodToUpdate))
            .Returns(new ValidationResult());

            _mockMapper.Setup(m => m.Map <Proizvod>(proizvodToUpdate))
            .Returns(mappedProizvod);

            _mockMapper.Setup(m => m.Map <ReadProizvodDto>(updatedProizvodFromDb))
            .Returns(mappedProizvodForReturn);

            _mockGenericRepository.Setup(gr => gr.FirstOrDefault(p => p.Id == proizvodToUpdate.Id, "JedinicaMere,TipProizvoda,Dobavljaci.Dobavljac"))
            .Returns(updatedProizvodFromDb);

            // izvrsenje
            var result = _updateProizvodCommand.Execute(proizvodToUpdate);

            // provera
            _mockGenericRepository.Verify(gr => gr.Update(mappedProizvod), Times.Once());
            Assert.IsNotNull(result);
            Assert.AreEqual(result.Naziv, proizvodToUpdate.Naziv);
        }
Пример #3
0
        public ProizvodDto Izvrsi(int search)
        {
            var query = _context.Proizvodi.Where(x => x.Id == search).FirstOrDefault();

            if (query == null)
            {
                throw new EntityNotFoundException(search, typeof(Proizvod));
            }

            var proizvod = new ProizvodDto
            {
                Id           = query.Id,
                Naziv        = query.Naziv,
                Cena         = query.Cena,
                Opis         = query.Opis,
                Slika        = query.Slika,
                Kolicina     = query.Kolicina,
                KategorijaId = query.KategorijaId
            };

            return(proizvod);
        }
        public void UpdateProizvod_NotExist()
        {
            // priprema
            ProizvodDto proizvodToUpdate = new ProizvodDto
            {
                Id             = 1,
                Naziv          = "Proizvod 1 update",
                Cena           = 11.1,
                Pdv            = 0.11,
                JedinicaMereId = 1,
                TipProizvodaId = 1,
                Dobavljaci     = new List <long> {
                    1
                }
            };

            _mockGenericRepository.Setup(gr => gr.FirstOrDefault(p => p.Id == proizvodToUpdate.Id, ""))
            .Returns((Proizvod)null);

            // izvrsenje i provera
            Exception ex = Assert.Throws <EntityNotFoundException>(delegate { _updateProizvodCommand.Execute(proizvodToUpdate); });

            Assert.That(ex.Message, Is.EqualTo("Nepostojeci proizvod poslat na azuriranje."));
        }
        public void Izvrsi(ProizvodDto dto)
        {
            _validator.ValidateAndThrow(dto);
            var proizvod = _context.Proizvodi.Find(dto.Id);

            if (proizvod == null)
            {
                throw new EntityNotFoundException(dto.Id, typeof(Proizvod));
            }
            proizvod.Naziv    = dto.Naziv;
            proizvod.Cena     = dto.Cena;
            proizvod.Opis     = dto.Opis;
            proizvod.Kolicina = dto.Kolicina;


            try
            {
                _context.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public void Setup()
        {
            _mockGenericRepository = new Mock <IGenericRepository <Proizvod> >();
            _mockMapper            = new Mock <IMapper>();
            _mockValidator         = new Mock <IValidator <ProizvodDto> >();
            _addProizvodCommand    = new AddProizvodCommand(_mockGenericRepository.Object, _mockMapper.Object, _mockValidator.Object);

            proizvodToAdd = new ProizvodDto
            {
                Id             = 0, // korisnik ne salje id pri dodavanju proizvoda
                Naziv          = "Proizvod 1",
                Cena           = 11.1,
                Pdv            = 0.11,
                JedinicaMereId = 1,
                TipProizvodaId = 1,
                Dobavljaci     = new List <long> {
                    1
                }
            };
            mappedProizvodForReturn = new ReadProizvodDto
            {
                Id           = 11,
                Naziv        = "Proizvod 1",
                Cena         = 11.1,
                Pdv          = 0.11,
                JedinicaMere = new JedinicaMereDto
                {
                    Id    = 1,
                    Naziv = "Jedinica mere 1"
                },
                TipProizvoda = new TipProizvodaDto
                {
                    Id    = 1,
                    Naziv = "Tip proizvoda 1"
                },
                Dobavljaci = new List <DobavljacDto>
                {
                    new DobavljacDto
                    {
                        Id    = 1,
                        Naziv = "Dobavljac 1"
                    }
                }
            };
            proizvodFromDbo = new Proizvod
            {
                Id           = 11,
                Naziv        = "Proizvod 1",
                Cena         = 11.1,
                Pdv          = 0.11,
                JedinicaMere = new JedinicaMere
                {
                    Id    = 1,
                    Naziv = "Jedinica mere 1"
                },
                TipProizvoda = new TipProizvoda
                {
                    Id    = 1,
                    Naziv = "Tip proizvoda 1"
                },
                Dobavljaci = new List <ProizvodDobavljac>
                {
                    new ProizvodDobavljac {
                        Dobavljac = new Dobavljac
                        {
                            Id       = 1,
                            PIB      = "123",
                            Napomena = "Napomena",
                            Naziv    = "Dobavljac 1"
                        }
                    }
                }
            };
        }
Пример #7
0
 public void Put(int id, [FromBody] ProizvodDto dto, [FromServices] IUpdateProizvodCommand command)
 {
     dto.Id = id;
     this.excutor.ExecuteCommand(command, dto);
 }
Пример #8
0
 public void Post([FromBody] ProizvodDto dto, [FromServices] ICreateProizvodCommand command)
 {
     this.excutor.ExecuteCommand(command, dto);
 }
 public IActionResult AddProizvod([FromBody] ProizvodDto dto, [FromServices] IAddProzivodCommand command)
 {
     return(Ok(_loggerMediator.HandleProccessExecution(command, dto)));
 }
 public IActionResult UpdateProizvod(long id, [FromBody] ProizvodDto dto, [FromServices] IUpdateProizvodCommand command)
 {
     dto.Id = id;
     return(Ok(_loggerMediator.HandleProccessExecution(command, dto)));
 }