コード例 #1
0
ファイル: KnjigeViewModel.cs プロジェクト: cjasmina/myBooks
        public async Task BindKnjige()
        {
            List <Knjige> knjige;

            if (_odabraniZanr == null && string.IsNullOrEmpty(Naziv))
            {
                knjige = await _knjigeService.Get <List <Knjige> >();
            }
            else
            {
                KnjigeSearchRequest request = new KnjigeSearchRequest
                {
                    ZanrId  = _odabraniZanr.Id != 0 ? _odabraniZanr.Id : (int?)null,
                    AutorId = _odabraniAutor.Id != 0 ? _odabraniAutor.Id : (int?)null,
                    JezikId = _odabraniJezik.Id != 0 ? _odabraniJezik.Id : (int?)null,
                    Naziv   = Naziv
                };

                knjige = await _knjigeService.Get <List <Knjige> >(request);
            }

            Knjige.Clear();

            foreach (var knjiga in knjige)
            {
                Knjige.Add(knjiga);
            }

            IsEmpty = !knjige.Any();
        }
コード例 #2
0
        private async Task Pretraga()
        {
            if (_selectedZanr == null && String.IsNullOrEmpty(NazivKnjige))
            {
                var list = await _knjigeService.Get <IEnumerable <Knjige> >(null);

                knjigeList.Clear();
                foreach (var item in list)
                {
                    knjigeList.Add(item);
                }
            }
            else
            {
                KnjigeSearchRequest request = new KnjigeSearchRequest();
                request.ZanrId = _selectedZanr.ZanrId;
                request.Naziv  = NazivKnjige;

                var lista = await _knjigeService.Get <IEnumerable <Knjige> >(request);

                knjigeList.Clear();
                foreach (var item in lista)
                {
                    knjigeList.Add(item);
                }
            }
        }
コード例 #3
0
        public async Task Init(bool free = false, KnjigeSearchRequest search = null)
        {
            List <Model.Knjige> list;

            if (search == null)
            {
                var searchKnjige = new KnjigeSearchRequest()
                {
                    IsIzdavacLoadingEnabled = true
                };

                list = await _knjigeService.Get <List <Model.Knjige> >(searchKnjige);
            }
            else
            {
                list = await _knjigeService.Get <List <Model.Knjige> >(search);
            }

            await LoadKategorijeAutore(list);

            KnjigeList.Clear();

            foreach (var knjiga in list)
            {
                if (!free)
                {
                    KnjigeList.Add(knjiga);
                }
                if (free == true && knjiga.Cijena == 0M)
                {
                    KnjigeList.Add(knjiga);
                }
            }
        }
コード例 #4
0
 private async void MainSearchBar_SearchButtonPressed(object sender, EventArgs e)
 {
     string keyword = MainSearchBar.Text;
     var    search  = new KnjigeSearchRequest()
     {
         Naziv = keyword,
         IsIzdavacLoadingEnabled = true
     };
     await model.Init(false, search);
 }
コード例 #5
0
        private async void BtnPretraga_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                KnjigeSearchRequest request = new KnjigeSearchRequest()
                {
                    Naziv = txtNazivKnjige.Text, ZanrId = Convert.ToInt32(cmbZanrovi.SelectedValue)
                };
                var result = await _knjigeService.Get <List <Biblioteka_Model.Knjige> >(request);

                dgvKnjige.AutoGenerateColumns = false;
                dgvKnjige.DataSource          = result;
            }
        }
コード例 #6
0
        public override List <Model.Knjige> Get(KnjigeSearchRequest search)
        {
            var query = _context.Knjige.AsQueryable();

            if (!string.IsNullOrWhiteSpace(search?.Naziv))
            {
                query = query.Where(x => x.Naziv != null && x.Naziv.StartsWith(search.Naziv, StringComparison.CurrentCultureIgnoreCase));
            }

            if (!string.IsNullOrWhiteSpace(search?.OriginalniNaziv))
            {
                query = query.Where(x => x.OriginalniNaziv != null && x.OriginalniNaziv.StartsWith(search.OriginalniNaziv, StringComparison.CurrentCultureIgnoreCase));
            }

            if (search?.IsAutorLoadingEnabled == true)
            {
                query = query.Include(x => x.AutoriKnjige);

                var list  = query.ToList();
                var list2 = new List <Model.Knjige>();

                foreach (var x in list)
                {
                    var p = new Model.Knjige();
                    _mapper.Map(x, p);
                    p.AutoriKnjige = new List <Model.AutoriKnjige>();
                    foreach (var y in x.AutoriKnjige)
                    {
                        p.AutoriKnjige.Add(new Model.AutoriKnjige()
                        {
                            AutorId  = y.AutorId,
                            KnjigaId = y.KnjigaId
                        });
                    }
                    ;
                    list2.Add(p);
                }
                return(list2);
            }

            if (search?.IsIzdavacLoadingEnabled == true)
            {
                query = query.Include(x => x.Izdavac);
            }

            var knjige = query.ToList();

            return(_mapper.Map <List <Model.Knjige> >(knjige));
        }
