예제 #1
0
        public Model.Klijent UpdateProfile(KlijentInsertRequest request)
        {
            int KlijentId = Security.BasicAuthenticationHandler.PrijavljeniKlijent.KlijentID;

            var entity = db.Klijenti.Where(x => x.KlijentID == KlijentId).FirstOrDefault();

            //db.Klijenti.Attach(entity);
            //db.Klijenti.Update(entity);

            if (!string.IsNullOrEmpty(request.LozinkaHash))
            {
                if (request.LozinkaHash != request.LozinkaProvjera)
                {
                    throw new System.Exception("Lozinke se ne slažu");
                }

                entity.LozinkaSalt = GenerateSalt();
                entity.LozinkaHash = GenerateHash(entity.LozinkaSalt, request.LozinkaHash);
            }

            entity.KorisnickoIme = request.KorisnickoIme;


            db.SaveChanges();

            return(mapper.Map <Model.Klijent>(entity));
        }
예제 #2
0
        async Task Registracija()
        {
            KlijentInsertRequest request = null;
            bool goodreq = true;

            if (datumrodjenja == null || SelectedSpol == null || email == null || ime == null || prezime == null || korisnickoime == null || lozinka == null || lozinkaprovjera == null || _SelectedGrad == null)
            {
                await App.Current.MainPage.DisplayAlert("Obavijest", "Niste popunili sva polja", "OK");

                goodreq = false;
            }
            if (goodreq == true)
            {
                request = new KlijentInsertRequest
                {
                    DatumRodenja    = datumrodjenja,
                    SpolID          = SelectedSpol.SpolID,
                    Email           = email,
                    Ime             = ime,
                    Prezime         = prezime,
                    KorisnickoIme   = korisnickoime,
                    LozinkaHash     = lozinka,
                    LozinkaProvjera = lozinkaprovjera,
                    GradID          = SelectedGrad.Id,
                    UlogaId         = 2,
                };
            }

            Klijent novikorisnik = null;

            if (request != null)
            {
                bool greska           = false;
                var  hasNumber        = new Regex(@"[0-9]+");
                var  hasUpperChar     = new Regex(@"[A-Z]+");
                var  hasMinimum8Chars = new Regex(@".{8,}");
                if (!hasNumber.IsMatch(request.LozinkaHash) || !hasUpperChar.IsMatch(request.LozinkaHash) || !hasMinimum8Chars.IsMatch(request.LozinkaHash))
                {
                    await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinka mora imati brojeve,velika slova i minimum 8 karaktera", "OK");

                    greska = true;
                }
                if (request.LozinkaHash != request.LozinkaProvjera)
                {
                    await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinke nisu iste ", "OK");

                    greska = true;
                }

                var korisnici = await _service.get <List <Klijent> >(null);

                foreach (var k in korisnici)
                {
                    if (k.KorisnickoIme == request.KorisnickoIme)
                    {
                        await App.Current.MainPage.DisplayAlert("Obavijest", "Korisnicko ime  već postoji", "OK");

                        greska = true;
                        break;
                    }
                }
                foreach (var k in korisnici)
                {
                    if (k.Email == request.Email)
                    {
                        await App.Current.MainPage.DisplayAlert("Obavijest", "Email je već iskorišten", "OK");

                        greska = true;
                        break;
                    }
                }

                if (greska != true)
                {
                    novikorisnik = await _service.Insert <Klijent>(request);
                }
            }


            if (novikorisnik != null)
            {
                await App.Current.MainPage.DisplayAlert("Obavijest", "Uspjesno ste se registrovali", "OK");

                APIService.PrijavljeniKorisnik = null;
                APIService.username            = null;
                APIService.password            = null;
                Application.Current.MainPage   = new LoginPage();
            }
            else
            {
                await App.Current.MainPage.DisplayAlert("Obavijest", "Registracija nije uspjela", "OK");
            }
        }
예제 #3
0
        private async void btnSnimi_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                var request = new KlijentInsertRequest();

                request.Ime           = textIme.Text;
                request.Prezime       = textPrezime.Text;
                request.KorisnickoIme = textKorisnickoIme.Text;
                request.Email         = textEmail.Text;
                //request.DatumRodenja = DateTime.Now;
                request.LozinkaHash     = textPassword.Text;
                request.LozinkaProvjera = textPasswordPotvrda.Text;
                request.DatumRodenja    = dateDatum.Value;

                request.GradID  = (cmbGradovi.SelectedItem as Model.Grad).Id;
                request.SpolID  = (cmbSpol.SelectedItem as Model.Spol).SpolID;
                request.UlogaId = (cmbUloga.SelectedItem as Model.Uloga).UlogaId;



                var klijenti = await service.get <List <Klijent> >(null);


                if (id.HasValue)
                {
                    var klijent = await service.getbyId <Klijent>(id);

                    bool greska  = false;
                    bool greska2 = false;



                    foreach (var k in klijenti)
                    {
                        if (k.Email == textEmail.Text && k.Email != klijent.Email)
                        {
                            greska = true;
                            break;
                        }
                        if (k.KorisnickoIme == textKorisnickoIme.Text && k.KorisnickoIme != klijent.KorisnickoIme)
                        {
                            greska2 = true;
                            break;
                        }
                    }
                    if (greska == true)
                    {
                        MessageBox.Show("Email je vec iskorišten");
                        return;
                    }
                    if (greska2 == true)
                    {
                        MessageBox.Show("Korisnicko ime je vec iskorišteno");
                        return;
                    }

                    await service.Update <Model.Klijent>(id, request);

                    MessageBox.Show("Operacija uspjesna");
                    Close();
                }
                else
                {
                    bool greska  = false;
                    bool greska2 = false;



                    foreach (var k in klijenti)
                    {
                        if (k.Email == textEmail.Text)
                        {
                            greska = true;
                            break;
                        }
                        if (k.KorisnickoIme == textKorisnickoIme.Text)
                        {
                            greska2 = true;
                            break;
                        }
                    }
                    if (greska == true)
                    {
                        MessageBox.Show("Email je vec iskorišten");
                        return;
                    }
                    if (greska2 == true)
                    {
                        MessageBox.Show("Korisnicko ime je vec iskorišteno");
                        return;
                    }


                    await service.Insert <Model.Klijent>(request);

                    MessageBox.Show("Operacija uspjesna");
                    Close();
                }
            }
        }
