예제 #1
0
 public void Execute(int request)
 {
     if (_context.Korisnici.Any(x => x.Id == request))
     {
         var jedanKorisnik = _context.Korisnici.Find(request);
         if (jedanKorisnik == null)
         {
             throw new NotFoundException(request, typeof(Korisnik));
         }
         var upitUseCase = _context.KorisnikUseCases.Where(x => x.IdKorisnik == request).AsQueryable();
         foreach (var us in upitUseCase)
         {
             _context.Remove(us);
         }
         _context.SaveChanges();
         var upitPorudzbina = _context.Porudzbine.Where(x => x.IdKorisnik == request).AsQueryable();
         foreach (var u in upitPorudzbina)
         {
             if (u.StatusPorudzbine != StatusPorudzbine.isporucena || u.StatusPorudzbine != StatusPorudzbine.otkazana)
             {
                 u.StatusPorudzbine = StatusPorudzbine.otkazana;
             }
         }
         _context.SaveChanges();
         jedanKorisnik.IsDeleted = true;
         jedanKorisnik.DeletedAt = DateTime.Now;
         jedanKorisnik.IsActive  = false;
         _context.SaveChanges();
     }
     else
     {
         throw new NotFoundException(request, typeof(Korisnik));
     }
 }
        public void Execute(UpdateKorisnikDto request)
        {
            if (_context.Korisnici.Any(x => x.Id == request.Id))
            {
                if (request.IdUloga != 17)
                {
                    var jedanKorisnik = _context.Korisnici.Find(request.Id);
                    idValidator.ValidateAndThrow(request);
                    _validator.ValidateAndThrow(request);
                    if (jedanKorisnik.Email == request.Email)
                    {
                        _validator.ValidateAndThrow(request);

                        jedanKorisnik.Ime      = request.Ime;
                        jedanKorisnik.Prezime  = request.Prezime;
                        jedanKorisnik.Email    = request.Email;
                        jedanKorisnik.IdUloga  = request.IdUloga;
                        jedanKorisnik.Password = MD5function.MD5Hash(request.Password);
                        _context.SaveChanges();
                    }
                    else
                    {
                        if (_context.Korisnici.Any(x => x.Email == request.Email))
                        {
                            emailValidator.ValidateAndThrow(request);
                        }
                        else
                        {
                            _validator.ValidateAndThrow(request);

                            jedanKorisnik.Ime      = request.Ime;
                            jedanKorisnik.Prezime  = request.Prezime;
                            jedanKorisnik.Email    = request.Email;
                            jedanKorisnik.IdUloga  = request.IdUloga;
                            jedanKorisnik.Password = MD5function.MD5Hash(request.Password);
                            _context.SaveChanges();
                        }
                    }
                }
                else
                {
                    throw new NotFoundException(request.IdUloga, typeof(Uloga));
                }
            }
            else
            {
                throw new NotFoundException(request.Id, typeof(Korisnik));
            }
        }
        public void Execute(KorisnikDto request)
        {
            validator.ValidateAndThrow(request);

            var korisnik = new Korisnik
            {
                Ime      = request.Ime,
                Prezime  = request.Prezime,
                Jmbg     = request.Jmbg,
                Email    = request.Email,
                Password = MD5function.MD5Hash(request.Password),
                IdUloga  = 18
            };

            _context.Korisnici.Add(korisnik);
            _context.SaveChanges();
            var idUnetogKorisnika = korisnik.Id;
            var korisnikuseCase1  = new KorisnikUseCase
            {
                IdKorisnik = idUnetogKorisnika,
                IdUseCase  = 3
            };

            _context.KorisnikUseCases.Add(korisnikuseCase1);
            _context.SaveChanges();
            var korisnikuseCase2 = new KorisnikUseCase
            {
                IdKorisnik = idUnetogKorisnika,
                IdUseCase  = 23
            };

            _context.KorisnikUseCases.Add(korisnikuseCase2);
            _context.SaveChanges();
            var korisnikuseCase3 = new KorisnikUseCase
            {
                IdKorisnik = idUnetogKorisnika,
                IdUseCase  = 26
            };

            _context.KorisnikUseCases.Add(korisnikuseCase3);
            _context.SaveChanges();
            sender.Send(new EmailDto
            {
                Sadrzaj        = "<h1>Uspesna registracija</h1>",
                PosaljiNaEmail = request.Email,
                Naslov         = "Registracija"
            });;
        }
