public async Task <bool> UpGradeMemberShip(MemberShip memberShip)
        {
            MemberShip entity = context.MemberShip.FirstOrDefault(u => u.MembershipId == memberShip.MembershipId);

            if (entity != null)
            {
                entity.Name                     = memberShip.Name;
                entity.IsActive                 = memberShip.IsActive;
                entity.DeactiveDate             = memberShip.DeactiveDate;
                entity.Email                    = memberShip.Email;
                context.Entry(memberShip).State = EntityState.Modified;
                try
                {
                    await context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!(await IsMembershipExists(memberShip.Email)))
                    {
                        return(false);
                    }
                    else
                    {
                        throw;
                    }
                }


                return(true);
            }
            else
            {
                return(false);
            }
        }
 public async Task <bool> MembershipPayment(Payment payment, MemberShip memberShip, Char ActionType)
 {
     using (var transaction = context.Database.BeginTransaction())
     {
         try
         {
             context.Payment.Add(payment);
             context.SaveChanges();
             if (ActionType == 'S')
             {
                 if (payment.PaymentId > 0)
                 {
                     context.MemberShip.Add(memberShip);
                     context.SaveChanges();
                 }
             }
             if (ActionType == 'U')
             {
                 if (payment.PaymentId > 0)
                 {
                     var entity = context.MemberShip.Where(a => a.MembershipId == memberShip.MembershipId).FirstOrDefault();
                     if (entity != null)
                     {
                         context.Entry(memberShip).State = EntityState.Modified;
                     }
                     context.SaveChanges();
                 }
             }
             transaction.Commit();
             return(true);
         }
         catch (Exception ex)
         {
             transaction.Rollback();
             return(false);
         }
     }
 }