コード例 #1
0
        private void BtnSubscribe_Click(object sender, EventArgs e)
        {
            if (isCurrentUserSubscribed)
            {
                int currentSubId = allSub.Where(x => x.userid == currentUser.userid && x.eventid == currentEvent.eventid).Select(x => x.subid).First();;

                //leiratkozunk
                if (Subscribe.deleteById(currentSubId))
                {
                    Toast.MakeText(this, "Sikeresen leiratkoztál!", ToastLength.Short).Show();
                    isCurrentUserSubscribed = false;
                    btnSubscribe.Text       = "Feliratkozás";
                    allSub = Subscribe.GetAll();
                    if (allSub is null)
                    {
                        tvMaxMember.Text = "0 /" + currentEvent.userlimit.ToString();
                    }
                    else
                    {
                        tvMaxMember.Text = string.Format("{0} / {1}", allSub.Where(x => x.eventid == currentEvent.eventid).Count(), currentEvent.userlimit.ToString());
                    }
                }
                else
                {
                    Toast.MakeText(this, "Nem sikerült leiratkozni!", ToastLength.Short).Show();
                }
            }
            else
            {
                if (!(allSub is null))
                {
                    if (allSub.Where(x => x.eventid == currentEvent.eventid).Count() >= currentEvent.userlimit)
                    {
                        Toast.MakeText(this, "Az esemény jelenleg be van telve!", ToastLength.Short).Show();
                        return;
                    }
                }

                // feliratkozunk
                Subscribe subscribe = new Subscribe()
                {
                    userid  = currentUser.userid,
                    eventid = currentEvent.eventid
                };

                if (Subscribe.CreateNew(subscribe))
                {
                    btnSubscribe.Text       = "Leiratkozás";
                    isCurrentUserSubscribed = true;
                    Toast.MakeText(this, "Sikeresen feliratkoztál!", ToastLength.Short).Show();
                    allSub           = Subscribe.GetAll();
                    tvMaxMember.Text = string.Format("{0} / {1}", allSub.Where(x => x.eventid == currentEvent.eventid).Count(), currentEvent.userlimit.ToString());
                }
                else
                {
                    Toast.MakeText(this, "Nem sikerült feliratkozni!", ToastLength.Short).Show();
                }
            }
        }