public static KorisnikKreiranjeDto DodajNalog(KorisnikKreiranjeDto kkdto)
        {
            ISession s = SesijeProvajder.Sesija;

            Korisnik k = new Korisnik()
            {
                KorisnickoIme     = kkdto.KorisnickoIme,
                Email             = kkdto.Email,
                BrojTelefona      = kkdto.BrojTelefona,
                Ime               = kkdto.Ime,
                Prezime           = kkdto.Prezime,
                Sifra             = kkdto.Sifra,
                DatumRegistracije = DateTime.Now,
                DatumRodjenja     = kkdto.DatumRodjenja,
                AktivanNalog      = true,
                Obrisan           = false,
                TipNaloga         = ProvajderPodatakaTipovaNaloga.VratiTipNaloga(kkdto.IdTipaNaloga)
            };

            s.Save(k);
            s.Flush();

            List <Korisnik> lista = s.Query <Korisnik>()
                                    .Select(x => x)
                                    .ToList();

            Korisnik kreirani = lista.Find(x => x.KorisnickoIme == kkdto.KorisnickoIme);

            kkdto.IdKorisnika       = kreirani.IdKorisnika;
            kkdto.Sifra             = kreirani.Sifra;
            kkdto.DatumRegistracije = kreirani.DatumRegistracije;
            kkdto.AktivanNalog      = kreirani.AktivanNalog;

            return(kkdto);
        }
        public static KorisnikKreiranjeDto Azuriraj(KorisnikKreiranjeDto kkdto)
        {
            ISession s        = SesijeProvajder.Sesija;
            Korisnik korisnik = s.Get <Korisnik>(kkdto.IdKorisnika);

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

            korisnik.KorisnickoIme = kkdto.KorisnickoIme;
            korisnik.Ime           = kkdto.Ime;
            korisnik.Prezime       = kkdto.Prezime;
            if (kkdto.Sifra != null)
            {
                korisnik.Sifra = kkdto.Sifra;
            }
            korisnik.BrojTelefona  = kkdto.BrojTelefona;
            korisnik.DatumRodjenja = kkdto.DatumRodjenja;
            korisnik.Email         = kkdto.Email;
            korisnik.TipNaloga     = ProvajderPodatakaTipovaNaloga.VratiTipNaloga(kkdto.IdTipaNaloga);
            korisnik.AktivanNalog  = kkdto.AktivanNalog;

            s.Save(korisnik);
            s.Flush();

            return(kkdto);
        }
        public static KorisnikKreiranjeDto DodajStudenta(KorisnikKreiranjeDto kkdto)
        {
            ISession s = SesijeProvajder.Sesija;

            string   sifra = Guid.NewGuid().ToString().Substring(0, 8);
            Korisnik k     = new Korisnik()
            {
                Ime               = kkdto.Ime,
                Prezime           = kkdto.Prezime,
                Sifra             = sifra,
                DatumRegistracije = DateTime.Now,
                DatumRodjenja     = kkdto.DatumRodjenja,
                DatumVaziDo       = DateTime.Now.AddYears(1),
                StudiraFakultet   = ProvajderPodatakaFakulteta.VratiFakultet(kkdto.IdFakulteta.Value), //uvek ima value jer kreiramo studenta
                BrojIndeksa       = kkdto.BrojIndeksa,
                AktivanNalog      = false,
                Obrisan           = false,
                BrojTelefona      = kkdto.BrojTelefona,
                TipNaloga         = ProvajderPodatakaTipovaNaloga.VratiTipNaloga(kkdto.IdTipaNaloga)
            };

            s.Save(k);
            s.Flush();

            List <Korisnik> lista = s.Query <Korisnik>()
                                    .Select(x => x)
                                    .ToList();

            Korisnik kreirani = lista.Find(x => x.BrojIndeksa == kkdto.BrojIndeksa &&
                                           x.StudiraFakultet.IdFakultet == kkdto.IdFakulteta &&
                                           x.Sifra == sifra);

            Objava o = new Objava()
            {
                Lokacija   = ProvajderPodatakaMenzi.VratiMenzu(4),
                IdKorisnik = kreirani
            };

            s.Save(o);
            s.Flush();

            kkdto.IdKorisnika       = kreirani.IdKorisnika;
            kkdto.Sifra             = sifra;
            kkdto.DatumRegistracije = kreirani.DatumRegistracije;
            kkdto.DatumVaziDo       = kreirani.DatumVaziDo;
            kkdto.AktivanNalog      = kreirani.AktivanNalog;

            return(kkdto);
        }