public TreningDetaljiViewModel(Wellness.Model.Trening trening, Wellness.Model.Requests.ClanViewRequest clan)
        {
            treningDetaljiModel = new Mobile.Models.TreningDetaljiModel();
            _trening            = trening;
            _clan = clan;


            var trenutnoPrisutnih = AsyncHelpers.RunSync <List <Wellness.Model.ClanPrisustvo> >(() => apiService_ClanPrisustvo.Get <List <Wellness.Model.ClanPrisustvo> >(new ClanPrisustvoSearchRequest()
            {
                TreningId = trening.Id
            }));
            var treningModel = new 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 <Wellness.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;
                treningModel.Odrzan      = _trening.Odrzan;
                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 <Mobile.Models.PrisutniModel> prisutni = new List <Mobile.Models.PrisutniModel>();

            foreach (Wellness.Model.ClanPrisustvo x in trenutnoPrisutnih)
            {
                Mobile.Models.PrisutniModel p = new 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;
        }
Beispiel #2
0
        public async Task Init()
        {
            int ClanId = _clan.Id;


            var search = new TreningSearchRequest()
            {
                DatumTreninga = DateTime.MinValue,
                TipTreningaID = 0
            };

            search.TipTreningaID = SelectedTipTreninga.Id;


            var list = await _apiService.Get <List <Wellness.Model.Trening> >(search);


            //filter if historyOnly = true
            //u toDeleteList se nalaze treninga koji nisu odrzani
            var newList = new List <Wellness.Model.Trening>();

            if (_historyOnly == true)
            {
                //uklanjamo treninge koji se nisu odrzali
                for (int i = 0; i < list.Count; i++)
                {
                    if (list[i].Odrzan == null)
                    {
                        list[i].Odrzan = false;
                    }
                    Wellness.Model.Trening x = list[i];

                    if (x.Odrzan == true)
                    {
                        //clan je prisustvovo treninug x
                        var prisustvoList = AsyncHelpers.RunSync <List <Wellness.Model.ClanPrisustvo> >(() => _apiService_ClanPrisustvo.Get <List <Wellness.Model.ClanPrisustvo> >(new ClanPrisustvoSearchRequest()
                        {
                            TreningId = x.Id, ClanId = ClanId
                        }));
                        //ako _clan nije prosustvovo treningu x izbacujemo x iz liste
                        if (prisustvoList.Count > 0)
                        {
                            newList.Add(list[i]);
                        }
                    }
                }


                list = newList;
            }
            else
            {
                newList = list.Where(p => p.Odrzan == false || p.Odrzan == null).ToList();
                list    = newList;

                foreach (var x in list)
                {
                    if (x.Odrzan == null)
                    {
                        x.Odrzan = false;
                    }
                }
            }

            //-----------------------------------------------------------------------------------------------
            Trening.Clear();
            for (int i = 0; i < list.Count; i++)
            {
                Wellness.Model.Trening x = list[i];

                //var trenutnoPrisutnih =await _apiService_ClanPrisustvo.Get<List<Model.ClanPrisustvo>>();
                var trenutnoPrisutnih = AsyncHelpers.RunSync <List <Wellness.Model.ClanPrisustvo> >(() => _apiService_ClanPrisustvo.Get <List <Wellness.Model.ClanPrisustvo> >(new ClanPrisustvoSearchRequest()
                {
                    TreningId = x.Id
                }));

                var treningModel = new Mobile.Models.TreningModel()
                {
                    Id                = x.Id,
                    DatumT            = x.DatumTreninga,
                    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            = ClanId,
                    TrenutnoPrisutnih = trenutnoPrisutnih.Count,
                    Odrzan            = x.Odrzan,
                    Image             = x.TipTreninga.Image
                };

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

                if (prisustvo.Count > 0 && (selectedSearchFilter == "Svi" || selectedSearchFilter == "Prijavljeni"))
                {
                    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;
                    }
                    Trening.Add(treningModel);
                }
                else
                {
                    if (prisustvo.Count == 0 && (selectedSearchFilter == "Svi" || selectedSearchFilter == "Ne prijavljeni"))
                    {
                        treningModel.ClanPrisustvovaoTreningu = false;
                        treningModel._Prisustvuje             = false;
                        treningModel.Ocjenjen    = false;
                        treningModel.PrisustvoId = 0;
                        treningModel._Ocjena     = 0;
                        Trening.Add(treningModel);
                    }
                }
            }
        }