public ApiResult <PagedData <SubscriptionEvent> > Index([FromBody] SubscriptionParam m)
        {
            var profile = this.GetUserProfile();
            Expression <Func <SubscriptionEvent, bool> > condition = x => x.EventStatus > -1 && x.Tenant.Id == profile.Tenant;

            if (!string.IsNullOrEmpty(m.Name))
            {
                condition = condition.And(x => x.EventName.Contains(m.Name));
            }
            return(new ApiResult <PagedData <SubscriptionEvent> >(ApiCode.Success, "OK", new PagedData <SubscriptionEvent>
            {
                total = _context.SubscriptionEvents.Count(condition),
                rows = _context.SubscriptionEvents.OrderByDescending(c => c.CreateDateTime).Where(condition).Skip((m.offset) * m.limit).Take(m.limit).ToList()
            }));
        }
        public async Task<ActionResult<Club>> Post([FromRoute]int id_club, [FromBody]SubscriptionParam subscriptionParam)
        {
            var claimsIdentity = this.User.Identity as ClaimsIdentity;
            var clubId = Convert.ToInt32(claimsIdentity.FindFirst(ClaimTypes.Name)?.Value);

            if (id_club != clubId)
            {
                return BadRequest("You are not allowed to access this club with id = " + id_club);
            }

            var club = await _context.Club.FirstOrDefaultAsync(c => c.Id == clubId);
            if (club == null)
            {
              return BadRequest("No such club with attach JWT");
            }

            if (clubId != subscriptionParam.ClubId)
            {
            return BadRequest("Subscription's and current JWT'S ClubId do not match");
            }

            DateTime now = DateTime.UtcNow;
            DateTime expireAt = now;
            float payment = 0F;
            var month = subscriptionParam.Month;
            if (month == 1)
            {
                expireAt = now.AddMonths(1);
                payment = 9.9F;
            }
            if (month == 12)
            {
                payment = 90F;
                expireAt = now.AddYears(1);
            }

            var subscription = new Subscription
            {
                ClubId = subscriptionParam.ClubId,
                Payment = payment,
                ExpireAt = expireAt
            };

            _context.Subscription.Add(subscription);
            await _context.SaveChangesAsync();

            return Ok(subscription);
        }