Skip to content

Instantly share code, notes, and snippets.

@CoreyKaylor
Created October 27, 2012 15:02
Show Gist options
  • Save CoreyKaylor/3965008 to your computer and use it in GitHub Desktop.
Save CoreyKaylor/3965008 to your computer and use it in GitHub Desktop.
Creating a diversion
public class AcceptPrivacyPolicyRedirector
{
private readonly ISession _session;
public AcceptPrivacyPolicyRedirector(ISession session)
{
_session = session;
}
public FubuContinuation Execute(UserRequestInputModel input)
{
var userAccount = _session.Get<UserAccount>(input.UserName);
if(userAccount.HasAcceptedPrivacyPolicy)
{
return FubuContinuation.NextBehavior();
}
return FubuContinuation.RedirectTo(new AcceptPrivacyPolicyInputModel());
}
}
public class AcceptPrivacyStatementPolicy : IConfigurationAction
{
public void Configure(BehaviorGraph graph)
{
graph.Actions()
.Where(x => x.RequiresAuthentication())
.Each(x => x.AddBefore(ActionCall.For<AccceptPrivacyPolicyRedirector>()));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment