public ActionResult Create([Bind(Include = "Id,UserId,EmailAddress,EmailAccountType")] TrackedEmailAccount trackedEmailAddress)
 {
     if (!ModelState.IsValid)
     {
         return(View(trackedEmailAddress));
     }
     _context.TrackedEmailAccounts.Add(trackedEmailAddress);
     _context.SaveChanges();
     return(RedirectToAction("Index"));
 }
        public void Scan(int accountId)
        {
            _emailAccount = _context.TrackedEmailAccounts.SingleOrDefault(e => e.Id == accountId);
            if (_emailAccount == null)
            {
                return;
            }

            ScanAccountForNewMessages();
            CreateNewBatches();
        }
        public static void RemoveAuthorization(
            this TrackedEmailAccount trackedEmailAccount,
            EcommerceTrackerContext context)
        {
            if (trackedEmailAccount.EmailAccountType != EmailAccountType.Gmail)
            {
                return;
            }

            var googleOauthTokenResponse =
                context.GoogleOauthTokenResponses.Single(t => t.TrackedEmailAccountId == trackedEmailAccount.Id);

            context.GoogleOauthTokenResponses.Remove(googleOauthTokenResponse);
        }