public async void DeleteUnsuccessfulLogins()
        {
            var result = await _service.Get <List <Model.Korisnici> >(null);

            var resultUA = await _ua.Get <List <Model.UserActivity> >(null);

            Model.Korisnici    korisnik = null;
            Model.UserActivity user     = null;
            foreach (var item in result)
            {
                if (APIService.Username == item.KorisnickoIme)
                {
                    korisnik = item;
                }
            }
            if (korisnik != null)
            {
                foreach (var item in resultUA)
                {
                    if (korisnik.KorisnikId == item.KorisnikId)
                    {
                        user = item;
                    }
                }
                if (user != null)
                {
                    user.BrojNeuspjesnihPrijavljivanja = 0;
                    await _ua.Update <Model.UserActivity>(user.KorisnikId, user);
                }
            }
            APIService.Username = null;
            APIService.Password = null;
        }
        private async void btnPrijaviSe_Click(object sender, EventArgs e)
        {
            try
            {
                APIService.Username = txtKorisnickoIme.Text;
                APIService.Password = txtLozinka.Text;
                await _service.Get <dynamic>(null);

                List <Model.Korisnici> listKorisnici = await _korisniciService.Get <List <Model.Korisnici> >(new KorisniciSearchRequest()
                {
                    KorisnickoIme = APIService.Username
                });

                Model.Korisnici korisnik = listKorisnici.Where(x => x.KorisnickoIme == APIService.Username).FirstOrDefault();
                if (korisnik != null)
                {
                    frmIndex frm = new frmIndex();
                    frm.Show();
                }
                else
                {
                    MessageBox.Show("Pogrešno korisničko ime ili lozinka!");
                }
            }
            catch (Exception ex) {
                //MessageBox.Show(ex.Message);
            }
        }
        private async void BtnLogin_Click(object sender, EventArgs e)
        {
            APIService.Username = txtUsername.Text;
            APIService.Password = txtPassword.Text;
            try
            {
                await _service.Get <dynamic>(null);

                Model.Korisnici        korisnik = null;
                List <Model.Korisnici> lista    = await _service.Get <List <Model.Korisnici> >(null);

                korisnik = lista.FirstOrDefault(x => x.KorisnickoIme == APIService.Username);
                if (korisnik != null)
                {
                    frmIndex frm = new frmIndex();
                    frm.Show();
                    this.Hide();
                }
                else
                {
                    MessageBox.Show("Nemate Pravo Pristupa!", "Greska!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message, "Autentifikacija", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private async void opImage_Clicked(object sender, EventArgs e)
        {
            if (NavigationPane.IsVisible == true)
            {
                NavigationPane.IsVisible = false;
                await opImage.RotateTo(180, 200);
            }
            else
            {
                NavigationPane.IsVisible = true;
                await opImage.RotateTo(90, 200);

                var lista = await korisnici.Get <IList <Model.Korisnici> >(null);

                Model.Korisnici korisnik = new Model.Korisnici();
                foreach (var item in lista)
                {
                    if (item.KorisnickoIme == APIService.Username)
                    {
                        korisnik = item;
                    }
                }
                spanUser.Text = korisnik.Ime + " " + korisnik.Prezime;
            }
        }
Beispiel #5
0
        private async void btnSacuvaj_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                model.Email           = txtEmail.Text;
                model.Ime             = txtIme.Text;
                model.KorisnickoIme   = txtKorisnickoIme.Text;
                model.Prezime         = txtPrezime.Text;
                model.Telefon         = txtTelefon.Text;
                model.Password        = txtPassword.Text;
                model.PasswordPotvrda = txtPotvrdaPassworda.Text;
                model.KorisnikId      = _id.Value;
                if (cbAktivan.Checked == true)
                {
                    model.Status = true;
                }
                else
                {
                    model.Status = false;
                }
                Model.Korisnici entity = null;
                entity = await _service.Update <Model.Korisnici>(_id.Value, model);

                if (entity != null)
                {
                    DialogResult r = MessageBox.Show("Podaci su izmijenjeni! Morate se ponovo prijaviti!");
                    if (r == DialogResult.OK)
                    {
                        Application.Restart();
                    }
                }
            }
        }
        public async Task Init()
        {
            Model.Korisnici korisnik = null;
            var             listaK   = await _korisnici.Get <List <Model.Korisnici> >(null);

            var list = await _recenzije.Get <List <Model.Recenzije> >(null);

            foreach (var item in listaK)
            {
                if (item.KorisnickoIme == APIService.Username)
                {
                    korisnik = item;
                }
            }
            recenzije.Clear();
            var temp = 0;


            foreach (var item in list)
            {
                if (item.KorisnikId == korisnik.KorisnikId)
                {
                    item.Rbr = ++temp;
                    recenzije.Add(item);
                }
            }
        }
Beispiel #7
0
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                var roleList = clbRole.CheckedItems.Cast <Model.Uloge>().Select(x => x.UlogaId).ToList();

                var request = new KorisniciInsertRequest
                {
                    Email           = txtEmail.Text,
                    Ime             = txtIme.Text,
                    KorisnickoIme   = txtKorisnickoIme.Text,
                    Password        = txtPassword.Text,
                    PasswordPotvrda = txtPasswordPotvrda.Text,
                    Prezime         = txtPrezime.Text,
                    Telefon         = txtTelefon.Text,
                    Uloge           = roleList
                };

                Model.Korisnici entity = null;
                if (!_id.HasValue)
                {
                    entity = await _service.Insert <Model.Korisnici>(request);
                }
                else
                {
                    entity = await _service.Update <Model.Korisnici>(_id.Value, request);
                }

                if (entity != null)
                {
                    MessageBox.Show("Uspješno izvršeno");
                }
            }
        }
        private async void KorisnickiProfil_Load(object sender, EventArgs e)
        {
            try
            {
                var search = new KorisniciSearchRequest()
                {
                    KorisnickoIme = APIService.KorisnickoIme
                };

                var lista = await _korisniciService.Get <List <Model.Korisnici> >(search);



                foreach (var item in lista)
                {
                    if (item.KorisnickoIme == APIService.KorisnickoIme)
                    {
                        korisnik = item;
                        break;
                    }
                }

                txtIme.Text           = korisnik.Ime;
                txtPrezime.Text       = korisnik.Prezime;
                txtEmail.Text         = korisnik.Email;
                cbAktivan.Checked     = korisnik.Status.Value;
                pbSlika.Image         = Helper.ImageHelper.FromByteToImage(korisnik.Slika);
                txtKorisnickoIme.Text = korisnik.KorisnickoIme;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Beispiel #9
0
        protected override async Task <AuthenticateResult> HandleAuthenticateAsync()
        {
            if (!Request.Headers.ContainsKey("Authorization"))
            {
                return(AuthenticateResult.Fail("Missing Authorization Header"));
            }

            bool kupac = false;

            Model.Korisnici user   = null;
            Model.Putnici   putnik = null;
            try
            {
                var authHeader      = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]);
                var credentialBytes = Convert.FromBase64String(authHeader.Parameter);
                var credentials     = Encoding.UTF8.GetString(credentialBytes).Split(':');
                var username        = credentials[0];
                var password        = credentials[1];
                user = _userService.Authenticiraj(username, password);
                if (user == null)
                {
                    putnik = _putnik.Authenticiraj(username, password);
                    kupac  = true;
                }
            }
            catch (Exception)
            {
                return(AuthenticateResult.Fail("Invalid Authorization Header"));
            }

            if (user == null && putnik == null)
            {
                return(AuthenticateResult.Fail("Invalid Username or Password"));
            }

            var claims = new List <Claim> {
            };

            if (!kupac)
            {
                claims.Add(new Claim(ClaimTypes.NameIdentifier, user.KorisnickoIme));
                claims.Add(new Claim(ClaimTypes.Name, user.Ime));
                foreach (var role in user.KorisniciUloges)
                {
                    claims.Add(new Claim(ClaimTypes.Role, role.Uloga.Naziv));
                }
            }
            else
            {
                claims.Add(new Claim(ClaimTypes.NameIdentifier, putnik.KorisnickoIme));
                claims.Add(new Claim(ClaimTypes.Name, putnik.Ime));
            }

            var identity  = new ClaimsIdentity(claims, Scheme.Name);
            var principal = new ClaimsPrincipal(identity);
            var ticket    = new AuthenticationTicket(principal, Scheme.Name);

            return(AuthenticateResult.Success(ticket));
        }
