public ActionResult Create(CustomerAppCreateEditModel viewModel) { using (var context = this.dataContextFactory.CreateByUser()) { if (ModelState.IsValid) { if (viewModel.TryToSaveCustomerApp(context, (key, message) => ModelState.AddModelError(key, message))) { Flash.Success("The licensed application was created."); return Redirect(viewModel.RedirectUrl ?? Url.Action("Index")); } } var model = CustomerAppCreateEditModel.ForCreate(context).WithUserInput(viewModel); return View("CreateEdit", model); } }