public void Execute(int request)
        {
            var proizvod = context.Proizvodi.Find(request);

            if (proizvod == null)
            {
                throw new EntityNotFoundException(request, typeof(Proizvod));
            }
            var upitDeleteSlika = context.Slike.Where(x => x.ProizvodId == request).AsQueryable();

            foreach (var k in upitDeleteSlika)
            {
                k.isDeleted  = true;
                k.DeletedAt  = DateTime.Now;
                k.isActive   = false;
                k.ModifiedAt = null;
            }
            var upitDeleteCena = context.Cene.Where(x => x.ProizvodId == request).AsQueryable();

            foreach (var k in upitDeleteCena)
            {
                k.isDeleted  = true;
                k.DeletedAt  = DateTime.Now;
                k.isActive   = false;
                k.ModifiedAt = null;
            }
            context.SaveChanges();

            proizvod.isDeleted  = true;
            proizvod.DeletedAt  = DateTime.Now;
            proizvod.isActive   = false;
            proizvod.ModifiedAt = null;
            context.SaveChanges();
        }
Exemple #2
0
        public void Execute(int request)
        {
            var klijent = _context.Klijenti.Find(request);

            if (klijent == null)
            {
                throw new EntityNotFoundException(request, typeof(Klijent));
            }
            var upitZaUseCaseDeleteKorisnik = _context.KlijentUseCases.Where(x => x.KlijentId == request).AsQueryable();

            foreach (var k in upitZaUseCaseDeleteKorisnik)
            {
                _context.Remove(k);
            }
            _context.SaveChanges();

            var upitZaPorudzbine = _context.Porudzbine.Where(x => x.KlijentId == request).AsQueryable();

            foreach (var k in upitZaPorudzbine)
            {
                if (k.PorudzbinaStatus != PorudzbinaStatus.Isporucena || k.PorudzbinaStatus != PorudzbinaStatus.Poslata)
                {
                    k.PorudzbinaStatus = PorudzbinaStatus.Otkazana;
                }
            }
            _context.SaveChanges();
            klijent.isDeleted  = true;
            klijent.DeletedAt  = DateTime.Now;
            klijent.isActive   = false;
            klijent.ModifiedAt = null;
            _context.SaveChanges();
        }
        public void Execute(int request)
        {
            var uloga = context.Uloge.Find(request);

            if (uloga == null)
            {
                throw new EntityNotFoundException(request, typeof(Uloga));
            }
            var ulogaDelete       = context.Uloge.Where(x => x.Id == request).AsQueryable();
            var upitDeleteKlijent = context.Klijenti.Where(x => x.IdUloga == request).AsQueryable();

            foreach (var k in upitDeleteKlijent)
            {
                k.isDeleted  = true;
                k.DeletedAt  = DateTime.Now;
                k.isActive   = false;
                k.ModifiedAt = null;
            }
            context.SaveChanges();
            uloga.isDeleted  = true;
            uloga.DeletedAt  = DateTime.Now;
            uloga.isActive   = false;
            uloga.ModifiedAt = null;
            context.SaveChanges();
        }
