public RegistracijaPage()
 {
     InitializeComponent();
     BindingContext = model = new RegistracijaViewModel()
     {
     };
 }
예제 #2
0
        public async Task <ActionResult <Korisnik> > Registracija(RegistracijaViewModel registracijaViewModel)
        {
            if (registracijaViewModel.Lozinka != registracijaViewModel.LozinkaPonovo)
            {
                return(BadRequest(new { message = "Lozinke se ne poklapaju." }));
            }
            if (!Regex.IsMatch(registracijaViewModel.Email, "^([a-z0-9]+-?[a-z0-9]+@[a-z0-9]{2,}\\.[a-z]{2,})?$"))
            {
                return(BadRequest(new { message = "Email adresa ima nekorektan format." }));
            }
            if (Context.Korisnici.Any(k => k.Email.Equals(registracijaViewModel.Email)))
            {
                return(BadRequest(new { message = "Email adresa zauzeta." }));
            }
            string   salt     = GenerisiSalt();
            string   hash     = Hash(registracijaViewModel.Lozinka + salt);
            Korisnik korisnik = new Korisnik()
            {
                Id           = 0,
                Ime          = registracijaViewModel.Ime,
                Prezime      = registracijaViewModel.Prezime,
                BrojTelefona = registracijaViewModel.BrojTelefona,
                Email        = registracijaViewModel.Email,
                Hash         = hash,
                Salt         = salt
            };

            Context.Korisnici.Add(korisnik);
            await Context.SaveChangesAsync();

            return(korisnik);
        }
예제 #3
0
 public RegisterPage()
 {
     model          = new RegistracijaViewModel();
     BindingContext = model;
     InitializeComponent();
     datum.MaximumDate = DateTime.Now;
 }
예제 #4
0
 public Registracija()
 {
     BindingContext       = viewModel = new RegistracijaViewModel();
     viewModel.Navigacija = Navigation;
     InitializeComponent();
     //container.Margin = new Thickness(20, 0);
     //container.Padding = new Thickness(40, 0);
 }
예제 #5
0
 public ActionResult Registracija(RegistracijaViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(View(Login));
     }
     return(View(Registracija));
 }