Beispiel #10
0
        public async void SetPreferences()
        {
            var result = await _service.Get <List <Model.Korisnici> >(null);

            var resultUA = await _ua.Get <List <Model.UserActivity> >(null);

            Model.Korisnici    korisnik = null;
            Model.UserActivity user     = null;
            foreach (var item in result)
            {
                if (APIService.Username == item.KorisnickoIme)
                {
                    korisnik = item;
                }
            }
            if (korisnik != null)
            {
                foreach (var item in resultUA)
                {
                    if (korisnik.KorisnikId == item.KorisnikId)
                    {
                        user = item;
                    }
                }
                if (user != null)
                {
                    user.IsApartman  = APIService.Apartments;
                    user.IsAtrakcija = APIService.Atraction;
                    user.IsHotel     = APIService.Hotels;
                    user.IsKafic     = APIService.Coffeeshops;
                    user.IsNightClub = APIService.Nightclubs;
                    user.IsRestoran  = APIService.Food;

                    await _ua.Update <Model.UserActivity>(user.KorisnikId, user);
                }
                else
                {
                    var request = new UserActivityUpsertRequest
                    {
                        KorisnikId                    = korisnik.KorisnikId,
                        BrojPrijavljivanja            = 1,
                        BrojNeuspjesnihPrijavljivanja = 0,
                        Datum       = DateTime.Now,
                        Razlog      = "",
                        Onemogucen  = false,
                        IsApartman  = APIService.Apartments,
                        IsAtrakcija = APIService.Atraction,
                        IsHotel     = APIService.Hotels,
                        IsNightClub = APIService.Nightclubs,
                        IsKafic     = APIService.Coffeeshops,
                        IsRestoran  = APIService.Food
                    };
                    await _ua.Insert <Model.UserActivity>(request);
                }
            }
        }