コード例 #7
0
ファイル: PregledKnjigaForm.cs プロジェクト: cjasmina/myBooks
        private async Task UcitajKnjige()
        {
            var odabraniZanrId          = int.Parse(ZanrComboBox.SelectedValue.ToString());
            var odabraniJezikId         = int.Parse(JezikComboBox.SelectedValue.ToString());
            var odabranaIzdavackaKuceId = int.Parse(IzdavackaKucaComboBox.SelectedValue.ToString());

            var request = new KnjigeSearchRequest
            {
                ZanrId          = odabraniZanrId == 0 ? (int?)null : odabraniZanrId,
                JezikId         = odabraniJezikId == 0 ? (int?)null : odabraniJezikId,
                IzdavackaKucaId = odabranaIzdavackaKuceId == 0 ? (int?)null : odabranaIzdavackaKuceId,
                ISBN            = ISBNTextBox.Text,
            };

            var knjige = await _knjigeService.Get <List <Model.Knjige> >(request);

            KnjigeDGV.DataSource = knjige;
        }
コード例 #8
0
 public List <Biblioteka_Model.Knjige> Get([FromQuery] KnjigeSearchRequest request)
 {
     return(_service.Get(request));
 }
コード例 #9
0
        public List <Biblioteka_Model.Knjige> Get(KnjigeSearchRequest request)
        {
            var query = _context.Knjige.Include("Recenzije.Korisnik").AsQueryable();

            if (request == null)
            {
                var lista = query.ToList();
                return(_mapper.Map <List <Biblioteka_Model.Knjige> >(lista));
            }
            else if (String.IsNullOrWhiteSpace(request.Naziv) && request.ZanrId == 0)
            {
            }

            if (request.ZanrId != 0 && !String.IsNullOrEmpty(request.Naziv))
            {
                query = query.Where(x => x.ZanrId == request.ZanrId && x.Naziv.StartsWith(request.Naziv));
            }
            else if (request.ZanrId == 0)
            {
                if (!String.IsNullOrEmpty(request.Naziv))
                {
                    query = query.Where(x => x.Naziv.StartsWith(request.Naziv));
                }
            }
            else if (request.ZanrId != 0 && request.ZanrId != null)
            {
                query = query.Where(x => x.ZanrId == request.ZanrId);
            }
            var list = query.ToList();
            List <Biblioteka_Model.Knjige> knjige = new List <Biblioteka_Model.Knjige>();

            foreach (var item in list)
            {
                Biblioteka_Model.Knjige knjiga = new Biblioteka_Model.Knjige();
                knjiga.KnjigaId            = item.KnjigaId;
                knjiga.Naziv               = item.Naziv;
                knjiga.Sadrzaj             = item.Sadrzaj;
                knjiga.Sifra               = item.Sifra;
                knjiga.Slika               = item.Slika;
                knjiga.ZanrId              = item.ZanrId;
                knjiga.BrojDostupnihKnjiga = item.BrojDostupnihKnjiga;
                knjiga.BrojStranica        = item.BrojStranica;
                knjiga.DatumIzdavanja      = item.DatumIzdavanja;
                List <Biblioteka_Model.Recenzije> recenzije = new List <Biblioteka_Model.Recenzije>();
                foreach (var rec in item.Recenzije)
                {
                    Biblioteka_Model.Recenzije recenzija = new Biblioteka_Model.Recenzije();
                    recenzija.DatumObjave = rec.DatumObjave;
                    recenzija.Recenzija   = rec.Recenzija;
                    recenzija.KorisnikId  = rec.KorisnikId;
                    recenzija.KnjigaId    = rec.KnjigaId;
                    recenzija.RecenzijaId = rec.RecenzijaId;
                    var mappedKorisnik = _mapper.Map <Biblioteka_Model.Korisnici>(rec.Korisnik);
                    recenzija.Korisnik = mappedKorisnik;
                    recenzije.Add(recenzija);
                }
                knjiga.Recenzije = recenzije;
                knjige.Add(knjiga);
            }

            return(knjige);
        }