예제 #4
0
        public void Execute(PravljenjePorudzbineDto request)
        {
            validator.ValidateAndThrow(request);
            int IdKorisnik = actor.Id;
            var porudzbina = new Porudzbina
            {
                IdKorisnik      = IdKorisnik,
                Adresa          = request.Adresa,
                DatumPorudzbine = request.DatumPorudzbine
            };

            foreach (var item in request.Stavke)
            {
                var proizvod     = _context.Proizvodi.Find(item.IdProduct);
                var cena         = _context.Cenovnici.Find(item.IdCenovnik);
                var CenaProizvod = cena.CenaProizvod;
                proizvod.Kolicina -= item.Kolicina;
                porudzbina.DetaljiPorudzbina.Add(new DetaljiPorudzbine
                {
                    NazivProizvoda = proizvod.Naziv,
                    Kolicina       = item.Kolicina,
                    Cena           = CenaProizvod,
                    IdProizvod     = item.IdProduct,
                });;
            }
            _context.Porudzbine.Add(porudzbina);
            _context.SaveChanges();
        }
 public void Execute(PromenaStatusaPorudzbineDto request)
 {
     if (_context.Porudzbine.Any(x => x.Id == request.IdPorudzbine))
     {
         var porudzbina = _context.Porudzbine
                          .Include(p => p.DetaljiPorudzbina)
                          .ThenInclude(pd => pd.Proizvod)
                          .FirstOrDefault(x => x.Id == request.IdPorudzbine);
         if (porudzbina == null)
         {
         }
         if (porudzbina.StatusPorudzbine == StatusPorudzbine.primljena)
         {
         }
         if (porudzbina.StatusPorudzbine == StatusPorudzbine.primljena || porudzbina.StatusPorudzbine == StatusPorudzbine.isporucena)
         {
             if (request.Status == StatusPorudzbine.otkazana || request.Status == StatusPorudzbine.isporucena)
             {
                 porudzbina.StatusPorudzbine = request.Status;
                 if (request.Status == StatusPorudzbine.otkazana)
                 {
                     foreach (var n in porudzbina.DetaljiPorudzbina)
                     {
                         n.Proizvod.Kolicina += n.Kolicina;
                     }
                 }
                 _context.SaveChanges();
             }
         }
     }
     else
     {
         throw new NotFoundException(request.IdPorudzbine, typeof(Porudzbina));
     }
 }
예제 #6
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));
            }
        }
예제 #7
0
        public void Execute(InsertProizvodDto request)
        {
            if (_context.Kategorije.Any(x => x.Id == request.IdKat))
            {
                validator.ValidateAndThrow(request);
                string[] stringNiz = UploadSlike.Upload(request.Slike);
                var      proizvod  = new Proizvod
                {
                    Naziv    = request.Naziv,
                    Kolicina = request.Kolicina,
                    Slika    = stringNiz[0],
                    Opis     = request.Opis,
                    IdKat    = request.IdKat
                };
                _context.Proizvodi.Add(proizvod);
                _context.SaveChanges();


                var proizovdId = proizvod.Id;
                for (var i = 0; i < stringNiz.Count(); i++)
                {
                    if (stringNiz[i] != stringNiz[0])
                    {
                        var slika = new Slika
                        {
                            IdProizvod = proizovdId,
                            Putanja    = stringNiz[i]
                        };
                        _context.Slike.Add(slika);
                        _context.SaveChanges();
                    }
                }
                var cena = new Cenovnik
                {
                    CenaProizvod = request.Cena,
                    IdProizvod   = proizovdId
                };
                _context.Cenovnici.Add(cena);
                _context.SaveChanges();
            }
            else
            {
                throw new NotFoundException(request.IdKat, typeof(Kategorija));
            }
        }
        public void Execute(KategorijaDto request)
        {
            validator.ValidateAndThrow(request);

            var kategorija = _mapper.Map <Kategorija>(request);

            _context.Kategorije.Add(kategorija);
            _context.SaveChanges();
        }
        public void Execute(UlogaDto request)
        {
            validator.ValidateAndThrow(request);

            var uloga = _mapper.Map <Uloga>(request);

            _context.Uloge.Add(uloga);
            _context.SaveChanges();
        }
예제 #10
0
 public void Log(IUseCase useCase, IActorInApp actor, object useCaseData)
 {
     context.UseCaseLogs.Add(new UseCaseLog
     {
         Actor        = actor.Identifikator,
         Datum        = DateTime.UtcNow,
         Podaci       = JsonConvert.SerializeObject(useCaseData),
         NazivUseCase = useCase.Opis
     });
     context.SaveChanges();
 }