예제 #6
0
        public RegistracijaOnlineKupca()
        {
            this.InitializeComponent();
            //viewModel = new RegistracijaViewModel();
            DataContext = new RegistracijaViewModel();

            //MenadzerForm otvara dodavanjeProizvoda
            //stavila da se vidi back u slucaju da menadzer slucajno klikne pogresan button i sl.
            var currentView = SystemNavigationManager.GetForCurrentView();

            currentView.AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
            SystemNavigationManager.GetForCurrentView().BackRequested += ThisPage_BackRequested;
        }
        public async Task <IActionResult> RegistracijaAsync(RegistracijaViewModel korisnik)
        {
            if (ModelState.IsValid)
            {
                var noviKorisnik = new Korisnik
                {
                    UserName             = korisnik.KorisnickoIme,
                    Email                = korisnik.Email,
                    PhoneNumberConfirmed = true,
                    TwoFactorEnabled     = false,
                    LockoutEnabled       = false,

                    AccessFailedCount = 1
                };
                var rezultat = await _UserManager.CreateAsync(noviKorisnik, korisnik.Lozinka);

                if (rezultat.Succeeded)
                {
                    await _UserManager.AddToRoleAsync(noviKorisnik, "Kandidat");

                    //Potvrda naloga
                    var token = await _UserManager.GenerateEmailConfirmationTokenAsync(noviKorisnik);

                    var confirmationLink = Url.Action("ConfirmEmail", "Autentifikacija", new { korisnikId = noviKorisnik.Id, token = token }, Request.Scheme);
                    ViewBag.token = confirmationLink;
                    _logger.Log(LogLevel.Warning, confirmationLink);

                    var kandidat = new Kandidat
                    {
                        ImePrezime    = korisnik.Ime + " " + korisnik.Prezime,
                        JMBG          = korisnik.JMBG,
                        DatumRodjenja = korisnik.DatumRodjenja,
                        Email         = korisnik.Email,
                        Korisnik      = noviKorisnik,
                        Status        = false
                    };

                    _reposKandidat.Add(kandidat);

                    var text = " Klikom na link, aktiviracete korisnicki nalog " + "<a href=\"" + confirmationLink + "\">Link</a> ";

                    SlanjeEmaila(text, noviKorisnik, false);
                }
                foreach (var error in rezultat.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
                return(View("UspjesnaRegistracija"));
            }
            return(RedirectToAction("Registracija", "Autentifikacija"));
        }
        private string UploadedFile(RegistracijaViewModel model)
        {
            string uniqueFileName = "blank-profile.jpg";

            if (model.Slika != null)
            {
                string uploadsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "images");
                uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Slika.FileName;
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    model.Slika.CopyTo(fileStream);
                }
            }
            return(uniqueFileName);
        }
        public IActionResult Registracija()
        {
            if (HttpContext.GetLogiraniKorisnik() != null)
            {
                return(RedirectToAction("Pocetna", "Profil"));
            }

            var model = new RegistracijaViewModel
            {
                Gradovi = _context.Grads.Select
                              (i => new SelectListItem {
                    Text = i.Naziv, Value = i.GradId.ToString()
                }).ToList()
            };

            return(View(model));
        }
        public ActionResult DodajOnlineKorisnika(RegistracijaViewModel korisnik)
        {
            if (ModelState.IsValid)
            {
                // provjerava da li postoji korisnik sa unesenim username ili email-adresom i ako postoji
                // upozorava korisnika da ne moze unjeti isti username ili password..
                bool nastavi = true;
                foreach (var x in ctx.Korisnici)
                {
                    if (korisnik.EMail == x.EMail)
                    {
                        ViewBag.EmailPostoji = "Email adresa je vec postoji u bazi podataka!";
                        nastavi = false;
                    }
                    if (korisnik.Username == x.Username)
                    {
                        ViewBag.UsernamePostoji = "Username vec postoji u bazi podataka!";
                    }
                }
                if (!nastavi)
                {
                    return(View());
                }

                // Kreiramo novi objekat tipa Korisnik i OnlineKorisnik i unjeg pohranjujemo podatke koje smo preuzeli
                // sa web forme..
                OnlineKorisnik OlKorisnik = new OnlineKorisnik();
                OlKorisnik.Korisnik = new Korisnik();

                OlKorisnik.PotvrdjenaAdresa      = true;
                OlKorisnik.DatumRegistracije     = DateTime.Now;
                OlKorisnik.Korisnik.Adresa       = korisnik.Adresa;
                OlKorisnik.Korisnik.BrTelefona   = korisnik.BrTelefona;
                OlKorisnik.Korisnik.EMail        = korisnik.EMail;
                OlKorisnik.Korisnik.Ime          = korisnik.Ime;
                OlKorisnik.Korisnik.NalogAktivan = true;
                OlKorisnik.Korisnik.Password     = korisnik.Password;
                OlKorisnik.Korisnik.Prezime      = korisnik.Prezime;
                OlKorisnik.Korisnik.Username     = korisnik.Username;
                OlKorisnik.Korisnik.RestoranId   = ctx.Restorani.First().Id;

                ctx.OnlineKorisnici.Add(OlKorisnik);
                ctx.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
 public Registracija()
 {
     InitializeComponent();
     BindingContext = model = new RegistracijaViewModel(Navigation);
 }
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     DataContext = new RegistracijaViewModel(new NavigationService());
 }
        public IActionResult Registracija(RegistracijaViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model.Gradovi = _context.Grads.Select
                                    (i => new SelectListItem {
                    Text = i.Naziv, Value = i.GradId.ToString()
                }).ToList();
                return(View("Registracija", model));
            }


            if (_context.KorisnickiNalogs.Any(i => i.Email == model.Email))
            {
                TempData["errorMessage"] = "Email adresa se koristi.";
                model.Gradovi            = _context.Grads.Select
                                               (i => new SelectListItem {
                    Text = i.Naziv, Value = i.GradId.ToString()
                }).ToList();
                return(View("Registracija", model));
            }

            byte[] lozinkaSalt = PasswordSettings.GetSalt();
            string lozinkaHash = PasswordSettings.GetHash(model.Lozinka, lozinkaSalt);

            //implementiraj izmjenu lozinke ako je 0 na pocetku, prebaci u 387
            string uniqueFileName = UploadedFile(model);

            KorisnickiNalog korisnickiNalog = new KorisnickiNalog
            {
                Ime           = model.Ime,
                Prezime       = model.Prezime,
                Email         = model.Email,
                LozinkaHash   = lozinkaHash,
                LozinkaSalt   = Convert.ToBase64String(lozinkaSalt),
                Permisije     = 3,
                Kreirano      = DateTime.Now,
                Mobitel       = model.Mobitel,
                GradId        = model.GradID,
                Adresa        = model.Adresa,
                JMBG          = model.JMBG,
                DatumRodjenja = model.DatumRodjenja,
                Spol          = model.Spol,
                Slika         = uniqueFileName
            };
            Pacijent pacijent = new Pacijent
            {
                KorisnickiNalog = korisnickiNalog,
                AlergijaNaLijek = model.AlergijaNaLijek,
                Aparatic        = model.Aparatic,
                Navlake         = model.Navlake,
                Proteza         = model.Proteza,
                Terapija        = model.Terapija
            };

            _context.KorisnickiNalogs.Add(korisnickiNalog);
            _context.Pacijents.Add(pacijent);

            _context.SaveChanges();

            TempData["successMessage"] = "Uspješno ste se registrovali.";
            return(RedirectToAction("Prijava"));
        }
