public static List <KorisnikFollowDto> Pretraga(PretragaKriterijumDto pkdto)
        {
            ISession s = SesijeProvajder.Sesija;

            Korisnik pretrazuje = VratiKorisnika(pkdto.IdKorisnika);
            List <KorisnikFollowDto> rezultat  = new List <KorisnikFollowDto>();
            List <Korisnik>          korisnici = s.Query <Korisnik>().Select(k => k).Where(x => x.KorisnickoIme != null).ToList();

            List <Korisnik> lista = (from k in korisnici
                                     where k.Ime.StartsWith(pkdto.Kriterijum) ||
                                     k.Prezime.StartsWith(pkdto.Kriterijum) ||
                                     k.KorisnickoIme.StartsWith(pkdto.Kriterijum) ||
                                     k.Email.StartsWith(pkdto.Kriterijum) ||
                                     k.Ime.StartsWith(char.ToUpper(pkdto.Kriterijum[0]) + pkdto.Kriterijum.Substring(1)) ||
                                     k.Prezime.StartsWith(char.ToUpper(pkdto.Kriterijum[0]) + pkdto.Kriterijum.Substring(1)) ||
                                     k.KorisnickoIme.StartsWith(char.ToLower(pkdto.Kriterijum[0]) + pkdto.Kriterijum.Substring(1)) ||
                                     k.Email.StartsWith(char.ToLower(pkdto.Kriterijum[0]) + pkdto.Kriterijum.Substring(1))
                                     select k).ToList();

            lista.RemoveAll(x => x.Obrisan);
            lista.RemoveAll(x => !x.AktivanNalog);
            lista.RemoveAll(x => x.IdKorisnika == pkdto.IdKorisnika);

            foreach (var v in lista)
            {
                KorisnikFollowDto kdto = new KorisnikFollowDto()
                {
                    KorisnickoIme = v.KorisnickoIme,
                    Ime           = v.Ime,
                    Prezime       = v.Prezime,
                    IdKorisnika   = v.IdKorisnika,
                    Zapracen      = false,
                    IdTipNaloga   = v.TipNaloga.IdTip
                };
                if (pretrazuje.PracenOd.ToList().Contains(v))
                {
                    kdto.Zapracen = true;
                }
                if (v.StudiraFakultet != null)
                {
                    kdto.Fakultet = v.StudiraFakultet.Naziv;
                }
                rezultat.Add(kdto);
            }

            rezultat.Sort((y, x) => x.IdTipNaloga.CompareTo(y.IdTipNaloga));
            return(rezultat);
        }
        public static List <KorisnikFollowDto> SvaPracenja(int id)
        {
            Korisnik k = VratiKorisnika(id);

            if (k == null)
            {
                return(null);
            }

            if (k.TipNaloga.IdTip != 5)
            {
                return(null);
            }

            if (k.Prati.Count == 0)
            {
                return(null);
            }

            List <KorisnikFollowDto> praceni = new List <KorisnikFollowDto>();

            List <Korisnik> lista = k.Prati.ToList();

            lista.RemoveAll(x => !x.AktivanNalog);
            lista.RemoveAll(x => x.Obrisan);

            foreach (var ko in lista)
            {
                KorisnikFollowDto kdto = new KorisnikFollowDto()
                {
                    IdKorisnika   = ko.IdKorisnika,
                    KorisnickoIme = ko.KorisnickoIme,
                    Ime           = ko.Ime,
                    Prezime       = ko.Prezime,
                    Fakultet      = ko.StudiraFakultet.Naziv,
                    Zapracen      = true
                };
                praceni.Add(kdto);
            }
            return(praceni);
        }