private async void PrijaviTakmicenje(object sender, EventArgs e)
        {
            var OdabranoTakmicenje = ((sender as BindableObject).BindingContext as Takmicenje);

            if (OdabranoTakmicenje != null)
            {
                TakmicenjeId = OdabranoTakmicenje.Id;
                Debug.WriteLine($"Takmicenje = {TakmicenjeId}");
            }
            var Takmicar = await _AuthService.GetLogiraniKorisnik <ViewModels.ResponseModels.GetKorisnikResponseModel>();

            var NoviTakmicar = new ClanTakmicenje()
            {
                TakmicenjeId       = TakmicenjeId,
                TakmicarId         = Takmicar.Id,
                Kategorija         = Takmicar.Kategorija,
                Kilaza             = Takmicar.Kilaza,
                Starost            = DateTime.Now.Year - Takmicar.DatumRodenja.Year,
                VrstaTakmicenja    = 0,
                PrijavljenTakmicar = true
            };
            await _ClanTakmicenjeService.Insert <ClanTakmicenje>(NoviTakmicar);

            await Application.Current.MainPage.DisplayAlert("Info", "Uspješno ste se prijavili na takmičenje", "OK");

            Takmicenja.AktivnaTakmicenja.Remove(OdabranoTakmicenje);
        }
        //Napraviti funkciju za odjavljivanje člana putem parametra false
        //Pronaći takmičenje i člana
        //Promijeniti vrijednost prijavljenTakmicar na false
        public async Task <ClanTakmicenje> OdjaviSeSaTakmicenja(int TakmicenjeId, int TakmicarId, bool PrijavljenTakmicar = false)
        {
            ClanTakmicenje PrijavljenoTakmicenje = await Context.ClanoviTakmicenja
                                                   .SingleOrDefaultAsync(x => x.TakmicarId == TakmicarId &&
                                                                         x.TakmicenjeId == TakmicenjeId &&
                                                                         x.PrijavljenTakmicar == true);

            if (PrijavljenoTakmicenje != null)
            {
                PrijavljenoTakmicenje.PrijavljenTakmicar = false;
                Context.SaveChanges();
                return(PrijavljenoTakmicenje);
            }
            else
            {
                throw new Exception("Takmicar ili takmicenje nisu pronadeni!");
            }
        }
        public ClanTakmicenje Insert(InsertClanNaTakmicenjeRequestModel Model)
        {
            ClanTakmicenje NoviClan         = new ClanTakmicenje();
            var            Clan             = Context.Clanovi.Single(c => c.Id == Model.TakmicarId);
            var            ClanNaTakmicenju = Context.ClanoviTakmicenja
                                              .SingleOrDefault(x => x.TakmicenjeId == Model.TakmicenjeId && x.TakmicarId == Model.TakmicarId);

            if (Clan != null)
            {
                if (Model != null && ClanNaTakmicenju == null)
                {
                    NoviClan = new ClanTakmicenje
                    {
                        TakmicenjeId       = Model.TakmicenjeId,
                        TakmicarId         = Model.TakmicarId,
                        Kategorija         = Model.Kategorija,
                        Kilaza             = Model.Kilaza,
                        Starost            = DateTime.Now.Year - Clan.DatumRodenja.Year,
                        PrijavljenTakmicar = true
                    };

                    Context.ClanoviTakmicenja.Add(NoviClan);
                    Context.SaveChanges();
                }
                else if (Model != null && ClanNaTakmicenju != null)
                {
                    ClanNaTakmicenju.Kategorija         = Model.Kategorija;
                    ClanNaTakmicenju.Kilaza             = Model.Kilaza;
                    ClanNaTakmicenju.Starost            = Model.Starost;
                    ClanNaTakmicenju.PrijavljenTakmicar = true;
                    Context.SaveChanges();
                }
                else
                {
                    throw new Exception("Model nije validan");
                }
            }
            else
            {
                throw new Exception("Clan ne postoji!");
            }
            return(NoviClan == null ? ClanNaTakmicenju : NoviClan);
        }
        public ClanTakmicenje OdjaviSaTakmicenja(int takmicarid)
        {
            HelperMethodsClass Helper = new HelperMethodsClass(Context);

            var            PrvoTakmicenje    = Helper.GetPrvoAktivnoTakmicenje();
            ClanTakmicenje TrazenoTakmicenje = null;

            if (PrvoTakmicenje != null)
            {
                TrazenoTakmicenje = Context.ClanoviTakmicenja
                                    .SingleOrDefault(t => t.TakmicarId == takmicarid && t.TakmicenjeId == PrvoTakmicenje.Id);

                TrazenoTakmicenje.PrijavljenTakmicar = false;
                Context.SaveChanges();
            }
            else
            {
                throw new Exception("Takmicar ili takmicenje ne postoje");
            }
            return(TrazenoTakmicenje);
        }
        public ClanTakmicenje PrijaviNaTakmicenje(int takmicarid)
        {
            HelperMethodsClass Helper = new HelperMethodsClass(Context);

            var PrvoTakmicenje = Helper.GetPrvoAktivnoTakmicenje();

            var            TrazeniTakmicar = Context.Clanovi.Find(takmicarid);
            ClanTakmicenje NovoTakmicenje;

            ClanTakmicenje PostojeceTakmicenje = Context.ClanoviTakmicenja
                                                 .SingleOrDefault(t => t.TakmicarId == takmicarid && t.TakmicenjeId == PrvoTakmicenje.Id);

            if (PostojeceTakmicenje != null)
            {
                PostojeceTakmicenje.PrijavljenTakmicar = true;
                Context.SaveChanges();
                return(PostojeceTakmicenje);
            }
            else
            {
                if ((TrazeniTakmicar != null) && (PrvoTakmicenje != null))
                {
                    NovoTakmicenje = new ClanTakmicenje
                    {
                        TakmicenjeId       = PrvoTakmicenje.Id,
                        TakmicarId         = TrazeniTakmicar.Id,
                        Kilaza             = TrazeniTakmicar.Kilaza,
                        Starost            = TrazeniTakmicar.Starost,
                        Kategorija         = String.Concat("-", TrazeniTakmicar.Kilaza, "kg"),
                        PrijavljenTakmicar = true
                    };

                    Context.ClanoviTakmicenja.Add(NovoTakmicenje);
                    Context.SaveChanges();
                    return(NovoTakmicenje);
                }
                throw new Exception("Prijava nije moguca");
            }
        }