Ejemplo n.º 1
0
        public KorisnikEditRequest GetKorisnikEdit(int id)
        {
            var entity = _context.Korisnik.Find(id);

            if (entity != null)
            {
                KorisnikEditRequest k = _mapper.Map <KorisnikEditRequest>(entity);
                return(k);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
        public KorisnikEditRequest Update(KorisnikEditRequest model, int id)
        {
            if (model.Sifra == model.SifraPonovo)
            {
                var user = _context.Korisnik.FirstOrDefault(x => x.KorisnickoIme == model.KorisnickoIme);

                if (user != null)
                {
                    if (_context.Korisnik.Where(x => x.KorisnickoIme == model.KorisnickoIme).Any())
                    {
                        model.Response = "Korisničko ime je zauzeto";
                        return(model);
                    }
                    user.Ime           = model.Ime;
                    user.Prezime       = model.Prezime;
                    user.BrojTelefona  = model.BrojTelefona;
                    user.Email         = model.Email;
                    user.KorisnickoIme = model.KorisnickoIme;


                    var newHash = GenerateHash(user.SifraSalt, model.Sifra);

                    if (newHash == user.SifraHash)
                    {
                        user.SifraSalt = GenerateSalt();
                        user.SifraHash = GenerateHash(user.SifraSalt, model.Sifra);
                        _context.Set <Korisnik>().Attach(user);
                        _context.Set <Korisnik>().Update(user);

                        _context.SaveChanges();
                    }
                }
                return(model);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 3
0
        async Task Register()
        {
            if (!Postojeci)
            {
                if (Ime == null || Ime.Length < 3)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Ime nije pravilno uneseno!", "Ok");

                    return;
                }
                if (Prezime == null || Prezime.Length < 3)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Prezime nije pravilno uneseno!", "Ok");

                    return;
                }
                Regex regex = new Regex(@"^\d+$");

                if (!regex.Match(JMBG).Success || JMBG.Length != 13)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "JMBG nije pravilno unesen!", "Ok");

                    return;
                }

                bool isPhone = Regex.IsMatch(BrojTelefona, @"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}");

                if (isPhone || BrojTelefona.Length < 8)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Telefon je neispravno unesen!", "Ok");

                    return;
                }

                if (DatumRodjenja != null)
                {
                    if (DatumRodjenja > DateTime.Today)
                    {
                        await Application.Current.MainPage.DisplayAlert("Greška", "Datum je neispravno unesen!", "Ok");

                        return;
                    }
                }

                bool isEmail = Regex.IsMatch(Email, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase);

                if (!isEmail || Email.Length < 6)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "E-Mail je neispravno unesen!", "Ok");

                    return;
                }

                if (KorisnickoIme == null || KorisnickoIme.Length < 3)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Korisnicko Ime nije pravilno uneseno!", "Ok");

                    return;
                }

                if (Sifra == null || Sifra.Length < 6)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Šifra mora biti duža od 6 karaktera!", "Ok");

                    return;
                }

                if (SifraPonovo == Sifra && Sifra != null)
                {
                    KorisnikInsertRequest request = new KorisnikInsertRequest
                    {
                        Ime           = Ime,
                        Prezime       = Prezime,
                        Jmbg          = JMBG,
                        KorisnickoIme = KorisnickoIme,
                        IsAdmin       = false,
                        Sifra         = Sifra,
                        Role          = 3,
                        Email         = Email,
                        BrojTelefona  = BrojTelefona,
                        DatumRodjenja = DatumRodjenja
                    };
                    request = await service.Register <KorisnikInsertRequest>(request);

                    if (request.Response == null)
                    {
                        Application.Current.MainPage = new LoginPage();
                    }
                    else
                    {
                        await Application.Current.MainPage.DisplayAlert("Greška", request.Response, "OK");
                    }
                    return;
                }
                else
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Šifre nisu iste", "Ok");

                    return;
                }
            }
            else
            {
                if (Ime == null || Ime.Length < 3)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Ime nije pravilno uneseno!", "Ok");

                    return;
                }
                if (Prezime == null || Prezime.Length < 3)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Prezime nije pravilno uneseno!", "Ok");

                    return;
                }
                Regex regex = new Regex(@"^\d+$");

                if (!regex.Match(JMBG).Success || JMBG.Length != 13)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "JMBG nije pravilno unesen!", "Ok");

                    return;
                }

                bool isPhone = Regex.IsMatch(BrojTelefona, @"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}");

                if (isPhone || BrojTelefona.Length < 8)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Telefon je neispravno unesen!", "Ok");

                    return;
                }

                if (DatumRodjenja != null)
                {
                    if (DatumRodjenja > DateTime.Today)
                    {
                        await Application.Current.MainPage.DisplayAlert("Greška", "Datum je neispravno unesen!", "Ok");

                        return;
                    }
                }

                bool isEmail = Regex.IsMatch(Email, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase);

                if (!isEmail || Email.Length < 6)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "E-Mail je neispravno unesen!", "Ok");

                    return;
                }

                if (KorisnickoIme == null || KorisnickoIme.Length < 3)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Korisnicko Ime nije pravilno uneseno!", "Ok");

                    return;
                }

                if (Sifra == null || Sifra.Length < 6)
                {
                    await Application.Current.MainPage.DisplayAlert("Greška", "Šifra mora biti duža od 6 karaktera!", "Ok");

                    return;
                }

                if (SifraPonovo == Sifra && Sifra != null)
                {
                    KorisnikEditRequest request = new KorisnikEditRequest
                    {
                        KorisnikId    = KorisnikId,
                        Ime           = Ime,
                        Prezime       = Prezime,
                        Jmbg          = JMBG,
                        KorisnickoIme = KorisnickoIme,
                        Sifra         = Sifra,
                        Email         = Email,
                        BrojTelefona  = BrojTelefona,
                        DatumRodjenja = DatumRodjenja
                    };
                    await service.Update <KorisnikEditRequest>(KorisnikId, request);

                    KorisnikModel k = new KorisnikModel
                    {
                        Ime           = Ime,
                        Prezime       = Prezime,
                        KorisnickoIme = KorisnickoIme
                    };
                    Application.Current.MainPage = new PocetnaPage(k);
                }
            }
        }
