Skip to content

Instantly share code, notes, and snippets.

@VirtueMe
Last active December 26, 2015 21:19
Show Gist options
  • Select an option

  • Save VirtueMe/7215410 to your computer and use it in GitHub Desktop.

Select an option

Save VirtueMe/7215410 to your computer and use it in GitHub Desktop.
How to keep your controller DRY with generic methods.
public class ConferenceController : Controller
{
private readonly ISession _session;
private readonly IMediator _mediator;
public ConferenceController(ISession session, IMediator mediator)
{
_session = session;
_mediator = mediator;
}
public ActionResult Index(IndexQuery query)
{
return View(query);
}
public ViewResult Show(ShowQuery query)
{
return View(query);
}
public ActionResult Edit(EditQuery query)
{
return View(query);
}
protected TR View<T, TR>(T query) where T: QueryBase
{
var model = _mediator.Request(query);
return View(model);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment