private async Task <IActionResult> UserSubscribe(UserContactInfoModel userContactInfoModel)
        {
            var result    = new Result <string>();
            var mailchimp = _context.ApiKey.Find(2);

            IMailChimpManager mailChimpManager = new MailChimpManager(mailchimp.ApiKey1);
            var listId = "c8326de226";
            var user   = await _context.User.FirstAsync(x => x.Id == userContactInfoModel.UserId);

            var members = await mailChimpManager.Members.GetAllAsync(listId).ConfigureAwait(false);

            var member = members.First(x => x.EmailAddress == user.Email);

            // Use the Status property if updating an existing member
            member.MergeFields.Clear();
            member.MergeFields.Add("FNAME", userContactInfoModel.FirstName);
            member.MergeFields.Add("LNAME", userContactInfoModel.LastName);
            if (userContactInfoModel.IsSubscribe == 0)
            {
                member.Status = Status.Unsubscribed;
            }
            else if (userContactInfoModel.IsSubscribe == 1)
            {
                member.Status = Status.Subscribed;
            }

            await mailChimpManager.Members.AddOrUpdateAsync(listId, member);

            return(Ok(result));
        }
        //[Authorize]
        //[ValidateAntiForgeryToken]
        //[Route("ModifyInfo")]
        public async Task <ActionResult <UserContactInfo> > ModifyInfo(int id, [FromBody] UserContactInfoModel userContactInfoModel)
        {
            //var result = new Result<string>();
            var result = new Result <UserContactInfo>();

            var user = await _context.UserContactInfo.Where(x => x.UserId == id).FirstOrDefaultAsync();

            var updateSubscribe = await _context.User.FirstAsync(x => x.Id == id);

            if (user == null)
            {
                UserContactInfo userContactInfo = new UserContactInfo();
                _mapper.Map(userContactInfoModel, userContactInfo);

                await _context.UserContactInfo.AddAsync(userContactInfo);
            }
            else
            {
                user.FirstName    = userContactInfoModel.FirstName;
                user.LastName     = userContactInfoModel.LastName;
                user.PhoneNumber  = userContactInfoModel.PhoneNumber;
                user.Company      = userContactInfoModel.Company;
                user.Comments     = userContactInfoModel.Comments;
                user.Website      = userContactInfoModel.Website;
                user.SocialMedia  = userContactInfoModel.SocialMedia;
                user.Nzbn         = userContactInfoModel.Nzbn;
                user.BusinessInfo = userContactInfoModel.BusinessInfo;
                _context.UserContactInfo.Update(user);
            }
            updateSubscribe.IsSubscribe = userContactInfoModel.IsSubscribe;
            updateSubscribe.Discount    = userContactInfoModel.Discount;
            _context.User.Update(updateSubscribe);

            try
            {
                await UserSubscribe(userContactInfoModel);

                _context.SaveChanges();
                result.Data = user;
            }
            catch (Exception ex)
            {
                result.IsSuccess    = false;
                result.ErrorMessage = ex.ToString();
                return(BadRequest(result));
            }

            result.IsSuccess = true;
            return(Ok(result));
        }