Exemple #4
0
        public void Execute(KlijentUpdateDto request)
        {
            var klijentId = _context.Klijenti.Find(request.IdKlijentUpdate);

            _ulogaIdValidator.ValidateAndThrow(request);
            _validator.ValidateAndThrow(request);

            if (klijentId.Email == request.Email)
            {
                klijentId.Ime     = request.Ime;
                klijentId.Prezime = request.Prezime;
                klijentId.Email   = request.Email;
                klijentId.Lozinka = KreirajMD5.MD5Hash(request.Lozinka);
                klijentId.IdUloga = request.IdUloga;

                _context.SaveChanges();
            }
            else
            {
                if (_context.Klijenti.Any(x => x.Email == request.Email))
                {
                    _ulogaEmailValidator.ValidateAndThrow(request);
                }
                else
                {
                    klijentId.Ime     = request.Ime;
                    klijentId.Prezime = request.Prezime;
                    klijentId.Email   = request.Email;
                    klijentId.Lozinka = KreirajMD5.MD5Hash(request.Lozinka);
                    klijentId.IdUloga = request.IdUloga;

                    _context.SaveChanges();
                }
            }
        }
        public void Execute(int request)
        {
            var kategorija = context.Kategorije.Find(request);

            if (kategorija == null)
            {
                throw new EntityNotFoundException(request, typeof(Kategorija));
            }
            var ulogaDelete = context.Kategorije.Where(x => x.Id == request).AsQueryable();

            var upitDeleteProizvod = context.Proizvodi.Where(x => x.IdKategorija == request).AsQueryable();

            foreach (var p in upitDeleteProizvod)
            {
                p.isDeleted  = true;
                p.DeletedAt  = DateTime.Now;
                p.isActive   = false;
                p.ModifiedAt = null;
            }
            context.SaveChanges();

            kategorija.isDeleted  = true;
            kategorija.DeletedAt  = DateTime.Now;
            kategorija.isActive   = false;
            kategorija.ModifiedAt = null;
            context.SaveChanges();
        }
        public void Execute(CreateChangeStatusPorudzbineDto request)
        {
            var porudzbina = _context.Porudzbine.Include(x => x.DetaljiPorudzbina).ThenInclude(x => x.Proizvod)
                             .FirstOrDefault(x => x.Id == request.IdPorudzbina);

            if (porudzbina == null)
            {
            }
            if (porudzbina.PorudzbinaStatus == PorudzbinaStatus.Primljena)
            {
            }
            if (porudzbina.PorudzbinaStatus == PorudzbinaStatus.Primljena || porudzbina.PorudzbinaStatus == PorudzbinaStatus.Isporucena)
            {
                if (request.Status == PorudzbinaStatus.Otkazana || request.Status == PorudzbinaStatus.Isporucena)
                {
                    porudzbina.PorudzbinaStatus = request.Status;
                    if (request.Status == PorudzbinaStatus.Otkazana)
                    {
                        foreach (var p in porudzbina.DetaljiPorudzbina)
                        {
                            p.Proizvod.KolicinaProizvoda += p.Kolicina;
                        }
                    }
                    _context.SaveChanges();
                }
            }
        }
        public void Execute(CreatePorudzbinaDto request)
        {
            _validator.ValidateAndThrow(request);
            int idKlijent  = _actor.Id;
            var porudzbina = new Porudzbina
            {
                DatumPorudzbine = request.PorudzbinaDatum,
                KlijentId       = idKlijent,
                Adresa          = request.Adresa
            };

            foreach (var i in request.Items)
            {
                var cena                 = _context.Cene.Find(i.IdCena);
                var proizvod             = _context.Proizvodi.Find(i.ProizvodId);
                var konacnaCenaProizvoda = cena.CenaP;
                proizvod.KolicinaProizvoda -= i.Kolicina;
                porudzbina.DetaljiPorudzbina.Add(new DetaljiPorudzbine
                {
                    Naziv      = proizvod.NazivProizvoda,
                    Kolicina   = i.Kolicina,
                    Cena       = konacnaCenaProizvoda,
                    ProizvodId = i.ProizvodId
                });
                _context.Porudzbine.Add(porudzbina);
                _context.SaveChanges();
            }
        }
Exemple #8
0
        public void Execute(KategorijaUpdateDto request)
        {
            var kategorijaId = context.Kategorije.Find(request.IdKategorija);

            if (kategorijaId.NazivKategorije == request.NazivKategorije)
            {
                kategorijaId.NazivKategorije = request.NazivKategorije;
            }
            else
            {
                if (context.Kategorije.Any(x => x.NazivKategorije == request.NazivKategorije))
                {
                    throw new ConflictException(request.NazivKategorije, typeof(Kategorija));
                }
                else
                {
                    if (request.NazivKategorije == null)
                    {
                        throw new ConflictException(request.NazivKategorije, typeof(Kategorija));
                    }
                    else
                    {
                        kategorijaId.NazivKategorije = request.NazivKategorije;

                        context.SaveChanges();
                    }
                }
            }
        }
Exemple #9
0
        public void Execute(UlogaUpdateDto request)
        {
            var ulogaId = context.Uloge.Find(request.IdUloga);

            if (ulogaId.NazivUloge == request.NazivUloge)
            {
                ulogaId.NazivUloge = request.NazivUloge;
            }
            else
            {
                if (context.Uloge.Any(x => x.NazivUloge == request.NazivUloge))
                {
                    throw new ConflictException(request.NazivUloge, typeof(Uloga));
                }
                else
                {
                    if (request.NazivUloge == null)
                    {
                        throw new ConflictException(request.NazivUloge, typeof(Uloga));
                    }
                    else
                    {
                        ulogaId.NazivUloge = request.NazivUloge;

                        context.SaveChanges();
                    }
                }
            }
        }
        public void Execute(KlijentDto request)
        {
            _validator.ValidateAndThrow(request);
            var klijent = new Klijent
            {
                Jmbg    = request.Jmbg,
                Ime     = request.Ime,
                Prezime = request.Prezime,
                Email   = request.Email,
                Lozinka = KreirajMD5.MD5Hash(request.Lozinka),
                IdUloga = 5
            };

            _context.Klijenti.Add(klijent);
            _context.SaveChanges();

            var idKlijent = klijent.Id;
            var usecase1  = new KlijentUseCase
            {
                KlijentId = idKlijent,
                UseCaseId = 8
            };

            _context.KlijentUseCases.Add(usecase1);
            var usecase2 = new KlijentUseCase
            {
                KlijentId = idKlijent,
                UseCaseId = 10
            };

            _context.KlijentUseCases.Add(usecase2);
            var usecase3 = new KlijentUseCase
            {
                KlijentId = idKlijent,
                UseCaseId = 26
            };

            _context.KlijentUseCases.Add(usecase3);
            _context.SaveChanges();

            _sender.Send(new SendEmailDto
            {
                Content = "<h1>Registracija Za Klijenta Uspesno Odradjena!</h1>",
                SendTo  = request.Email,
                Subject = "Registracija"
            });
        }
        public void Execute(UlogaDto request)
        {
            _validator.ValidateAndThrow(request);
            var uloga = _mapper.Map <Uloga>(request);

            _context.Uloge.Add(uloga);
            _context.SaveChanges();
        }
