public GetGameCelebrationsResponse GetGameCelebrationsByValue(GetGameCelebrationsValueRequest reqst)
        {
            DateTime kickoff = DateTime.Now;

            XmlConfigurator.Configure(new System.IO.FileInfo(config.Log4NetConfigPath));

            GetGameCelebrationsResponse reply = new GetGameCelebrationsResponse();

            reply.Payouts = new GameCelebrationsList();

            try
            {
                log.Info("GetGameCelebrationsAbove(" + reqst.Amount + ") for " + reqst.Casino + " Request.");

                using (SlotsInfoServiceClient service = new SlotsInfoServiceClient(reqst.Casino + "BasicHttpBinding_SlotsInfoService"))
                {
                    svc.GetGameCelebrationsValueRequest request = new svc.GetGameCelebrationsValueRequest();
                    request.Amount        = reqst.Amount;
                    request.NumberOfLines = reqst.NumberOfLines;

                    svc.GetGameCelebrationsResponse response = new svc.GetGameCelebrationsResponse();
                    response = service.GetGameCelebrationsByValue(request);

                    reply.Success = response.Success;
                    if (response.Payouts != null)
                    {
                        foreach (svc.GameCelebrationsDetail detail in response.Payouts)
                        {
                            reply.Payouts.Add(new GameCelebrationsHits
                            {
                                Amount      = detail.Amount,
                                SlotMachine = detail.SlotMachine,
                                HitDate     = detail.HitDate
                            });
                        }
                    }
                    foreach (svc.ProcessError detail in response.Errors)
                    {
                        reply.Errors.Add(new ProcessError()
                        {
                            ErrorMessage = detail.ErrorMessage
                        });
                    }
                }

                log.Info("Request fulfilled. (" + executionTime(new TimeSpan(DateTime.Now.Ticks - kickoff.Ticks)) + "ms)");

                reply.Success = true;
                return(reply);
            }
            catch (Exception excp)
            {
                log.Error("\nMessage:\n" + excp.Message + "\nStack Trace:\n" + excp.StackTrace);

                reply.Success = false;

                ProcessError err = new ProcessError();
                err.ErrorMessage = excp.Message;

                reply.Errors.Add(err);
                return(reply);
            }
        }