bool IExMonServer4CommsServer.ProcessG2HMessage(ExComms.Contracts.DTO.Monitor.MonMsg_G2H request)
        {
            using (ILogMethod method = Log.LogMethod(this.DYN_MODULE_NAME, "ProcessG2HMessage"))
            {
                bool result = default(bool);

                try
                {
                    string ipAddress   = request.IpAddress;
                    string hostAddress = request.HostIpAddress;

                    // comms server instance
                    if (!_commsServerCallbacks.ContainsKey(hostAddress))
                    {
                        _commsServerCallbacks.GetOrAdd(hostAddress, ExCommsServerHostFactoryActivatorFactory.Current.CommunicationServer);
                    }

                    // gmus associated with comms servers (by ip address)
                    if (!_commsServersMapByIp.ContainsKey(ipAddress))
                    {
                        _commsServersMapByIp.GetOrAdd(ipAddress, hostAddress);
                    }
                    else
                    {
                        _commsServersMapByIp[ipAddress] = hostAddress;
                    }

                    // get the installation no
                    if (_mapIpInsNo.ContainsKey(ipAddress))
                    {
                        request.InstallationNo = _mapIpInsNo[ipAddress];
                    }

                    // fill the request values by using installation no
                    if (request.InstallationNo > 0)
                    {
                        this.FillRequestValues(request);
                    }

                    // gmus associated with comms servers (by installation no)
                    this.UpdateCommsServerHostAddress(request.InstallationNo, hostAddress);

                    // post the message into transceiver
                    result = _transceiver.ProcessG2HMessage(request);
                }
                catch (Exception ex)
                {
                    method.Exception(ex);
                }

                return(result);
            }
        }
예제 #2
0
        protected override bool ProcessG2HMessageInternal(ExComms.Contracts.DTO.Monitor.MonMsg_G2H request)
        {
            using (ILogMethod method = Log.LogMethod("MonitorHandler_CardLessPlay", "ProcessG2HMessageInternal"))
            {
                DateTime dDate = default(System.DateTime);
                dDate = request.FaultDate;

                try
                {
                    ExCommsDataContext.Current.AddFaultEvent(request.InstallationNo, request.FaultSource, request.FaultType, "", true, dDate);
                }
                catch (Exception ex)
                {
                    ExceptionManager.Publish(ex);
                }

                return(true);
            }
        }
예제 #3
0
        protected override bool ProcessG2HMessageInternal(ExComms.Contracts.DTO.Monitor.MonMsg_G2H request)
        {
            using (ILogMethod method = Log.LogMethod("MonitorHandler_ExtendedGameInfo", "ProcessG2HMessageInternal"))
            {
                try
                {
                    //MonTgt_G2H_ExtendedGameInfo monTgtMsg = request.Targets[0] as MonTgt_G2H_ExtendedGameInfoInfo;

                    //    if (ExCommsDataContext.Current.UpdateInstallationGameInfo(monTgtMsg.installationNo,monTgtMsg.GameNumber,monTgtMsg.MaxBet,monTgtMsg.ProgressGroup,monTgtMsg.ProgressLevel,monTgtMsg.GameName,monTgtMsg.PayTableName,false,monTgtMsg.HasGameNameFramed,""))
                    {
                    }

                    //++k BGSMeterHandler.Proceess
                    return(true);
                }
                catch (Exception ex)
                {
                    method.Exception(ex);
                }
                return(false);
            }
        }
예제 #4
0
        protected override bool ProcessG2HMessageInternal(ExComms.Contracts.DTO.Monitor.MonMsg_G2H request)
        {
            using (ILogMethod method = Log.LogMethod("MonitorHandler_GameInfo", "ProcessG2HMessageInternal"))
            {
                try
                {
                    MonTgt_G2H_GameInfo monTgtMsg = request.Targets[0] as MonTgt_G2H_GameInfo;

                    //   if (ExCommsDataContext.Current.UpdateSession_MGMD_MeterHistory(monTgtMsg))
                    {
                    }
                    method.Debug("Snap taken, now update the latest meters in floor financials");
                    //++k BGSMeterHandler.Proceess
                    return(true);
                }
                catch (Exception ex)
                {
                    method.Exception(ex);
                }
                return(false);
            }
        }
예제 #5
0
 protected override bool ProcessG2HMessageInternal(ExComms.Contracts.DTO.Monitor.MonMsg_G2H request)
 {
     return(false);
 }
예제 #6
0
 bool IExMonServer4MonClient.ProcessG2HMessage(ExComms.Contracts.DTO.Monitor.MonMsg_G2H request)
 {
     throw new NotImplementedException();
 }