Beispiel #11
0
        public async Task Init()
        {
            var list = await _poruke.Get <IList <Model.Poruke> >(null);

            var listKorisnika = await _service.Get <IList <Model.Korisnici> >(null);

            var listaGradova = await _gradovi.Get <IList <Model.Gradovi> >(null);

            var listaDrzava = await _drzave.Get <IList <Model.Drzave> >(null);

            Model.Korisnici korisnik = new Model.Korisnici();
            korisnici.Clear();
            var temp = 0;

            foreach (var item in listKorisnika)
            {
                if (item.KorisnickoIme == APIService.Username)
                {
                    korisnik = item;
                }
                item.ImePrezime = item.Ime + " " + item.Prezime;
                item.Rbr        = ++temp;
                if (item.GradId != null)
                {
                    int brojac = 0;
                    foreach (var item1 in listaGradova)
                    {
                        if (item1.GradId == item.GradId)
                        {
                            item.Grad = item1.Naziv;
                        }
                        foreach (var item2 in listaDrzava)
                        {
                            if (item1.DrzavaId == item2.DrzavaId)
                            {
                                item.Drzava = item2.Naziv;
                            }
                        }
                        if (brojac == listKorisnika.Count)
                        {
                            break;
                        }
                        brojac++;
                    }
                }
                korisnici.Add(item);
            }
            //poruke.Clear();
            //foreach (var item in list)
            //{
            //    if (item.PosiljalacId == korisnik.KorisnikId || item.PrimalacId == korisnik.KorisnikId)
            //    {
            //        poruke.Add(item);
            //    }
            //}
        }
        private async void btnKreiraj_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidateChildren())
                {
                    var linija = new LinijaUpsertRequest();

                    linija.Naziv       = txtNaziv.Text;
                    linija.PolazisteId = int.Parse(cmbPolaziste.SelectedValue.ToString());
                    linija.OdredisteId = int.Parse(cmbOdrediste.SelectedValue.ToString());


                    var search = new KorisniciSearchRequest()
                    {
                        KorisnickoIme = APIService.KorisnickoIme
                    };

                    var listaKorisnika = await _korisnici.Get <List <Model.Korisnici> >(search);

                    Model.Korisnici korisnik = null;

                    foreach (var item in listaKorisnika)
                    {
                        if (item.KorisnickoIme == APIService.KorisnickoIme)
                        {
                            korisnik = item;
                            break;
                        }
                    }

                    linija.KorisnikId = korisnik.Id;


                    if (!_id.HasValue)
                    {
                        var l = await _linija.Insert <Model.Linija>(linija);

                        MessageBox.Show("Linija je uspješno kreirana, molimo unesite cijenu linije");

                        frmCijenaDetalji frm = new frmCijenaDetalji(l.Id);

                        frm.Show();
                    }
                    else
                    {
                        await _linija.Update <Model.Linija>(_id.Value, linija);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Linija detalji", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        protected override async Task <AuthenticateResult> HandleAuthenticateAsync()
        {
            if (!Request.Headers.ContainsKey("Authorization"))
            {
                return(AuthenticateResult.Fail("Missing Authorization Header"));
            }

            Model.Korisnici user = null;
            try
            {
                var authHeader      = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]);
                var credentialBytes = Convert.FromBase64String(authHeader.Parameter);
                var credentials     = Encoding.UTF8.GetString(credentialBytes).Split(':');
                var username        = credentials[0];
                var password        = credentials[1];
                user = _userService.Login(
                    new Model.Requests.KorisniciLoginRequest()
                {
                    Username = username,
                    Password = password
                });; //Authenticiraj(username, password);
            }
            catch
            {
                return(AuthenticateResult.Fail("Invalid Authorization Header"));
            }

            if (user == null)
            {
                return(AuthenticateResult.Fail("Invalid Username or Password"));
            }

            var claims = new List <Claim> {
                new Claim(ClaimTypes.NameIdentifier, user.KorisnickoIme),
                new Claim(ClaimTypes.Name, user.Ime),
            };

            foreach (var role in user.KorisniciUloge)
            {
                claims.Add(new Claim(ClaimTypes.Role, role.Uloga.Naziv));
            }

            var identity  = new ClaimsIdentity(claims, Scheme.Name);
            var principal = new ClaimsPrincipal(identity);
            var ticket    = new AuthenticationTicket(principal, Scheme.Name);

            return(AuthenticateResult.Success(ticket));
        }
Beispiel #14
0
        private async void btnSacuvaj_Click(object sender, EventArgs e)
        {
            var roleList = clbRole.CheckedItems.Cast <Model.Uloge>().Select(x => x.UlogaId).ToList();

            if (this.ValidateChildren())
            {
                model.Email           = txtEmail.Text;
                model.Ime             = txtIme.Text;
                model.KorisnickoIme   = txtKorisnickoime.Text;
                model.Password        = txtPasword.Text;
                model.PasswordPotvrda = txtpotvrdaPasworda.Text;
                model.Prezime         = txtPrezime.Text;
                model.Telefon         = txtTelefon.Text;

                model.Uloge = roleList;

                if (cbAktivan.Checked)
                {
                    model.Status = true;
                }
                model.Status = false;

                var provjera = await _service.Get <List <Model.Korisnici> >(txtKorisnickoime.Text);

                if (provjera.Count > 0)
                {
                    DialogResult r = MessageBox.Show("Korisničko ime je zauzeto!");
                    if (r == DialogResult.OK)
                    {
                        txtKorisnickoime.Text = "";
                    }
                }
                else
                {
                    Model.Korisnici entity = null;

                    entity = await _service.Insert <Model.Korisnici>(model);



                    if (entity != null)
                    {
                        MessageBox.Show("Uspješno izvršeno");
                        this.Close();
                    }
                }
            }
        }
