public IActionResult Add(ClassViewModel model)
        {
            if (ModelState.IsValid)
            {
                var ceClass = new CEClass(model);

                _repo.AddEntity(ceClass);
                _repo.SaveChanges();

                ModelState.Clear();
                return(Redirect("/CEClass/Classes"));
            }

            return(View());
        }
        public async Task <IActionResult> AdSubmission(AdViewModel model)
        {
            if (ModelState.IsValid)
            {
                AppUser AppUser = await _userManager.FindByIdAsync(model.AppUserId);

                var ad = new Ad(model, AppUser);

                _repo.AddEntity(ad);
                _repo.SaveChanges();

                ModelState.Clear();
                return(Redirect("/AdSubmission/AdSuccess"));
            }
            /* Read http://blog.staticvoid.co.nz/2012/entity_framework-navigation_property_basics_with_code_first/ */
            return(View());
        }
        public async Task <IActionResult> OpenHouseSubmission(OpenHouseViewModel model)
        {
            if (ModelState.IsValid)
            {
                AppUser AppUser = await _userManager.FindByIdAsync(model.AppUserId);

                var openHouse = new OpenHouse(model, AppUser);

                _repo.AddEntity(openHouse);
                _repo.SaveChanges();

                var emailOpenHouseViewModel = new EmailOpenHouseViewModel(model, AppUser);
                _emailSender.SendEmailAsync("*****@*****.**", $"{AppUser.FirstName} {AppUser.LastName} has submitted an Open House", "OpenHouseSubmission", emailOpenHouseViewModel);

                ModelState.Clear();
                return(Redirect("/OpenHouseSubmission/OpenHouseSuccess"));
            }
            /* Read http://blog.staticvoid.co.nz/2012/entity_framework-navigation_property_basics_with_code_first/ */
            return(View());
        }