Exemple #1
0
        public override object Handle(object request)
        {
            if (request is DepositAccount)
            {
                var account = request as DepositAccount;
                account.Add(account.accountSum * account.percent / 100.0);
                return(NextHandler.Handle(request));
            }
            else
            {
                if (request is CurrentAccount)
                {
                    var account = request as CurrentAccount;
                    account.Add(account.accountSum * account.percent / 100.0);
                    if (NextHandler != null)
                    {
                        return(NextHandler.Handle(request));
                    }

                    return(account);
                }

                return(base.Handle(request));
            }
        }
        public IHttpAction Handle(Request request)
        {
            if (request.VirtualHost.DigestAuthConfigs != null)
            {
                foreach (var authConfig in request.VirtualHost.DigestAuthConfigs)
                {
                    if (request.Object.Uri.Url.StartsWith(authConfig.AuthDirectory))
                    {
                        // Need auth

                        var ha1      = Md5($"{authConfig.UserName}:{authConfig.Realm}:{authConfig.Password}");
                        var ha2      = Md5($"{request.Object.Method}:/{request.Object.Uri.Url}");
                        var response = Md5($"{ha1}:{Nonce}:{ha2}");

                        if (request.Object.Authorization.AuthType == "Digest" &&
                            request.Object.Authorization["UserName"] == authConfig.UserName &&
                            request.Object.Authorization["Nonce"] == Nonce &&
                            request.Object.Authorization["Realm"] == authConfig.Realm &&
                            request.Object.Authorization["Response"] == response &&
                            request.Object.Authorization["Uri"] == "/" + request.Object.Uri.Url)
                        {
                            return(NextHandler != null?NextHandler.Handle(request) : new NotImplemented());
                        }
                        else
                        {
                            var httpHeaders = new HttpHeaders();
                            httpHeaders.Add("WWW-Authenticate", $"Digest realm=\"{authConfig.Realm}\", nonce=\"{Nonce}\"");
                            return(new Unauthorized(httpHeaders, null));
                        }
                    }
                }
            }
            return(NextHandler != null?NextHandler.Handle(request) : new NotImplemented());
        }
        override public Hand Handle(List <Card> cards)
        {
            var groups =
                cards
                .GroupBy(c => c.Rank)
                .Select(g => new { Rank = g.Key, Count = g.Count(), Cards = g.ToList() });

            var tripletGroups = groups.Where(g => g.Count == 3).ToList();
            var pairGroups    = groups.Where(g => g.Count == 2).ToList();

            if (tripletGroups.Count == 0 || pairGroups.Count == 0)
            {
                return(NextHandler.Handle(cards));
            }

            var triplet = tripletGroups.Single();
            var pair    =
                pairGroups.Count == 2
                        ? pairGroups.Find(p => p.Rank == pairGroups.Max(g => g.Rank))
                        : pairGroups.Single();

            cards = triplet.Cards;
            cards.AddRange(pair.Cards);

            return(new FullHouse(cards, triplet.Rank, pair.Rank));
        }
Exemple #4
0
        //BUSA-859: Add to Existing SS
        public override GetCartCollectionResult Execute(IUnitOfWork unitOfWork, GetCartCollectionParameter parameter, GetCartCollectionResult result)
        {
            Dictionary <Guid, string> subscriptionNames = new Dictionary <Guid, string>();

            foreach (CustomerOrder cart in result.Carts)
            {
                result.CartPrices[cart.Id] = new CartPriceDto()
                {
                    OrderSubTotal       = customerOrderUtilities.GetOrderSubTotal(cart),
                    OrderGrandTotal     = customerOrderUtilities.GetOrderTotal(cart),
                    ShippingAndHandling = customerOrderUtilities.GetShippingAndHandling(cart),
                    TotalTax            = customerOrderUtilities.GetTotalTax(cart)
                };

                var subscriptionName = unitOfWork.GetRepository <CustomProperty>().GetTable().FirstOrDefault(x => x.Name.ToUpper() == "SUBSCRIPTIONNAME" && x.ParentId == cart.Id);
                if (subscriptionName != null)
                {
                    subscriptionNames.Add(cart.Id, subscriptionName.Value);
                }
                else
                {
                    subscriptionNames.Add(cart.Id, cart.OrderNumber);
                }
            }

            AddObjectToResultProperties(result, "subscriptionNames", subscriptionNames);
            return(NextHandler.Execute(unitOfWork, parameter, result));
        }
        public Task <HandlerResponse> Handle(Message message)
        {
            if (message.RequestType != MessageType.StartRound)
            {
                return(Task.FromResult(NextHandler?.Handle(message).Result));
            }

            if (!FightContext.CanStartNewRound())
            {
                return(Task.FromResult(new HandlerResponse
                {
                    ResponseType = ResponseType.Skip
                }));
            }
            FightContext.StartRound();
            var roundId = FightContext.GetRoundNumber();

            return(Task.FromResult(new HandlerResponse
            {
                ResponseType = ResponseType.ToAll,
                Message = new Message
                {
                    RequestType = message.RequestType,
                    Data = roundId.ToString()
                }
            }));
        }