Beispiel #15
0
        public Model.Korisnici Authenticiraj(KorisniciLoginRequest request)
        {
            var user = _context.Korisnici.Include("KorisniciUloge.Uloga").FirstOrDefault(x => x.KorisnickoIme == request.Username);

            if (user != null)
            {
                var newHash = GenerateHash(user.LozinkaSalt, request.Password);

                if (newHash == user.LozinkaHash)
                {
                    Model.Korisnici korisnici = _mapper.Map <Model.Korisnici>(user);
                    return(korisnici);
                }
            }
            return(null);
        }
        private async void btnSacuvaj_Click(object sender, EventArgs e)
        {
            if (ValidateChildren() && txtLozinka_Validating() && await txtKorisnickoIme_Validating() && await txtEmail_Validating())
            {
                var roleList = clbUloge.CheckedItems.Cast <Model.Uloge>().Select(x => x.UlogaId).ToList();
                var request  = new KorisniciUpsertRequest()
                {
                    Ime            = txtIme.Text,
                    Prezime        = txtPrezime.Text,
                    Email          = txtEmail.Text,
                    Telefon        = txtTelefon.Text,
                    GradId         = int.Parse(cbGrad.SelectedValue.ToString()),
                    KorisnickoIme  = txtKorisnickoIme.Text,
                    Lozinka        = txtLozinka.Text,
                    PotvrdaLozinke = txtPotvrdaLozinke.Text,
                    Status         = cbStatus.Checked,
                    Uloge          = roleList
                };

                Model.Korisnici entity = null;
                try
                {
                    if (_id.HasValue)
                    {
                        entity = await _korisniciService.Update <Model.Korisnici>(_id.Value, request);

                        if (entity.KorisnickoIme.Equals(APIService.Username) && request.Lozinka != string.Empty)
                        {
                            APIService.Password = request.Lozinka;//da nas ne izbaci
                        }
                    }
                    else
                    {
                        entity = await _korisniciService.Insert <Model.Korisnici>(request);
                    }
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message);
                }
                if (entity != null)
                {
                    MessageBox.Show("Uspješno izvršeno");
                }
                this.Close();
            }
        }
Beispiel #17
0
        private async void button6_Click_1(object sender, EventArgs e)
        {
            var korisnici = await _korisnici.Get <List <Model.Korisnici> >(null);

            Model.Korisnici primalac   = new Model.Korisnici();
            Model.Korisnici posiljalac = new Model.Korisnici();
            //primalac
            foreach (var item in korisnici)
            {
                if (item.KorisnikId == int.Parse(listBox1.SelectedValue.ToString()))
                {
                    primalac = item;
                }
                if (item.KorisnickoIme == APIService.Username)
                {
                    posiljalac = item;
                }
            }
            var imeprezime  = primalac.Ime + " " + primalac.Prezime;
            var imeprezime1 = posiljalac.Ime + " " + posiljalac.Prezime;
            var request     = new PorukeUpsertRequest
            {
                Sadrzaj      = richTextBox2.Text,
                Primalac     = imeprezime,
                PrimalacId   = primalac.KorisnikId,
                Posiljalac   = imeprezime1,
                PosiljalacId = posiljalac.KorisnikId,
                Datum        = DateTime.Now
            };

            if (request != null)
            {
                try
                {
                    await _poruke.Insert <Model.Poruke>(request);

                    this.panel1.Controls.Clear();
                    GetPoruke();
                }
                catch
                {
                    MessageBox.Show("Greška prilikom slanja!");
                }
            }
        }