Exemple #12
0
        public void Execute(KategorijaDto request)
        {
            _validator.ValidateAndThrow(request);
            var kategorija = _mapper.Map <Kategorija>(request);

            _context.Kategorije.Add(kategorija);
            _context.SaveChanges();
        }
Exemple #13
0
        public void Execute(CenaDto request)
        {
            _validator.ValidateAndThrow(request);
            var cena = _mapper.Map <Cena>(request);

            _context.Cene.Add(cena);
            _context.SaveChanges();
        }
Exemple #14
0
        public void Execute(ProizvodUpdateDto request)
        {
            _validator.ValidateAndThrow(request);
            var proizvodId = _context.Proizvodi.Find(request.IdProizvoda);

            if (proizvodId.NazivProizvoda == request.NazivProizvoda)
            {
                proizvodId.NazivProizvoda    = request.NazivProizvoda;
                proizvodId.OpisProizvoda     = request.OpisProizvoda;
                proizvodId.SlikaProizvoda    = UbaciSlikuZaUpdateProizvoda.UbaciSlikuUpdate(request.Slika);
                proizvodId.KolicinaProizvoda = request.Kolicina;
                _context.SaveChanges();
                var cena = new Cena
                {
                    CenaP      = request.Cena,
                    ProizvodId = request.IdProizvoda,
                };
                _context.Cene.Add(cena);
                _context.SaveChanges();
            }
            else
            {
                if (_context.Proizvodi.Any(x => x.NazivProizvoda == request.NazivProizvoda))
                {
                    throw new ConflictException(request.NazivProizvoda, typeof(Proizvod));
                }
                else
                {
                    proizvodId.NazivProizvoda    = request.NazivProizvoda;
                    proizvodId.OpisProizvoda     = request.OpisProizvoda;
                    proizvodId.SlikaProizvoda    = UbaciSlikuZaUpdateProizvoda.UbaciSlikuUpdate(request.Slika);
                    proizvodId.KolicinaProizvoda = request.Kolicina;
                    _context.SaveChanges();
                    var cena = new Cena
                    {
                        CenaP      = request.Cena,
                        ProizvodId = request.IdProizvoda,
                    };
                    _context.Cene.Add(cena);
                    _context.SaveChanges();
                }
            }
        }
 public void Log(IUseCase useCase, IApplicationActor actor, object useCaseData)
 {
     _context.UseCaseLogs.Add(new Domain.UseCaseLog
     {
         Actor        = actor.Identity,
         Podaci       = JsonConvert.SerializeObject(useCaseData),
         Datum        = DateTime.UtcNow,
         UseCaseNaziv = useCase.Name
     });
     _context.SaveChanges();
 }
        public void Execute(ProizvodSlikaCenaDto request)
        {
            _validator.ValidateAndThrow(request);
            var putanje  = UbaciSlike.UbaciSlikeProizvoda(request.SlikeP);
            var proizvod = new Proizvod
            {
                NazivProizvoda    = request.NazivP,
                OpisProizvoda     = request.OpisP,
                KolicinaProizvoda = request.KolicinaP,
                SlikaProizvoda    = putanje[0],
                IdKategorija      = request.IdKategorija
            };

            _context.Proizvodi.Add(proizvod);
            _context.SaveChanges();

            int idProizvodaPoslednjiUnet = proizvod.Id;

            for (int p = 1; p < putanje.Count; p++)
            {
                var slika = new Slika
                {
                    SlikaPutanja = putanje[p],
                    ProizvodId   = idProizvodaPoslednjiUnet
                };
                _context.Slike.Add(slika);
            }
            _context.SaveChanges();

            var cena = new Cena
            {
                CenaP      = request.CenaP,
                ProizvodId = idProizvodaPoslednjiUnet
            };

            _context.Cene.Add(cena);
            _context.SaveChanges();
        }
        public void Execute(IEnumerable <ProizvodNjegoveSlikeDto> request)
        {
            var upit = _context.Slike;

            foreach (var s in request)
            {
                var idSlike = upit.Find(s.IdSlike);
                idSlike.isDeleted  = true;
                idSlike.DeletedAt  = DateTime.Now;
                idSlike.isActive   = false;
                idSlike.ModifiedAt = null;
            }
            _context.SaveChanges();
        }
Exemple #18
0
        public void Execute(SlikaDto request)
        {
            var putanje = UbaciSlike.UbaciSlikeProizvoda(request.SlikeProizvoda);

            _validator.ValidateAndThrow(request);
            for (int s = 0; s < putanje.Count; s++)
            {
                var slikaProizvoda = new Slika
                {
                    SlikaPutanja = putanje[s],
                    ProizvodId   = request.IdProizvod
                };
                _context.Slike.Add(slikaProizvoda);
            }
            _context.SaveChanges();
        }