Esempio n. 1
0
        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)
        }
Esempio n. 2
0
        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"));
        }
Esempio n. 3
0
        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"));
        }
Esempio n. 4
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"));
        }
Esempio n. 5
0
 public HandlerResults Handle(AwesomeHttpRequest request)
 {
     throw new NotImplementedException();
 }