예제 #14
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     DataContext = new RegistracijaViewModel((NavigationService)e.Parameter);
 }
예제 #15
0
 public Registracija()
 {
     InitializeComponent();
     BindingContext = vm = new RegistracijaViewModel();
 }
예제 #16
0
        public ActionResult Registracija(RegistracijaViewModel korisnik)
        {
            if (ModelState.IsValid)
            {
                // provjerava da li postoji korisnik sa unesenim username ili email-adresom i ako postoji
                // upozorava korisnika da ne moze unjeti isti username ili password..
                bool nastavi = true;
                foreach (var x in ctx.Korisnici)
                {
                    if (korisnik.EMail == x.EMail)
                    {
                        ViewBag.EmailPostoji = "Email adresa je vec postoji u bazi podataka!";
                        nastavi = false;
                    }
                    if (korisnik.Username == x.Username)
                    {
                        ViewBag.UsernamePostoji = "Username vec postoji u bazi podataka!";
                    }
                }
                if (!nastavi)
                {
                    return(View());
                }

                // Kreiramo novi objekat tipa Korisnik i OnlineKorisnik i unjeg pohranjujemo podatke koje smo preuzeli
                // sa web forme..
                OnlineKorisnik OlKorisnik = new OnlineKorisnik();
                OlKorisnik.Korisnik = new Korisnik();

                OlKorisnik.PotvrdjenaAdresa      = false;
                OlKorisnik.DatumRegistracije     = DateTime.Now;
                OlKorisnik.Korisnik.Adresa       = korisnik.Adresa;
                OlKorisnik.Korisnik.BrTelefona   = korisnik.BrTelefona;
                OlKorisnik.Korisnik.EMail        = korisnik.EMail;
                OlKorisnik.Korisnik.Ime          = korisnik.Ime;
                OlKorisnik.Korisnik.NalogAktivan = false;
                //OlKorisnik.Korisnik.Password = MD5Hash.GetMD5Hash(korisnik.Password);
                OlKorisnik.Korisnik.Password   = korisnik.Password;
                OlKorisnik.Korisnik.Prezime    = korisnik.Prezime;
                OlKorisnik.Korisnik.Username   = korisnik.Username;
                OlKorisnik.Korisnik.RestoranId = ctx.Restorani.First().Id;

                ctx.OnlineKorisnici.Add(OlKorisnik);
                ctx.SaveChanges();

                // Služi za slanje aktivacijskog linka korisnuku na email adresu koju unese
                // adresu sa koje se salje e-mail smo unjeli u postavke rucno..
                System.Net.Mail.MailMessage m = new System.Net.Mail.MailMessage(
                    new System.Net.Mail.MailAddress("*****@*****.**", "RestoranPOS aktivacija"),
                    new System.Net.Mail.MailAddress(korisnik.EMail));
                m.Subject = "RestoranPOS aktivacija";
                m.Body    = string.Format("Poštovani korisniče," +
                                          "  {0}<BR/>Hvala Vam na registraciji, molimo Vas da potvrdite i aktivirate Vaš nalog tako što" +
                                          " ćete kliknuti na sljedeći link :  <a href=\"{1}\" title=\"User Email Confirm\">{1}</a>",
                                          korisnik.Ime + " " + korisnik.Prezime, Url.Action("PotvrdiEmail", "Registracija",
                                                                                            new { Token = OlKorisnik.Korisnik.Id, Email = korisnik.EMail }, Request.Url.Scheme));
                m.IsBodyHtml = true;
                System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.live.com");
                smtp.Port        = 587;
                smtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Aa@336699556611");
                smtp.EnableSsl   = true;
                smtp.Send(m);
                return(RedirectToAction("Potvrdi", "Registracija", new { Email = korisnik.EMail }));
            }
            return(View());
        }
