Ejemplo n.º 1
0
        public TreningViewModel(Wellness.Model.Requests.ClanViewRequest clan, bool historyOnly = false)
        {
            _apiService               = new APIService("trening");
            _apiService_TipTreninga   = new APIService("TipTreninga");
            _apiService_ClanPrisustvo = new APIService("ClanPrisustvo");
            _clan        = clan;
            _historyOnly = historyOnly;
            //--------------------------------------------------------
            Trening      = new ObservableCollection <Mobile.Models.TreningModel>();
            TipTreninga  = new ObservableCollection <Wellness.Model.TipTreninga>();
            SearchFilter = new ObservableCollection <string>();

            InitCommand = new Command(async() => await Init());


            SearchFilter.Add("Svi");
            SearchFilter.Add("Prijavljeni");
            SearchFilter.Add("Ne prijavljeni");
            _selectedSearchFilter = SearchFilter[0];
            var SviTipTreninga = new TipTreninga()
            {
                Id           = 0,
                TipTreninga1 = "Svi"
            };

            TipTreninga.Add(SviTipTreninga);

            var listTipTreninga = AsyncHelpers.RunSync <List <Wellness.Model.TipTreninga> >(() => _apiService_TipTreninga.Get <List <Wellness.Model.TipTreninga> >(null));

            foreach (Wellness.Model.TipTreninga x in listTipTreninga)
            {
                TipTreninga.Add(x);
            }
            _selectedTipTreninga = TipTreninga[0];
        }
        public TreningDetaljiViewModel(Wellness.Model.Trening trening, Wellness.Model.Requests.ClanViewRequest clan)
        {
            _apiService_ClanPrisustvo = new APIService("ClanPrisustvo");
            _apiService_Recommender   = new APIService("Recommender");
            treningDetaljiModel       = new Wellness.Mobile.Models.TreningDetaljiModel();
            _trening = trening;
            _clan    = clan;


            var trenutnoPrisutnih = AsyncHelpers.RunSync <List <Wellness.Model.ClanPrisustvo> >(() => _apiService_ClanPrisustvo.Get <List <Model.ClanPrisustvo> >(new ClanPrisustvoSearchRequest()
            {
                TreningId = trening.Id
            }));
            var TreningRecommended = AsyncHelpers.RunSync <List <Wellness.Model.Trening> >(() => _apiService_Recommender.GetById <List <Model.Trening> >(trening.Id));
            var treningModel       = new Wellness.Mobile.Models.TreningModel()
            {
                Id                = trening.Id,
                DatumTreninga     = trening.DatumTreninga.ToString("dd.MM.yyyy"),
                pocetak           = trening.VrijemePocetak,
                kraj              = trening.VrijemeKraj,
                MaxPrisutnih      = trening.MaksimalnoPrisutnih,
                Trener            = trening.Trener.Radnik.Osoba.Ime + " " + trening.Trener.Radnik.Osoba.Prezime,
                TipTreninga       = trening.TipTreninga.TipTreninga1,
                ClanId            = clan.Id,
                TrenutnoPrisutnih = trenutnoPrisutnih.Count,
                Image             = trening.TipTreninga.Image
            };

            treningDetaljiModel.TreningModel = treningModel;
            TreningMod = treningModel;



            var prisustvo = AsyncHelpers.RunSync <List <Wellness.Model.ClanPrisustvo> >(() => _apiService_ClanPrisustvo.Get <List <Model.ClanPrisustvo> >(new ClanPrisustvoSearchRequest()
            {
                TreningId = trening.Id, ClanId = clan.Id
            }));


            if (prisustvo.Count > 0)
            {
                treningModel.ClanPrisustvovaoTreningu = prisustvo[0].Prisustvovao;
                treningModel._Prisustvuje             = true;
                treningModel.PrisustvoId = prisustvo[0].Id;
                if (prisustvo[0].Ocjena != null)
                {
                    treningModel._Ocjena  = (int)prisustvo[0].Ocjena;
                    treningModel.Ocjenjen = true;
                }
                else
                {
                    treningModel._Ocjena  = 0;
                    treningModel.Ocjenjen = false;
                }
            }
            else
            {
                if (prisustvo.Count == 0)
                {
                    treningModel.ClanPrisustvovaoTreningu = false;
                    treningModel._Prisustvuje             = false;
                    treningModel.Ocjenjen    = false;
                    treningModel.PrisustvoId = 0;
                    treningModel._Ocjena     = 0;
                }
            }



            List <Wellness.Mobile.Models.PrisutniModel> prisutni = new List <Wellness.Mobile.Models.PrisutniModel>();

            foreach (Wellness.Model.ClanPrisustvo x in trenutnoPrisutnih)
            {
                Wellness.Mobile.Models.PrisutniModel p = new Wellness.Mobile.Models.PrisutniModel()
                {
                    DatumPrijave = ((DateTime)x.DatumPrijave).ToString("dd.MM.yyyy"),
                    Ime          = x.Clan.Osoba.Ime,
                    Prezime      = x.Clan.Osoba.Prezime,
                    Ocjena       = x.Ocjena,
                    Prisustvovao = x.Prisustvovao,
                    Id           = x.Id,
                };

                prisutni.Add(p);
            }
            treningDetaljiModel.PrisutniModel = prisutni;



            treningDetaljiModel.RecommendedTrening = new List <Mobile.Models.TreningModel>();
            foreach (Wellness.Model.Trening x in TreningRecommended)
            {
                var tr = new Wellness.Mobile.Models.TreningModel()
                {
                    Id            = x.Id,
                    DatumTreninga = x.DatumTreninga.ToString("dd.MM.yyyy"),
                    pocetak       = x.VrijemePocetak,
                    kraj          = x.VrijemeKraj,
                    MaxPrisutnih  = x.MaksimalnoPrisutnih,
                    Trener        = x.Trener.Radnik.Osoba.Ime + " " + x.Trener.Radnik.Osoba.Prezime,
                    TipTreninga   = x.TipTreninga.TipTreninga1,
                    ClanId        = clan.Id
                };
                treningDetaljiModel.RecommendedTrening.Add(tr);
            }
        }