public static void ShowHowCORIsWorking() { #region ChainOfResponsibility(COR) IHandlerFactory _factory = new HandlerFactory(); var awesomeRequest = new AwesomeHttpRequest { IsAwesome = true, Name = "", RobotsDestroyed = 0 }; var validationHandler = _factory.Get(HandlerTypes.Validation); var coolnessHandler = _factory.Get(HandlerTypes.Coolness); var dbHandler = _factory.Get(HandlerTypes.DataBase); validationHandler.SetNextHandler(coolnessHandler); coolnessHandler.SetNextHandler(dbHandler); var handlingResults = validationHandler.Handle(awesomeRequest); #endregion ChainOfResponsibility(COR) }
public HandlerResults Handle(AwesomeHttpRequest request) { if (request == null) { throw new NullReferenceException(); } Console.WriteLine("Saving in db..."); Thread.Sleep(50); Console.WriteLine("Saved"); return(new DbHandlerResult("Successfully saved in db")); }
public HandlerResults Handle(AwesomeHttpRequest request) { if (request == null) { throw new NullReferenceException(); } if (request.Name != "" && request.RobotsDestroyed != 0) { Console.WriteLine("Validation is okay!"); return(NextHandler?.Handle(request)); } return(new ValidationHandlerResult("Invalid name or destroyed robots = 0")); }
public HandlerResults Handle(AwesomeHttpRequest request) { if (request == null) { throw new NullReferenceException(); } if (request.IsAwesome) { Console.WriteLine("He is cool enough to store him in db"); return(NextHandler?.Handle(request)); } return(new CoolnessHandlerResult("He is not enough cool")); }
public HandlerResults Handle(AwesomeHttpRequest request) { throw new NotImplementedException(); }