예제 #11
0
 public void Execute(int request)
 {
     if (_context.Uloge.Any(x => x.Id == request))
     {
         var jednaUloga = _context.Uloge.Find(request);
         var korisnici  = _context.Korisnici.Where(x => x.IdUloga == request);
         foreach (var k in korisnici)
         {
             k.IsDeleted = true;
             k.DeletedAt = DateTime.Now;
         }
         _context.SaveChanges();
         jednaUloga.IsDeleted = true;
         jednaUloga.DeletedAt = DateTime.Now;
         _context.SaveChanges();
     }
     else
     {
         throw new NotFoundException(request, typeof(Uloga));
     }
 }
        public void Execute(IEnumerable <PicturesForProductDto> request)
        {
            var upit = _context.Slike;

            foreach (var r in request)
            {
                var jednaSlika = upit.Find(r.Id);
                jednaSlika.IsActive  = false;
                jednaSlika.IsDeleted = true;
                jednaSlika.DeletedAt = DateTime.Now;
            }
            _context.SaveChanges();
        }
        public void Execute(KategorijaWithIdDto request)
        {
            var jednaKategorija = _context.Kategorije.Find(request.Id);

            if (_context.Kategorije.Any(x => x.Id == request.Id))
            {
                if (request.Naziv == jednaKategorija.Naziv)
                {
                    var jednaKategorijaUpdate = _context.Kategorije.Find(request.Id);
                    jednaKategorijaUpdate.Naziv = request.Naziv;
                    _context.SaveChanges();
                }
                else
                {
                    if (_context.Kategorije.Any(x => x.Naziv == request.Naziv))
                    {
                        throw new ConflictException(request.Naziv, typeof(Kategorija));
                    }
                    else
                    {
                        if (request.Naziv == null)
                        {
                            throw new NotFoundException(request.Id, typeof(Kategorija));
                        }
                        else
                        {
                            var jednaKategorijaUpdate = _context.Kategorije.Find(request.Id);
                            jednaKategorijaUpdate.Naziv = request.Naziv;
                            _context.SaveChanges();
                        }
                    }
                }
            }
            else
            {
                throw new NotFoundException(request.Id, typeof(Kategorija));
            }
        }
예제 #14
0
        public void Execute(UpdateUlogaDto request)
        {
            var jednaUloga = _context.Uloge.Find(request.IdUloga);

            if (_context.Uloge.Any(x => x.Id == request.IdUloga))
            {
                if (request.NazivUloga == jednaUloga.Naziv)
                {
                    var jednaUlogaUpdate = _context.Uloge.Find(request.IdUloga);
                    jednaUlogaUpdate.Naziv = request.NazivUloga;
                    _context.SaveChanges();
                }
                else
                {
                    if (_context.Uloge.Any(x => x.Naziv == request.NazivUloga))
                    {
                        throw new ConflictException(request.NazivUloga, typeof(Uloga));
                    }
                    else
                    {
                        if (request.NazivUloga == null)
                        {
                            throw new NotFoundException(request.IdUloga, typeof(Uloga));
                        }
                        else
                        {
                            var jednaUlogaUpdate = _context.Uloge.Find(request.IdUloga);
                            jednaUlogaUpdate.Naziv = request.NazivUloga;
                            _context.SaveChanges();
                        }
                    }
                }
            }
            else
            {
                throw new NotFoundException(request.IdUloga, typeof(Uloga));
            }
        }
 public void Execute(int request)
 {
     if (_context.Kategorije.Any(x => x.Id == request))
     {
         var jednaKategorija = _context.Kategorije.Find(request);
         var proizvodi       = _context.Proizvodi.Where(x => x.IdKat == request);
         foreach (var p in proizvodi)
         {
             p.IsDeleted = true;
             p.DeletedAt = DateTime.Now;
             p.IsActive  = false;
         }
         _context.SaveChanges();
         jednaKategorija.IsDeleted = true;
         jednaKategorija.DeletedAt = DateTime.Now;
         jednaKategorija.IsActive  = false;
         _context.SaveChanges();
     }
     else
     {
         throw new NotFoundException(request, typeof(Kategorija));
     }
 }
예제 #16
0
        public void Execute(int request)
        {
            if (_context.Proizvodi.Any(x => x.Id == request))
            {
                var jedanProizvod = _context.Proizvodi.Find(request);
                if (jedanProizvod == null)
                {
                    throw new NotFoundException(request, typeof(Proizvod));
                }
                var upitCena  = _context.Cenovnici.Where(x => x.IdProizvod == request).AsQueryable();
                var upitSlike = _context.Slike.Where(x => x.IdProizvod == request).AsQueryable();
                foreach (var uc in upitCena)
                {
                    uc.IsDeleted = true;
                    uc.IsActive  = false;
                    uc.DeletedAt = DateTime.Now;
                }
                _context.SaveChanges();
                foreach (var us in upitSlike)
                {
                    us.IsDeleted = true;
                    us.IsActive  = false;
                    us.DeletedAt = DateTime.Now;
                }
                _context.SaveChanges();


                jedanProizvod.IsDeleted = true;
                jedanProizvod.DeletedAt = DateTime.Now;
                jedanProizvod.IsActive  = false;
                _context.SaveChanges();
            }
            else
            {
                throw new NotFoundException(request, typeof(Proizvod));
            }
        }
예제 #17
0
 public void Execute(SlikaDto request)
 {
     if (_context.Proizvodi.Any(x => x.Id == request.IdProizvod))
     {
         validator.ValidateAndThrow(request);
         var novePutanje = UploadSlike.Upload(request.Putanje);
         for (int i = 0; i < novePutanje.Count(); i++)
         {
             var slikaZaProizvod = new Slika
             {
                 Putanja    = novePutanje[i],
                 IdProizvod = request.IdProizvod
             };
             _context.Slike.Add(slikaZaProizvod);
         }
         _context.SaveChanges();
     }
     else
     {
         throw new NotFoundException(request.IdProizvod, typeof(Proizvod));
     }
 }