Beispiel #18
0
        public Model.Korisnici Insert(KorisniciInsertRequest korisnik)
        {
            var entity = new Model.Korisnici
            {
                Email         = korisnik.Email,
                Ime           = korisnik.Ime,
                LozinkaHash   = korisnik.LozinkaHash,
                Prezime       = korisnik.Prezime,
                LozinkaSalt   = korisnik.LozinkaSalt,
                Telefon       = korisnik.Telefon,
                Status        = korisnik.Status,
                KorisnickoIme = korisnik.KorisnickoIme
            };

            _context.Add(entity);
            _context.SaveChanges();

            return(entity);
        }
        private async Task LoadKorisnici()
        {
            var result = await _korisnici.Get <List <Model.Korisnici> >(null);

            foreach (var item in result)
            {
                item.ImePrezime = item.Ime + " " + item.Prezime;
                korisnik        = item;
            }
            result.Insert(0, new Model.Korisnici()
            {
                Ime = "Odaberite korisnika", KorisnikId = 0
            });

            cmbOdaberiKorisnika.DataSource = result;
            //cmbOdaberiKorisnika.AccessibilityObject.
            cmbOdaberiKorisnika.DisplayMember = "ImePrezime";
            cmbOdaberiKorisnika.ValueMember   = "KorisnikID";
        }
        private async void btnSnimi_Click(object sender, EventArgs e)
        {
            var request = new Model.Requests.KorisniciInsertRequest
            {
                Ime            = txtIme.Text,
                Prezime        = txtPrezime.Text,
                KorisnickoIme  = txtKorisnickoIme.Text,
                Email          = txtEmail.Text,
                Lozinka        = txtLozinka.Text,
                LozinkaPotvrda = txtLozinkaPotvrda.Text,
                GradId         = (cmbGradovi.SelectedItem as Model.Gradovi).GradId,
                Status         = chbAktivan.Checked,
                UlogaId        = (cmbUloge.SelectedItem as Model.Uloge).UlogaId
            };

            if (_id == 0)
            {
                Model.Korisnici entity = await _serviceKorisnici.Insert <Model.Korisnici>(request);

                if (entity != null)
                {
                    MessageBox.Show("Korisnik uspješno dodan.");
                    DialogResult = DialogResult.OK;
                    Close();
                }
            }
            else
            {
                Model.Korisnici entity = await _serviceKorisnici.Update <Model.Korisnici>(_id, request);

                if (entity != null)
                {
                    MessageBox.Show("Korisnik uspješno izmijenjen.");
                    DialogResult = DialogResult.OK;
                    Close();
                }
            }
        }
        public async Task Init()
        {
            Model.Korisnici korisnik = null;
            var             listaK   = await _korisnici.Get <List <Model.Korisnici> >(null);

            var list = await _favoriti.Get <IList <Model.MojiFavoriti> >(null);

            foreach (var item in listaK)
            {
                if (item.KorisnickoIme == APIService.Username)
                {
                    korisnik = item;
                }
            }
            favoriti.Clear();
            var  temp    = 0;
            bool postoji = false;

            foreach (var item in list)
            {
                if (item.KorisnikId == korisnik.KorisnikId)
                {
                    foreach (var item2 in favoriti)
                    {
                        if (item.Naziv == item2.Naziv)
                        {
                            postoji = true;
                        }
                    }
                    if (!postoji)
                    {
                        item.Rbr = ++temp;
                        favoriti.Add(item);
                    }
                    postoji = false;
                }
            }
        }
        public async void AddFavourite()
        {
            var list = await _service.Get <IList <Model.Korisnici> >(null);

            foreach (var item in list)
            {
                if (item.KorisnickoIme == APIService.Username)
                {
                    korisnik = item;

                    break;
                }
            }
            var listaFavorita = await _favoriti.Get <IList <Model.MojiFavoriti> >(null);

            foreach (var item in listaFavorita)
            {
                if (item.Naziv == APIService.Naziv && item.KorisnikId == korisnik.KorisnikId)
                {
                    APIService.postojiFavorit = true;
                }
            }
            if (!APIService.postojiFavorit)
            {
                if (APIService.Naziv != null && APIService.ObjekatID != 0 && APIService.Vrsta != null && korisnik != null)
                {
                    await _favoriti.Insert <Model.MojiFavoriti>
                        (new MojiFavoritiUpsertRequest()
                    {
                        KorisnikId = korisnik.KorisnikId,
                        ObjekatId  = APIService.ObjekatID,
                        Naziv      = APIService.Naziv,
                        Vrsta      = APIService.Vrsta
                    });
                }
            }
        }
Beispiel #23
0
        public Model.Korisnici Insert(KorisniciInsertRequest request)
        {
            var entity = _mapper.Map <Database.Korisnik>(request);

            if (request.Password != request.PasswordPotvrda)
            {
                throw new Exception("Passwordi se ne slažu");
            }

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

            _context.Korisnik.Add(entity);
            _context.SaveChanges();

            foreach (var uloga in request.Uloge)
            {
                Database.KorisniciUloge korisniciUloge = new Database.KorisniciUloge();
                korisniciUloge.KorisnikId   = entity.KorisnikId;
                korisniciUloge.UlogaId      = uloga;
                korisniciUloge.DatumIzmjene = DateTime.Now;
                _context.KorisniciUloge.Add(korisniciUloge);
            }
            _context.SaveChanges();
            var rezultat = new Model.Korisnici();

            rezultat.Ime           = entity.Ime;
            rezultat.Prezime       = entity.Prezime;
            rezultat.KorisnikId    = entity.KorisnikId;
            rezultat.Email         = entity.Email;
            rezultat.Telefon       = entity.Telefon;
            rezultat.Status        = entity.Status;
            rezultat.KorisnickoIme = entity.KorisnickoIme;
            rezultat.Slika         = entity.Slika;

            return(rezultat);
        }
Beispiel #24
0
 public async Task LoadKorisnika()
 {
     Korisnik = await _service.Get <Model.Korisnici>(null, "me");
 }