Exemple #6
0
 public override OrderModel ProcessOrder(OrderModel order)
 {
     ProcessingInstance.ProcessOrder(order);
     return(NextHandler != null
         ? NextHandler.ProcessOrder(order)
         : order);
 }
Exemple #7
0
 public async override void Handle(MessageWrapper message, ITelegramBotClient client)
 {
     if (message.HasRegexIgnoreMention(BotWeatherRegex) || message.HasRegexIgnoreMention(BotWeatherSmallRegex))
     {
         var we = new WeatherWorker();
         var mm = BotWeatherRegex.Match(message.CurrentMessage);
         if (!mm.Success)
         {
             mm = BotWeatherRegex.Match(message.MessageInLayouts[1]);
         }
         if (!mm.Success)
         {
             mm = BotWeatherSmallRegex.Match(message.CurrentMessage);
         }
         if (!mm.Success)
         {
             mm = BotWeatherSmallRegex.Match(message.MessageInLayouts[1]);
         }
         var m = mm.Groups.Last();
         if (m.Value.Contains("киев", StringComparison.InvariantCultureIgnoreCase))
         {
             await client.SendTextMessageAsync(message.Chat.Id, we.GetWeather("kyiv"));
         }
         if (m.Value.Contains("днепр", StringComparison.InvariantCultureIgnoreCase))
         {
             await client.SendTextMessageAsync(message.Chat.Id, we.GetWeather("dnipro"));
         }
     }
     else
     {
         NextHandler?.Handle(message, client);
     }
 }
Exemple #8
0
 public void Stop()
 {
     Status = TaskHandlerStatus.Free;
     if (NextHandler != null)
     {
         NextHandler.Stop();
     }
 }
Exemple #9
0
 public virtual async Task Next(SimpleEmailService <S3ReceiptAction> message, ILambdaContext context)
 {
     if (NextHandler == null)
     {
         return;
     }
     await NextHandler.Handle(message, context);
 }
Exemple #10
0
 public override ISelector GetSelector(string[] selectorString)
 {
     if (selectorString.Count() == 1 && selectorString[0][0] == '#')
     {
         return(new IdSelector(selectorString[0].Skip(1).CharsToString()));
     }
     return(NextHandler.GetSelector(selectorString));
 }
 public override string Handle(Number number)
 {
     if (number.IsDivisibleBy3And5)
     {
         return("FizzBuzz");
     }
     return(NextHandler.Handle(number));
 }
Exemple #12
0
        public void Type(ITextControl textControl, char c, NextHandler nextHandler)
        {
            // если не вызвать nextHandler то в редакторе не появляется новый символ
            nextHandler();

            if (!IsSupported(textControl))
                return;

            if (LookupWindowManager.Instance.CurrentLookup == null && c == '<'
                /*&& CodeCompletionSettings.Instance.AutoPopupOnIdentifier.GetValue()*/)
            {
                Action action = null;
                action = delegate
                                    {
                                        CommandProcessor.Instance.BeforeCommandFinished -= action;

                                        // it is really simple
                                        // just execute basic completion
                                        // TODO see SessionStarter and  CodeCompletionSession.ExecuteAsync
                                        // as example for raise completion (smart or basic depend from context)
                                        // and using resharper options (enable completion, pause etc )

                                        bool interrupted = false;

                                        PsiManager.GetInstance(solution).AsyncCommitAllDocuments(
                                                delegate
                                                    {
                                                        return interrupted;
                                                    },
                                                delegate
                                                    {
                                                        if (interrupted)
                                                            return;

                                                        LookupWindowManager.Instance.AfterLookupWindowShown += Instance_OnAfterLookupWindowShown;

                                                        try
                                                        {
                                                            IUpdatableAction updatableAction =
                                                                ActionManager.Instance.GetAction("CompleteCodeBasic");
                                                            ActionManager.Instance.ExecuteActionIfAvailable((IExecutableAction)updatableAction);
                                                        }
                                                        finally
                                                        {
                                                            LookupWindowManager.Instance.AfterLookupWindowShown -= Instance_OnAfterLookupWindowShown;
                                                        }

                                                    },
                                                delegate
                                                    {
                                                        interrupted = true;
                                                    }
                                            );

                                    };
                CommandProcessor.Instance.BeforeCommandFinished += action;
            }
        }
        public override void HandleRequest(HttpContext context)
        {
            var result = context.CallGetRequestAsync();

            if (!result)
            {
                NextHandler.HandleRequest(context);
            }
        }
        public override void Handle(TCommand command)
        {
            using (var scope = new TransactionScope())
            {
                NextHandler.Handle(command);

                scope.Complete();
            }
        }