Ejemplo n.º 4
0
 public KorisnikEditRequest Update(KorisnikEditRequest Model, int id)
 {
     return(_korisnikService.Update(Model, id));
 }
Ejemplo n.º 5
0
        private async void btn_Save_Click(object sender, EventArgs e)
        {
            bool valid = true;

            if (tb_Ime.Text == null || tb_Ime.Text.Length < 3)
            {
                MessageBox.Show("Ime nije pravilno uneseno", "Greška", MessageBoxButtons.OK);
                valid = false;
            }
            if (tb_Prezime.Text == null || tb_Prezime.Text.Length < 3)
            {
                MessageBox.Show("Prezime nije pravilno uneseno", "Greška", MessageBoxButtons.OK);
                valid = false;
            }
            Regex regex = new Regex(@"^\d+$");

            if (!regex.Match(tb_JMBG.Text).Success || tb_JMBG.Text.Length != 13)
            {
                MessageBox.Show("JMBG nije pravilno unesen", "Greška", MessageBoxButtons.OK);
                valid = false;
            }

            bool isPhone = Regex.IsMatch(tb_Telefon.Text, @"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}");

            if (isPhone || tb_Telefon.Text.Length < 8)
            {
                MessageBox.Show("Telefon nije pravilno unesen", "Greška", MessageBoxButtons.OK);
                valid = false;
            }

            if (tb_Datum.Text != null)
            {
                if (Convert.ToDateTime(tb_Datum.Text) > DateTime.Today)
                {
                    MessageBox.Show("Datum nije pravilno unesen", "Greška", MessageBoxButtons.OK);
                    valid = false;
                }
            }

            bool isEmail = Regex.IsMatch(tb_Email.Text, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase);

            if (!isEmail || tb_Email.Text.Length < 6)
            {
                MessageBox.Show("E-Mail nije pravilno unesen", "Greška", MessageBoxButtons.OK);
                valid = false;
            }

            if (tb_Username.Text == null || tb_Username.Text.Length < 3)
            {
                MessageBox.Show("Korisničko ime nije pravilno uneseno", "Greška", MessageBoxButtons.OK);
                valid = false;
            }

            if (tb_Password.Text == null || tb_Password.Text.Length < 6)
            {
                MessageBox.Show("Šifra nije pravilno unesena", "Greška", MessageBoxButtons.OK);
                valid = false;
            }

            if (tb_Password.Text != tb_Passwordrepeat.Text)
            {
                MessageBox.Show("Šifre se ne poklapaju", "Greška", MessageBoxButtons.OK);
                valid = false;
            }

            if (valid)
            {
                if (cb_Uloga.Visible == false)
                {
                    if (_KorisnikId > 0 && _Role > 0)
                    {
                        KorisnikEditRequest request = new KorisnikEditRequest
                        {
                            Ime           = tb_Ime.Text,
                            Prezime       = tb_Prezime.Text,
                            Jmbg          = tb_JMBG.Text,
                            Sifra         = tb_Password.Text,
                            Email         = tb_Email.Text,
                            BrojTelefona  = tb_Telefon.Text,
                            DatumRodjenja = Convert.ToDateTime(tb_Datum.Text),
                            KorisnickoIme = tb_Username.Text,
                            KorisnikId    = _KorisnikId,
                            SifraPonovo   = tb_Passwordrepeat.Text
                        };
                        request = await _KorisnikService.Update <KorisnikEditRequest>(_KorisnikId, request);

                        if (request.Response == string.Empty)
                        {
                            Close();
                        }
                        else
                        {
                            MessageBox.Show(request.Response);
                        }
                    }
                }
                else if (_Role == 0 && cb_Uloga.SelectedIndex > 0)
                {
                    KorisnikInsertRequest request = new KorisnikInsertRequest
                    {
                        Ime           = tb_Ime.Text,
                        Prezime       = tb_Prezime.Text,
                        Jmbg          = tb_JMBG.Text,
                        Sifra         = tb_Password.Text,
                        Email         = tb_Email.Text,
                        BrojTelefona  = tb_Telefon.Text,
                        DatumRodjenja = Convert.ToDateTime(tb_Datum.Text),
                        KorisnickoIme = tb_Username.Text,
                        Role          = cb_Uloga.SelectedIndex
                    };
                    request = await _KorisnikService.Register <KorisnikInsertRequest>(request);

                    if (request.Response == null)
                    {
                        Close();
                    }
                    else
                    {
                        MessageBox.Show(request.Response);
                    }
                }
            }
        }