Beispiel #25
0
        async Task Login()
        {
            IsBusy = true;
            APIService.Username = Username;
            APIService.Password = Password;
            var resultUA = await _uaservice.Get <List <Model.UserActivity> >(null);

            var result = await _service.Get <List <Model.Korisnici> >(null);

            Model.Korisnici korisnik   = new Model.Korisnici();
            bool            pronadjen  = false;
            bool            pronadjen2 = false;

            Model.UserActivity userActivity = null;
            bool udaljen = false;

            bool takeThis = false;

            if (udaljen == true)
            {
                await Application.Current.MainPage.DisplayAlert("You don't have permissions to access the application", "No access", "OK");
            }
            foreach (var temp in result)
            {
                if (temp.KorisnickoIme == Username)
                {
                    korisnik  = temp;
                    pronadjen = true;

                    hash = GenerateHash(korisnik.LozinkaSalt, Password);
                    if (temp.LozinkaHash == hash)
                    {
                        pronadjen2 = true;
                    }
                }
            }
            foreach (var item in resultUA)
            {
                if (item.KorisnikId == korisnik.KorisnikId)
                {
                    userActivity = item;
                    if (item.BrojNeuspjesnihPrijavljivanja >= 3)
                    {
                        item.Onemogucen = true;
                        udaljen         = true;
                    }
                }
            }
            if (pronadjen2 == true && pronadjen == true && udaljen == false)
            {
                try
                {
                    APIService.Username = Username;
                    APIService.Password = Password;
                    if (userActivity != null)
                    {
                        userActivity.BrojPrijavljivanja += 1;
                    }
                    await _service.Get <dynamic>(null);

                    Application.Current.MainPage = new UserPreferenceContentPage();
                    takeThis = true;
                }
                catch (Exception ex)
                {
                    //  MessageBox.Show(ex.Message, "Authentifikacija", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    await Application.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");
                }
            }
            else if (pronadjen == true && udaljen == false)
            {
                if (userActivity != null)
                {
                    userActivity.BrojNeuspjesnihPrijavljivanja += 1;
                }
                takeThis = false;
                await Application.Current.MainPage.DisplayAlert("Try again", "Please enter correct username and/or password !", "OK");
            }
            else
            {
                //  MessageBox.Show("Molimo vas unesite ispravno korisničko ime i/ili lozinku", "Pokušajte ponovo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                await Application.Current.MainPage.DisplayAlert("Try again", "Please enter correct username and/or password !", "OK");
            }
            try
            {
                if (userActivity != null)
                {
                    var request = new UserActivityUpsertRequest
                    {
                        KorisnikId                    = userActivity.KorisnikId,
                        BrojPrijavljivanja            = userActivity.BrojPrijavljivanja,
                        BrojNeuspjesnihPrijavljivanja = userActivity.BrojNeuspjesnihPrijavljivanja,
                        Datum       = DateTime.Now,
                        Razlog      = "",
                        Onemogucen  = false,
                        IsApartman  = userActivity.IsApartman,
                        IsAtrakcija = userActivity.IsAtrakcija,
                        IsHotel     = userActivity.IsHotel,
                        IsKafic     = userActivity.IsKafic,
                        IsNightClub = userActivity.IsNightClub,
                        IsRestoran  = userActivity.IsRestoran,
                    };
                    await _uaservice.Update <Model.UserActivity>(userActivity.KorisnikId, request);
                }
                else
                {
                    if (takeThis)
                    {
                        var request = new UserActivityUpsertRequest
                        {
                            KorisnikId                    = korisnik.KorisnikId,
                            BrojPrijavljivanja            = 1,
                            BrojNeuspjesnihPrijavljivanja = 0,
                            Datum      = DateTime.Now,
                            Razlog     = "",
                            Onemogucen = false
                        };
                        await _uaservice.Insert <Model.UserActivity>(request);
                    }
                    else
                    {
                        var request = new UserActivityUpsertRequest
                        {
                            KorisnikId                    = korisnik.KorisnikId,
                            BrojPrijavljivanja            = 0,
                            BrojNeuspjesnihPrijavljivanja = 1,
                            Datum      = DateTime.Now,
                            Razlog     = "",
                            Onemogucen = false
                        };
                        await _uaservice.Insert <Model.UserActivity>(request);
                    }
                }
            }
            catch
            {
            }
        }
Beispiel #26
0
        protected override async Task <AuthenticateResult> HandleAuthenticateAsync()
        {
            if (!Request.Headers.ContainsKey("Authorization"))
            {
                return(AuthenticateResult.Fail("Missing Authorization Header"));
            }


            //Model.Korisnici user = null;
            var context = "";

            try
            {
                context = Request.Headers["Context"];
                var authHeader      = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]);
                var credentialBytes = Convert.FromBase64String(authHeader.Parameter);
                var credentials     = Encoding.UTF8.GetString(credentialBytes).Split(':');
                var username        = credentials[0];
                var password        = credentials[1];


                if ("Registracija".Equals(context))
                {
                    RegistrovaniKorisnik = _userService.LoginMobile(new Model.Requests.KorisniciLoginRequest()//dodaj await
                    {
                        Username = username,
                        Password = password
                    });
                }
                else
                {
                    PrijavljeniKorisnik = _userService.Login( //dodaj await
                        new Model.Requests.KorisniciLoginRequest()
                    {
                        Username = username,
                        Password = password
                    });     //Authenticiraj(username, password);
                }
            }
            catch
            {
                return(AuthenticateResult.Fail("Invalid Authorization Header"));
            }
            var claims = new List <Claim>();

            if ("Registracija".Equals(context))
            {
                if (RegistrovaniKorisnik == null)
                {
                    return(AuthenticateResult.Fail("Invalid Username or Password"));
                }
            }
            else
            {
                if (PrijavljeniKorisnik == null)
                {
                    return(AuthenticateResult.Fail("Invalid Username or Password"));
                }
            }

            claims = new List <Claim> {
                new Claim(ClaimTypes.NameIdentifier, PrijavljeniKorisnik.KorisnickoIme),
                new Claim(ClaimTypes.Name, PrijavljeniKorisnik.Ime),
            };

            claims.Add(new Claim(ClaimTypes.Role, PrijavljeniKorisnik.Uloga.Naziv));

            var identity  = new ClaimsIdentity(claims, Scheme.Name);
            var principal = new ClaimsPrincipal(identity);
            var ticket    = new AuthenticationTicket(principal, Scheme.Name);

            return(AuthenticateResult.Success(ticket));
        }