예제 #4
0
        async Task Snimi()
        {
            int     id = APIService.PrijavljeniKorisnik.KlijentID;
            Klijent korisnikrequest = await _service.getbyId <Klijent>(id);


            if (!string.IsNullOrEmpty(lozinka) && !string.IsNullOrEmpty(lozinkaprovjera))
            {
                if (string.IsNullOrEmpty(korisnickoime))
                {
                    korisnickoime = korisnikrequest.KorisnickoIme;
                }

                var request = new KlijentInsertRequest
                {
                    KlijentID       = korisnikrequest.KlijentID,
                    DatumRodenja    = korisnikrequest.DatumRodenja,
                    SpolID          = korisnikrequest.SpolID,
                    Email           = korisnikrequest.Email,
                    Ime             = korisnikrequest.Ime,
                    Prezime         = korisnikrequest.Prezime,
                    KorisnickoIme   = korisnickoime,
                    LozinkaHash     = lozinka,
                    LozinkaProvjera = lozinkaprovjera,
                    GradID          = korisnikrequest.GradID,
                    UlogaId         = 2,
                };
                if (lozinka != lozinkaprovjera)
                {
                    await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinke nisu iste", "OK");

                    return;
                }

                var korisnici = await _service.get <List <Klijent> >(null);

                foreach (var k in korisnici)
                {
                    if (korisnickoime == k.KorisnickoIme && korisnickoime != korisnikrequest.KorisnickoIme)
                    {
                        await App.Current.MainPage.DisplayAlert("Obavijest", "Korisnicko ime koje ste unijeli vec postoji", "OK");

                        return;
                    }
                }
                var hasNumber        = new Regex(@"[0-9]+");
                var hasUpperChar     = new Regex(@"[A-Z]+");
                var hasMinimum8Chars = new Regex(@".{8,}");
                if (!hasNumber.IsMatch(lozinka) || !hasUpperChar.IsMatch(lozinka) || !hasMinimum8Chars.IsMatch(Lozinka))
                {
                    await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinka mora imati brojeve,velika slova i minimum 8 karaktera", "OK");

                    return;
                }
                if (!hasNumber.IsMatch(lozinkaprovjera) || !hasUpperChar.IsMatch(lozinkaprovjera) || !hasMinimum8Chars.IsMatch(lozinkaprovjera))
                {
                    await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinka mora imati brojeve,velika slova i minimum 8 karaktera", "OK");

                    return;
                }
                if (lozinkaprovjera == lozinka)
                {
                    await App.Current.MainPage.DisplayAlert("Obavijest", "Nisu iste lozinke", "OK");

                    return;
                }

                await _service.UpdateProfie <Klijent>(request, "UpdateProfile");

                APIService.password = lozinka;
                APIService.username = korisnickoime;
                await App.Current.MainPage.DisplayAlert("Obavijest", "Uspjesno ste promjenili lozinku", "OK");
            }
            else
            {
                var request = new KlijentInsertRequest
                {
                    KlijentID     = korisnikrequest.KlijentID,
                    DatumRodenja  = korisnikrequest.DatumRodenja,
                    SpolID        = korisnikrequest.SpolID,
                    Email         = korisnikrequest.Email,
                    Ime           = korisnikrequest.Ime,
                    Prezime       = korisnikrequest.Prezime,
                    KorisnickoIme = korisnickoime,
                    GradID        = korisnikrequest.GradID,
                    UlogaId       = 2,
                };
                if (string.IsNullOrEmpty(korisnickoime))
                {
                    await App.Current.MainPage.DisplayAlert("Obavijest", "Korisnicko ime mora sadrzavati barem jedan karakter", "OK");

                    return;
                }
                var korisnici = await _service.get <List <Klijent> >(null);

                foreach (var k in korisnici)
                {
                    if (korisnickoime == k.KorisnickoIme && korisnickoime != korisnikrequest.KorisnickoIme)
                    {
                        await App.Current.MainPage.DisplayAlert("Obavijest", "Korisnicko ime koje ste unijeli vec postoji", "OK");

                        return;
                    }
                }
                await _service.Update <Klijent>(id, request);

                APIService.username = korisnickoime;
                await App.Current.MainPage.DisplayAlert("Obavijest", "Uspjesno ste promijenili korisnicko ime", "OK");
            }



            Application.Current.MainPage = new MainPage();
        }