Last active
December 27, 2015 16:29
-
-
Save mhinze/7355152 to your computer and use it in GitHub Desktop.
Sample ShortBus BaseController
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Web.Mvc; | |
using JetBrains.Annotations; | |
using ShortBus; | |
public abstract class BaseController : Controller | |
{ | |
public IMediator Mediator { get; set; } | |
protected Response<TResult> Query<TResult>(IQuery<TResult> query) | |
{ | |
return Mediator.Request(query); | |
} | |
protected void Command<T>(T command) | |
{ | |
var result = Mediator.Send(command); | |
if (result.HasException()) | |
{ | |
throw result.Exception; | |
} | |
} | |
[AspMvcView] | |
protected ViewResult View<TData>(Response<TData> model) | |
{ | |
return View(string.Empty, model); | |
} | |
protected ViewResult View<TData>([AspMvcView] string viewName, Response<TData> model) | |
{ | |
if (model.HasException()) | |
return base.View("~/Views/Shared/Error.cshtml", model); | |
return View(viewName, model.Data); | |
} | |
[AspMvcPartialView] | |
protected PartialViewResult PartialView<TData>(Response<TData> model) | |
{ | |
return PartialView(string.Empty, model); | |
} | |
protected PartialViewResult PartialView<TData>([AspMvcPartialView] string viewName, Response<TData> model) | |
{ | |
if (model.HasException()) | |
return base.PartialView("~/Views/Shared/ErrorPartial.cshtml", model); | |
return PartialView(viewName, model.Data); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@model ShortBus.Response | |
@Html.Partial("ErrorPartial", Model) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@model ShortBus.Response | |
<div style="background: lightcoral; color: black"> | |
@Model.Exception.ToString() | |
</div> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Do you see an issue with adding this overload?