public async Task<ActionResult> Contacts_Destroy(int ContactID)
 {
     using (var contactsDB = new ContactContext())
     {
        var contact = contactsDB.Contacts
            .Where(c => c.ContactID == ContactID).First();
        contactsDB.Contacts.Remove(contact);
        await contactsDB.SaveChangesAsync();
     }
     return Json(ContactID);
 }
 public async Task<ActionResult> Contacts_Update(Contact models)
 {
     using (var contactsDB = new ContactContext())
     {
         var update = contactsDB.Contacts
             .Where(c => c.ContactID == models.ContactID)
             .SingleOrDefault();
         if (update != null)
         {
             update.FirstName = models.FirstName;
             update.LastName = models.LastName;
             update.Email = models.Email;
             update.Company = models.Company;
             update.PhoneNumber = models.PhoneNumber;
             await contactsDB.SaveChangesAsync();
         }
         return Json(update);
     }
 }
 public async Task<ActionResult> Index(Contact model)
 {
     if (ModelState.IsValid) { 
         //ContactContext contacts = new ContactContext();
         using (var contactsDB = new ContactContext()) { 
             var contact = new Contact
             {
                 FirstName = model.FirstName,
                 LastName = model.LastName,
                 Email = model.Email,
                 Company = model.Company,
                 PhoneNumber = model.PhoneNumber,   
                 SubmittedDate = DateTime.UtcNow,
             };
             contactsDB.Contacts.Add(contact);
             await contactsDB.SaveChangesAsync();
         }
         return Json(model);
      }
     return Json(model);
 }