Exemplo n.º 1
0
            public void ShowHUD(EnumPokerSites site, int windowHandle, string text)
            {
                var gameInfo = new GameInfo
                {
                    PokerSite    = site,
                    TableType    = EnumTableType.Nine,
                    WindowHandle = windowHandle
                };

                var eventArgs = new PreImportedDataEventArgs(gameInfo, text);

                importer.eventAggregator.GetEvent <PreImportedDataEvent>().Publish(eventArgs);
            }
Exemplo n.º 2
0
        private void SendHUDTableNotification(IntPtr handle, string loadingText)
        {
            var gameInfo = new GameInfo
            {
                PokerSite    = EnumPokerSites.Adda52,
                TableType    = EnumTableType.Nine,
                WindowHandle = handle.ToInt32()
            };

            Task.Run(() =>
            {
                Task.Delay(ScanInterval).Wait();

                var eventArgs = new PreImportedDataEventArgs(gameInfo, loadingText);
                eventAggregator.GetEvent <PreImportedDataEvent>().Publish(eventArgs);
            });
        }
Exemplo n.º 3
0
        private void NotifyNotDetectableWindows(IEnumerable <IntPtr> windowsToNotify)
        {
            var warningText = CommonResourceManager.Instance.GetResourceString("Notifications_HudLayout_PreLoadingText_IgnitionNotDetectable");

            foreach (var window in windowsToNotify)
            {
                var gameInfo = new GameInfo
                {
                    PokerSite    = EnumPokerSites.Ignition,
                    TableType    = EnumTableType.Nine,
                    WindowHandle = window.ToInt32()
                };

                var eventArgs = new PreImportedDataEventArgs(gameInfo, warningText);
                eventAggregator.GetEvent <PreImportedDataEvent>().Publish(eventArgs);
            }
        }
Exemplo n.º 4
0
        private void SendPreImporedData()
        {
            if (IsZonePokerTable)
            {
                return;
            }

            var gameInfo = new GameInfo
            {
                PokerSite    = EnumPokerSites.Ignition,
                TableType    = (EnumTableType)MaxSeat,
                WindowHandle = WindowHandle.ToInt32()
            };

            var loadingText = CommonResourceManager.Instance.GetResourceString("Notifications_HudLayout_PreLoadingText_Ignition");

            var eventArgs = new PreImportedDataEventArgs(gameInfo, loadingText);

            eventAggregator.GetEvent <PreImportedDataEvent>().Publish(eventArgs);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Import results in DB
        /// </summary>
        /// <param name="convertedResult"></param>
        private void ImportResult(ConvertedResult convertedResult)
        {
            // send data to file importer
            var dbImporter = ServiceLocator.Current.GetInstance <IFileImporter>();
            var progress   = new DHProgress();

            IEnumerable <ParsingResult> parsingResult = null;

            LogProvider.Log.Info(this, $"Hand {convertedResult.HandNumber} processed. [{Identifier}]");

            try
            {
                parsingResult = dbImporter.Import(convertedResult.ConvertedXml, progress, convertedResult.GameInfo);
            }
            catch (DHLicenseNotSupportedException)
            {
                LogProvider.Log.Error(this, $"Hand {convertedResult.HandNumber} has not been imported. License issue. [{Identifier}]");

                var windowHwnd = new IntPtr(convertedResult.GameInfo.WindowHandle);

                if (windowHwnd != IntPtr.Zero && WinApi.IsWindow(windowHwnd))
                {
                    var preImportedArgs = new PreImportedDataEventArgs(convertedResult.GameInfo,
                                                                       CommonResourceManager.Instance.GetResourceString("Notifications_HudLayout_PreLoadingText_NoLicense"));

                    eventAggregator.GetEvent <PreImportedDataEvent>().Publish(preImportedArgs);
                }

                return;
            }
            catch (Exception e)
            {
                LogProvider.Log.Error(this, string.Format("Hand {0} has not been imported. [{1}]", convertedResult.HandNumber, Identifier), e);
            }

            if (parsingResult == null)
            {
                return;
            }

            foreach (var result in parsingResult)
            {
                if (result.HandHistory == null)
                {
                    continue;
                }

                if (result.IsDuplicate)
                {
                    LogProvider.Log.Info(this, string.Format("Hand {0} has not been imported. Duplicate. [{1}]", result.HandHistory.Gamenumber, Identifier));
                    continue;
                }

                if (!result.WasImported)
                {
                    LogProvider.Log.Info(this, string.Format("Hand {0} has not been imported. [{1}]", result.HandHistory.Gamenumber, Identifier));
                    continue;
                }

                LogProvider.Log.Info(this, string.Format("Hand {0} has been imported in {2}ms. [{1}]", result.HandHistory.Gamenumber, Identifier, result.Duration));

                if (result.Source.GameDescription.TableTypeDescriptors.Contains(TableTypeDescription.FastFold))
                {
                    var preImportedArgs = new PreImportedDataEventArgs(convertedResult.GameInfo,
                                                                       CommonResourceManager.Instance.GetResourceString("Notifications_HudLayout_PreLoadingText_NotSupportedFastFold"));

                    eventAggregator.GetEvent <PreImportedDataEvent>().Publish(preImportedArgs);

                    return;
                }

                var dataImportedArgs = new DataImportedEventArgs(result.Source.Players, convertedResult.GameInfo, result.Source.Hero, result.Source.HandId);
                eventAggregator.GetEvent <DataImportedEvent>().Publish(dataImportedArgs);
            }
        }