예제 #17
0
        public ActionResult RegistracijaKorisnika(RegistracijaViewModel model)
        {
            //Čuvanje unešenih podataka na serveru
            DataClasses1DataContext dc = new DataClasses1DataContext();

            Korisnik korisnik = new Korisnik();

            korisnik.Ime                = model.ImeKorisnika;
            korisnik.Prezime            = model.PrezimeKorisnika;
            korisnik.Godine             = model.Godine;
            korisnik.Tezina             = model.Tezina;
            korisnik.Visina             = model.Visina;
            korisnik.MestoStanovanja    = model.MestoStanovanja;
            korisnik.BrDobijenihBorbi   = model.BrDobijenihBorbi;
            korisnik.BrIzgubljenihBorbi = model.BrIzgubljenihBorbi;
            korisnik.Adresa             = model.Adresa;
            korisnik.BorilackaVestina   = model.BorilackaVestina;
            korisnik.email              = model.Email;
            korisnik.brTelefona         = model.BrTelefona;

            //provera u bazi da li username vec postoji
            var usernamePostoji = (from k in dc.Korisniks
                                   where k.username == model.UsernameKorisnik
                                   select k.username).SingleOrDefault();

            if (usernamePostoji != null)
            {
                ViewBag.Poruka = "Username koji ste uneli je već zauzet! Molimo Vas unesite neki drugi.";
                // ModelState.Clear();
                return(View("Registracija"));
            }
            //kraj provere

            korisnik.username = model.UsernameKorisnik;

            //provera da li je korisnik uspesno potvrdio password
            if (!(model.PasswordKorisnika1.Equals(model.PasswordKorisnika2)))
            {
                ViewBag.Poruka = "Neuspešno potvrđen password!";
                return(View("Registracija"));
            }
            //kraj provere

            korisnik.passwordKorisnika = model.PasswordKorisnika1;
            korisnik.IDUloge           = 3;

            //dodeljivanje id-a novom korisniku
            Random random   = new Random();
            int    randomBr = random.Next();

            foreach (var k in dc.Korisniks)
            {
                if (k.IDKorisnika == randomBr)
                {
                    randomBr++;
                }
            }

            korisnik.IDKorisnika = randomBr;

            //sada moramo da unesemo njegove podatke i u tabelu Pristup (koju koristimo
            //za login)
            Pristup pristupKorisnik = new Pristup();
            int     rand            = random.Next(0, 9999999);

            foreach (var p in dc.Pristups)
            {
                if (p.IDUsera.Equals("PR" + rand))
                {
                    rand++;
                }
            }

            pristupKorisnik.IDUsera  = "PR" + rand;
            pristupKorisnik.Username = model.UsernameKorisnik;
            pristupKorisnik.Password = model.PasswordKorisnika1;
            pristupKorisnik.IDUloge  = 3;


            dc.Korisniks.InsertOnSubmit(korisnik);
            dc.Pristups.InsertOnSubmit(pristupKorisnik);
            try
            {
                dc.SubmitChanges();
            }
            catch (Exception ex)
            {
                throw ex;
            }

            ViewBag.usernameKor = model.UsernameKorisnik;
            ModelState.Clear(); //reset model field polja sa forme!!!
            ViewBag.uspehRegistracija = "Uspešno ste se registrovali!";
            return(View("Registracija"));
        }