Ejemplo n.º 1
0
        public void Start()
        {
            IContainerFactory  containerFactory = new ContainerFactory(new ConfigurationBase(), _configReader, _logger);
            IParantezContainer container        = containerFactory.CreateContainer();

            _ParantezCore = container.GetParantezCore();
            while (true)
            {
                bool i   = true;
                var  val = 0;
                while (i)
                {
                    if (int.TryParse(Console.ReadLine(), out val))
                    {
                        i = false;
                    }
                    if (i)
                    {
                        Console.WriteLine("integer bir sayı girin.");
                    }
                }

                var retVal = _ParantezCore.Calculate(new RequestMessage {
                    UserChannel = RequestCorp.MultinetCorp, UserEmail = "*****@*****.**", UserId = "1", Username = "******", Value = val
                });
                Console.WriteLine($"Multinet İçin {retVal.Text}");
            }
        }
        public MultinetMiddleware(IMiddleware next, IParantezCore ParantezCore) : base(next)
        {
            _ParantezCore = ParantezCore;

            Array.Resize(ref HandlerMappings, HandlerMappings.Length + 1);
            HandlerMappings[HandlerMappings.Length - 1] = new HandlerMapping
            {
                //aralıklar birbirinin üstüne gelirse 2 sindende kazanım hesaplaması isteniyorsa bir tık iyileştirilmeli.
                ValidHandles  = new[] { (int)RequestCorp.MultinetCorp, 50, 100 },
                Description   = "kullanıcının 50 birim üzerindeki harcamalarına 0.25 oranında geri ödeme sağlanması.",
                EvaluatorFunc = Case1
            };

            Array.Resize(ref HandlerMappings, HandlerMappings.Length + 1);
            HandlerMappings[HandlerMappings.Length - 1] = new HandlerMapping
            {
                ValidHandles  = new[] { (int)RequestCorp.MultinetCorp, 100, 99999999 },
                Description   = "kullanıcının her 100 birimlik harcamasından sonra (tek veya çoklu defada) 5 birimlik geri ödeme sağlanması.",
                EvaluatorFunc = Case2
            };
        }