Every article found in the Internet on using ViewModels and utilizing Automapper gives the guidelines of the \"Controller -> View\" direction mapping. You take a domain mod
I use an IBuilder interface and implement it using the ValueInjecter
public interface IBuilder
{
TEntity BuildEntity(TViewModel viewModel);
TViewModel BuildViewModel(TEntity entity);
TViewModel RebuildViewModel(TViewModel viewModel);
}
... (implementation) RebuildViewModel just calls BuildViewModel(BuilEntity(viewModel))
[HttpPost]
public ActionResult Update(ViewModel model)
{
if(!ModelState.IsValid)
{
return View(builder.RebuildViewModel(model);
}
service.SaveOrUpdate(builder.BuildEntity(model));
return RedirectToAction("Index");
}
btw I don't write ViewModel I write Input cuz it's much shorter, but that just not really important
hope it helps
Update: I'm using this approach now in the ProDinner ASP.net MVC Demo App, it's called IMapper now, there's also a pdf provided where this approach is explained in detail