public async Task <ActionResult> Contact(EmailDetails emailDetails, EmailProcessor emailProcessor) { if (ModelState.IsValid) { await emailProcessor.ProcessEmailAsync(emailDetails); ViewBag.Status = emailDetails.StatusMessage; return(View("Thankyou", emailDetails)); } ; // return empty form if invalid return(View("Contact")); }