Exemple #15
0
        public override ISelector GetSelector(string[] selectorString)
        {
            if (selectorString.Count() == 2)
            {
                return(new DescendentSelector(selectorString[0], selectorString[1]));
            }

            return(NextHandler.GetSelector(selectorString));
        }
        public override ISelector GetSelector(string[] selectorString)
        {
            if (selectorString.Count() == 1 && HtmlHelpers.IsHtmlElement(selectorString[0]))
            {
                return(new ElementSelector(selectorString[0]));
            }

            return(NextHandler.GetSelector(selectorString));
        }
Exemple #17
0
 public bool Discount(float value, float price)
 {
     if (_maxDiscount >= value && price >= _minPrice)
     {
         Console.WriteLine($"Rabat {value} przyznany przez {Name}");
         return(true);
     }
     return(NextHandler?.Discount(value, price) ?? false);
 }
Exemple #18
0
        public override ISelector GetSelector(string[] selectorString)
        {
            if (selectorString.Count() == 3 && selectorString[1] == ">")
            {
                return(new ChildSelector(selectorString[0], selectorString[2]));
            }

            return(NextHandler.GetSelector(selectorString));
        }
 public override bool Discount(float value, float price)
 {
     if (MaxDiscount > value && price >= MinPrice)
     {
         Console.WriteLine($"Discount accepted by handler {Name}");
         return(true);
     }
     return(NextHandler?.Discount(value, price) ?? false);
 }
        public override string Handle(Parcel parcel)
        {
            if (parcel.Value < 50m && !parcel.IsInsured)
            {
                return("BUDGET: " +
                       "Assault package at a discount price");
            }

            return(NextHandler.Handle(parcel));
        }
Exemple #21
0
        public override string Handle(Parcel parcel)
        {
            if (parcel.IsInsured)
            {
                return("DELUXE: " +
                       "Take special care of package at a whooping price.");
            }

            return(NextHandler.Handle(parcel));
        }
 public override void HandleRequest(Request request)
 {
     Console.WriteLine($"财务部经理{Name}通过了对金额为{request.Amount}元的商品{request.ProductName}的审批!");
     if (request.Amount > 100000 && null != NextHandler)
     {
         NextHandler.HandleRequest(request);
         return;
     }
     Console.WriteLine("流程到财务部门结束!");
 }
Exemple #23
0
        public override string Handle(Parcel parcel)
        {
            if (parcel.Value >= 50m && !parcel.IsInsured)
            {
                return("NORMAL: " +
                       "Deliver package at a reasonable price");
            }

            return(NextHandler.Handle(parcel));
        }
Exemple #24
0
 public override void HandleCashDeposit(CashDepositRequest request)
 {
     if (request.GetCashValue() == 100)
     {
         Console.WriteLine($"Cash will be put on the 100 Rupee Tray :: {this.GetType()}");
     }
     else
     {
         NextHandler?.HandleCashDeposit(request);
     }
 }
 public override void ProcessRequest(PurchaseRequest request)
 {
     if (request != null && request.Amount > 100000)
     {
         Console.WriteLine($"{nameof(ConcreteHandlerC)}处理了价格为{request.Amount}的请求");
     }
     if (NextHandler != null)
     {
         NextHandler.ProcessRequest(request);
     }
 }
Exemple #26
0
 public override void ProcessRequest(Message message)
 {
     if (message.MessageType == MessageType.MouseUp)
     {
         Console.WriteLine("WM_MOUSEUP : X={0}, Y={1}", message.X, message.Y);
     }
     else if (NextHandler != null)
     {
         NextHandler.ProcessRequest(message);
     }
 }
Exemple #27
0
 public override void Handle(MessageWrapper message, ITelegramBotClient client)
 {
     if (message.HasRegexIgnoreMention(NeededRegex))
     {
         ConcreteRegexHandler(message, client);
     }
     else
     {
         NextHandler?.Handle(message, client);
     }
 }
Exemple #28
0
 public async override void Handle(MessageWrapper message, ITelegramBotClient client)
 {
     if (message.HasCommand("/paporotnik"))
     {
         await client.SendTextMessageAsync(message.OriginalMessage.Chat.Id, "Встречаются два папоротника в непригодных для размножения условиях, и один другому говорит: \"Ну, тут не поспоришь\"");
     }
     else
     {
         NextHandler?.Handle(message, client);
     }
 }
Exemple #29
0
 public void HandleRequest(LeaveRequest request)
 {
     if (request.LeaveDays <= 10)
     {
         Console.WriteLine("Leave request :- Employee: {0}, Leave Days: {1} approved by supervisor", request.Employee, request.LeaveDays);
     }
     else
     {
         NextHandler.HandleRequest(request);
     }
 }
 public override void ProcessRequest(Request request)
 {
     if (request.Color == "Red")
     {
         Console.WriteLine($"{this.GetType().Name} approved request {request.Code} as {request.Color}");
     }
     else if (NextHandler != null)
     {
         NextHandler.ProcessRequest(request);
     }
 }
Exemple #31
0
 public override void ProcessRequest(Message message)
 {
     if (message.CommandType == CommandType.DeleteFile)
     {
         File.Delete(message.Arguments[0]);
     }
     else if (NextHandler != null)
     {
         NextHandler.ProcessRequest(message);
     }
 }