Ejemplo n.º 1
0
        public TrenutniKorisnik ProveriKorisnika()
        {
            _logger.LogInformation("Proveravam korisnika...");
            var kor = new TrenutniKorisnik {
                Ulogovan = User.Identity.IsAuthenticated, Ime = User.Identity.Name,
                Klejmovi = User.Claims.ToDictionary(klejm => klejm.Type, klejm => klejm.Value)
            };

            string log = "-------------------" + Environment.NewLine;

            kor.Klejmovi.Keys.ToList().ForEach(k => log += $"{k}  --  {kor.Klejmovi[k]}" + Environment.NewLine);
            log += "-------------------";
            _logger.LogInformation(log);
            return(kor);
        }
Ejemplo n.º 2
0
        public async Task Init()
        {
            TrenutniKorisnik trenutni = new TrenutniKorisnik
            {
                korisnikID = CurrentUser.User.Id
            };

            var list = await _pregled.Get <IEnumerable <PreglediVM> >(trenutni);

            PreglediLista.Clear();

            foreach (var pregledi in list)
            {
                PreglediLista.Add(pregledi);
            }
        }
Ejemplo n.º 3
0
        protected override async void OnAppearing()
        {
            if (CurrentUser.IsLogedIn())
            {
                (Shell.Current as AppShell)._profil.IsVisible   = true;
                (Shell.Current as AppShell)._poruke.IsVisible   = true;
                (Shell.Current as AppShell)._prijava.IsVisible  = false;
                (Shell.Current as AppShell)._odjava.IsVisible   = true;
                (Shell.Current as AppShell)._register.IsVisible = false;
                (Shell.Current as AppShell)._pregledi.IsVisible = true;
                _login.IsVisible    = false;
                _register.IsVisible = false;
            }
            else
            {
                (Shell.Current as AppShell)._profil.IsVisible   = false;
                (Shell.Current as AppShell)._poruke.IsVisible   = false;
                (Shell.Current as AppShell)._prijava.IsVisible  = true;
                (Shell.Current as AppShell)._odjava.IsVisible   = false;
                (Shell.Current as AppShell)._register.IsVisible = true;
                (Shell.Current as AppShell)._pregledi.IsVisible = false;
                _login.IsVisible    = true;
                _register.IsVisible = true;
            }
            if (CurrentUser.IsLogedIn())
            {
                preporukeContainer.Children.Clear();
                TrenutniKorisnik trenutni = new TrenutniKorisnik
                {
                    korisnikID = CurrentUser.User.Id
                };
                gridPreporuke.IsVisible = true;
                var pregledi = await _pregled.Get <List <Pregledvm> >(trenutni);

                if (pregledi.Count() == 0 && string.IsNullOrEmpty(CurrentUser.User.Spol))
                {
                    gridPreporuke.IsVisible = false;
                }
                List <int> odjeliID = new List <int>();
                foreach (var pregled in pregledi)
                {
                    if (!odjeliID.Contains(pregled.OdjelID))
                    {
                        odjeliID.Add(pregled.OdjelID);
                    }
                }

                preporukeContainer.Children.Add(new Label
                {
                    Text     = "Preporuke na osnovu Vaših dosadašnjih pregleda:",
                    FontSize = 20
                });

                foreach (var i in odjeliID)
                {
                    var O = await _odjel.GetById <odjeldvm>(i);

                    preporukeContainer.Children.Add(new Label
                    {
                        Text = O.Naziv,
                        HorizontalOptions = LayoutOptions.CenterAndExpand,
                        FontSize          = 20
                    });
                }

                var pacijent = await _korisnik.GetById <K>(trenutni.korisnikID);

                DateTime now = DateTime.Now;
                int      age = now.Year - pacijent.DatumRodjenja.Year;
                if (age >= 65 && CurrentUser.User.Spol == "M")
                {
                    preporukeContainer.Children.Add(new Label
                    {
                        Text     = "Na osnovu Vaše starosne dobi preporučujemo pregled na:",
                        FontSize = 20
                    });

                    preporukeContainer.Children.Add(new Label
                    {
                        Text = "Oko 60% slučajeva raka prostate je diagnosticirano " +
                               "kod osoba starosne dobi od 65 ili više." +
                               " Vi spadate u ovu grupu ljudi," +
                               " s toga Vam preporučujemo pregled na odjelu: Urologija",
                        FontSize = 20
                    });
                }
                if (age >= 50 && CurrentUser.User.Spol == "Ž")
                {
                    preporukeContainer.Children.Add(new Label
                    {
                        Text = "Rak maternice se najčesće pojavjuje kod žena " +
                               "starosne dobi preko 50. Prosječna dob diagnosticiranih " +
                               "slučajeva je 60. Vi spadate u ovu grupu, s toga Vam " +
                               "preporučujemo pregled na odjelu: Ginekologija",
                        FontSize = 20
                    });
                }
            }
            else
            {
                gridPreporuke.IsVisible = false;
            }

            base.OnAppearing();
        }