Beispiel #27
0
        private async void GetPoruke()
        {
            var poruke = await _poruke.Get <List <Model.Poruke> >(null);

            var korisnici = await _korisnici.Get <List <Model.Korisnici> >(null);

            Model.Korisnici primalac   = new Model.Korisnici();
            Model.Korisnici posiljalac = new Model.Korisnici();
            label2.Visible = false;

            foreach (var item in korisnici)
            {
                if (item.KorisnikId == int.Parse(listBox1.SelectedValue.ToString()))
                {
                    primalac = item;
                }
                if (item.KorisnickoIme == APIService.Username)
                {
                    posiljalac = item;
                }
            }
            var posiljalacInicija  = posiljalac.Ime.ToCharArray().GetValue(0);
            var posiljalacInicija2 = posiljalac.Prezime.ToCharArray().GetValue(0);
            var imeP                    = posiljalacInicija + ". " + posiljalacInicija2 + ".";
            var primalacInicija         = primalac.Ime.ToCharArray().GetValue(0);
            var primalacInicija2        = primalac.Prezime.ToCharArray().GetValue(0);
            var imeP1                   = primalacInicija + ". " + primalacInicija2 + ".";
            List <Model.Poruke> porukeP = new List <Model.Poruke>();
            var imeprezime              = primalac.Ime + " " + primalac.Prezime;
            var imeprezime1             = posiljalac.Ime + " " + posiljalac.Prezime;

            foreach (var item in poruke)
            {
                if ((item.Posiljalac == imeprezime1 && item.Primalac == imeprezime) || (item.Posiljalac == imeprezime && item.Primalac == imeprezime1))
                {
                    porukeP.Add(item);
                }
            }
            brojP = porukeP.Count();
            // poruke
            var y = 59;

            var                 cy  = 41;
            var                 cyl = 16;
            var                 lijevastranacirlce = 43;
            var                 lijevastranabutton = 54;
            List <Button>       noviButtoni        = new List <Button>();
            List <CircleButton> circleButtons      = new List <CircleButton>();
            List <Label>        labele             = new List <Label>();

            if (brojP > 4)
            {
            }


            for (int i = 0; i < brojP; i++)
            {
                noviButtoni.Add(new Button());
                circleButtons.Add(new CircleButton());
                if (porukeP[i].Posiljalac == imeprezime1)
                {
                    circleButtons[i].Location = new Point(747, cy);
                    noviButtoni[i].Location   = new Point(470, y);
                    circleButtons[i].Text     = imeP.ToUpper();
                    y  += 130;
                    cy += 130;
                    lijevastranacirlce += 130;
                    lijevastranabutton += 130;
                }
                else
                {
                    circleButtons[i].Location = new Point(8, lijevastranacirlce);
                    noviButtoni[i].Location   = new Point(141, lijevastranabutton);
                    lijevastranacirlce       += 130;
                    lijevastranabutton       += 130;
                    circleButtons[i].Text     = imeP1.ToUpper();
                    y  += 130;
                    cy += 130;
                }

                labele.Add(new Label());
                labele[i].Text             = porukeP[i].Datum.ToString();
                labele[i].Font             = new Font(labele[i].Font, FontStyle.Bold);
                labele[i].Location         = new Point(401, cyl);
                circleButtons[i].BackColor = circleButton2.BackColor;
                circleButtons[i].Size      = new Size(116, 109);

                circleButtons[i].FlatStyle = FlatStyle.Flat;
                circleButtons[i].FlatAppearance.BorderSize = 0;
                noviButtoni[i].Text = porukeP[i].Sadrzaj;
                noviButtoni[i].Size = new Size(269, 87);

                noviButtoni[i].BackColor = button2.BackColor;
                noviButtoni[i].FlatStyle = FlatStyle.Flat;
                noviButtoni[i].FlatAppearance.BorderSize = 0;

                cyl += 136;

                this.panel1.Controls.Add(noviButtoni[i]);
                this.panel1.Controls.Add(circleButtons[i]);
                this.panel1.Controls.Add(labele[i]);
            }
            //    if (porukeP.Count !=0 )
            //    {

            //        var posiljalacInicija = posiljalac.Ime.ToCharArray().GetValue(0);
            //        var posiljalacInicija2 = posiljalac.Prezime.ToCharArray().GetValue(0);
            //        var imeP = posiljalacInicija + ". " + posiljalacInicija2 + ".";

            //        var prvo = primalac.Ime.ToCharArray();
            //        var prvoslovo = prvo.GetValue(0);
            //        var drugo = primalac.Prezime.ToCharArray();
            //        var drugoslovo = drugo.GetValue(0);
            //        var initials = prvoslovo + "." + " " + drugoslovo + ".";
            //        //taking two
            //        porukeP = porukeP.OrderBy(y => y.Datum).ToList();
            //        if (porukeP.Count !=1)
            //        {
            //            porukeP = porukeP.Take(2).ToList();
            //            poruke = porukeP.OrderBy(y => y.Datum).ToList();
            //        }
            //        if (porukeP[0].Posiljalac == imeprezime1 && porukeP[0].Primalac == imeprezime)
            //        {
            //            button5.Visible = true;
            //            button5.Text = porukeP[0].Sadrzaj;
            //            button5.Location = new Point(333, 58);
            //            circleButton4.Visible = true;
            //            circleButton4.Text = imeP.ToUpper();
            //            circleButton4.Location = new Point(617, 36);
            //            label1.Text = porukeP[0].Datum.ToString();
            //            label1.Visible = true;
            //        }
            //        else
            //        {
            //            button5.Visible = true;
            //            button5.Text = porukeP[0].Sadrzaj;
            //            button5.Location = new Point(142, 47);
            //            circleButton4.Location = new Point(20, 36);
            //            circleButton4.Visible = true;
            //            label1.Text = porukeP[0].Datum.ToString();
            //        }
            //        if (porukeP.Count > 1)
            //        {
            //            if (porukeP[1].Posiljalac == imeprezime1 && porukeP[1].Primalac == imeprezime)
            //            {
            //                button2.Visible = true;
            //                button2.Text = porukeP[1].Sadrzaj;
            //                label2.Visible = true;
            //                label2.Text = porukeP[1].Datum.ToString();
            //                circleButton1.Visible = true;
            //                circleButton1.Text = imeP.ToUpper();
            //                circleButton1.Location = new Point(617, 173);
            //                button2.Location = new Point(333, 184);
            //            }
            //            else
            //            {
            //                button2.Location = new Point(142, 162);
            //                circleButton1.Location = new Point(20, 151);
            //                button2.Visible = true;
            //                button2.Text = porukeP[1].Sadrzaj;

            //                circleButton1.Visible = true;
            //                circleButton1.Text = imeP.ToUpper();

            //            }
            //        }
            //    }
            //    else
            //    {
            //        button5.Visible = false;
            //        circleButton4.Visible = false;
            //        label1.Visible = false;
            //        button2.Visible = false;
            //        circleButton1.Visible = false;
            //    }

            //}
        }
Beispiel #28
0
 public Model.Korisnici Update(int id, Model.Korisnici korisnik)
 {
     throw new NotImplementedException();
 }
Beispiel #29
0
        private async void MyListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            APIService.InboxLista    = true;
            ListaStack.IsVisible     = false;
            ListaStack.HeightRequest = 0;
            InboxStack.IsVisible     = true;



            primalac = e.SelectedItem as Model.Korisnici;
            var listKorisnika = await _service.Get <IList <Model.Korisnici> >(null);

            var list = await _poruke.Get <IList <Model.Poruke> >(null);

            poruke.Clear();
            foreach (var item in listKorisnika)
            {
                if (item.KorisnickoIme == APIService.Username)
                {
                    thisone = item;
                }
            }
            foreach (var item in list)
            {
                if ((item.PosiljalacId == thisone.KorisnikId && item.PrimalacId == primalac.KorisnikId) || (item.PosiljalacId == primalac.KorisnikId && item.PrimalacId == thisone.KorisnikId))
                {
                    poruke.Add(item);
                }
            }
            foreach (var item in poruke)
            {
                StackLayout n = new StackLayout();


                n.BackgroundColor = Color.LightBlue;
                Label texty2 = new Label();

                if (item.PosiljalacId == thisone.KorisnikId)
                {
                    n.BackgroundColor   = Color.LightBlue;
                    n.HorizontalOptions = LayoutOptions.End;
                    n.WidthRequest      = 200;
                }
                else
                {
                    n.BackgroundColor   = Color.LightBlue;
                    n.HorizontalOptions = LayoutOptions.Start;
                    n.WidthRequest      = 200;
                }


                Label texty1 = new Label();
                texty1.Text = item.Datum.ToString();

                texty2.Text = item.Posiljalac;

                Label texty = new Label();
                texty.Text = item.Sadrzaj;


                n.Children.Add(texty1);
                n.Children.Add(texty2);

                n.Children.Add(texty);



                //n.Text = item.Sadrzaj;
                //listaPoruka.Add(n);
                //  MyStackLayout.Children.Add(n);
                InboxStack.Children.Add(n);
            }

            entry.Placeholder      = "Type new message";
            entry.PlaceholderColor = Color.LightBlue;
            entry.BackgroundColor  = Color.Transparent;
            entry.TextColor        = Color.White;
            //entry.TextChanged += OnEntryTextChanged;
            entry.Completed += OnEnterPressed;
            InboxStack.Children.Add(entry);

            //Called on enter key press
        }
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                var roleList  = new List <int>();
                var ulogeList = await _ulogeService.Get <List <Model.Uloge> >(null);

                foreach (var item in ulogeList)
                {
                    if (item.Naziv == "Pacijent")
                    {
                        roleList.Add(item.Id);
                    }
                }

                request.Email           = txtEmail.Text;
                request.Ime             = txtIme.Text;
                request.UserName        = txtKorisnickoIme.Text;
                request.Password        = txtPassword.Text;
                request.PasswordPotvrda = txtPasswordPotvrda.Text;
                request.Prezime         = txtPrezime.Text;
                request.PhoneNumber     = txtTelefon.Text;
                request.Uloge           = roleList;
                request.Pacijent1       = new Pacijent
                {
                    BrojKartona        = txtBrojKartona.Text,
                    Alergije           = txtAlergije.Text,
                    BrojKnjizice       = txtBrojKnjizice.Text,
                    DatumRegistracije  = dtpDatumRegistarcije.Value,
                    KrvnaGrupaId       = ((KrvnaGrupa)cmbKrvnaGrupa.SelectedValue).Id,
                    SpecijalniZahtjevi = txtSpecZahtjevi.Text,
                    Tezina             = double.TryParse(txtTezina.Text, out var tezina) ? tezina : 0.0,
                    Visina             = int.TryParse(txtVisina.Text, out var visina) ? visina : 0
                };
            }
            ;

            Model.Korisnici entity = null;
            if (!_id.HasValue)
            {
                try
                {
                    entity = await _service.Insert <Model.Korisnici>(request);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Greška");
                }
            }
            else
            {
                try
                {
                    entity = await _service.Update <Model.Korisnici>(_id.Value, request);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Greška");
                }
            }

            if (entity != null)
            {
                MessageBox.Show("Uspješno izvršeno");
            }
        }