Beispiel #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ChangeUserProfileViewModel"/> class.
        /// </summary>
        /// <remarks>
        /// </remarks>
        public ChangeUserProfileViewModel()
        {
            _scrollViewerModule = new ScrollViewerModule(Dispatcher);
            WaitOverlayProvider.ShowWaitOverlay();
            HidePleaseWait = false;

            SaveUserProfileCommand      = new Command(OnSave);
            ChangeUserProfileCommand    = new Command(OnChangeUserProfile);
            CancelEditingProfileCommand = new Command(OnCancelEditingProfile);
            ScrollDownStart             = new Command(OnScrollDownStartExecute);
            ScrollDownStop = new Command(OnScrollDownStopExecute);
            ScrollUpStart  = new Command(OnScrollUpStartExecute);
            ScrollUpStop   = new Command(OnScrollUpStopExecute);

            Mediator.Register <string>(this, OnLanguageChosenExecute, MsgTag.LanguageChosenHeader);

            var scroller = GetScrollviewer();

            if (scroller != null)
            {
                scroller.ScrollToVerticalOffset(0);
            }

            ChangeUserProfileForm();
        }
 private void OnShowOperatorSearch()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     ChangeTracker.FoundOperators = new ObservableCollection <FoundOperator>();
     MyRegionManager.ClearHistory(RegionNames.UsermanagementContentRegion);
     MyRegionManager.NavigateUsingViewModel <SearchOperatorsViewModel>(RegionNames.UsermanagementContentRegion);
 }
        private void OpenPaymentView(Tuple <BarCodeConverter.BarcodeType, string> paymentNoteNumber)
        {
            WaitOverlayProvider.ShowWaitOverlay();
            Log.Debug("BARCODE: got message OpenOperatorPaymentView");
            if (!ChangeTracker.OperatorPaymentViewOpen)
            {
                MyRegionManager.ClearHistory(RegionNames.UsermanagementContentRegion);
                var model = MyRegionManager.NavigateUsingViewModel <PaymentViewModel>(RegionNames.UsermanagementContentRegion);
                while (!model.IsReady)
                {
                    Thread.Sleep(1);
                }
                switch (paymentNoteNumber.Item1)
                {
                case BarCodeConverter.BarcodeType.CREDIT_NOTE:
                    Mediator.SendMessage(MsgTag.HideKeyboard, MsgTag.HideKeyboard);
                    Mediator.SendMessage(true, MsgTag.SetCreditNoteButton);
                    Mediator.SendMessage(paymentNoteNumber.Item2, MsgTag.LoadPaymentNote);
                    break;

                case BarCodeConverter.BarcodeType.PAYMENT_NOTE:
                    Mediator.SendMessage(MsgTag.HideKeyboard, MsgTag.HideKeyboard);
                    Mediator.SendMessage(false, MsgTag.SetCreditNoteButton);
                    Mediator.SendMessage(paymentNoteNumber.Item2, MsgTag.LoadPaymentNote);
                    break;
                }
            }
        }
        private void OnChoiceExecute(TournamentVw tournamentVw)
        {
            WaitOverlayProvider.ShowWaitOverlay();

            if (tournamentVw.IsOutrightGroup)
            {
                if (tournamentVw.SvrId == -999)
                {
                    MyRegionManager.NavigateUsingViewModel <TournamentsViewModel>(RegionNames.ContentRegion, tournamentVw.SportId, tournamentVw.SportName, Categories.Where(a => a.SportName == tournamentVw.SportName).Select(a => a.SportImageSource).FirstOrDefault());
                }
                else
                {
                    MyRegionManager.NavigateUsingViewModel <TournamentsViewModel>(RegionNames.ContentRegion, tournamentVw.SportId, tournamentVw);
                }
            }
            else
            {
                MyRegionManager.NavigateUsingViewModel <MatchesViewModel>(RegionNames.ContentRegion, new HashSet <string>()
                {
                    tournamentVw.IsOutrightGroup?tournamentVw.Id.ToString() + "*1" : tournamentVw.Id.ToString() + "*0"
                });
                Mediator.SendMessage(true, MsgTag.ClearSelectedSports);
                //if (!tournamentVw.IsOutrightGroup)
                //    MyRegionManager.NavigateUsingViewModel<MatchesViewModel>(RegionNames.ContentRegion, new Dictionary<long, bool>() { { tournamentVw.Id, false } });
                //else
                //    MyRegionManager.NavigateUsingViewModel<MatchesViewModel>(RegionNames.ContentRegion, new Dictionary<long, bool>() { { tournamentVw.Id, tournamentVw.IsOutrightGroup } });
            }
        }
        private void OnChoiceExecute(TournamentVw tournamentVw)
        {
            WaitOverlayProvider.ShowWaitOverlay();

            if (tournamentVw.IsOutrightGroup)
            {
                MyRegionManager.NavigateUsingViewModel <TournamentsViewModel>(RegionNames.ContentRegion, SelectedCategoryId, tournamentVw);
            }
            else
            {
                if (SelectedTournament == null)
                {
                    MyRegionManager.NavigateUsingViewModel <MatchesViewModel>(RegionNames.ContentRegion, new HashSet <string>()
                    {
                        tournamentVw.Id.ToString() + "*0"
                    });
                }
                else
                {
                    MyRegionManager.NavigateUsingViewModel <MatchesViewModel>(RegionNames.ContentRegion, new HashSet <string>()
                    {
                        tournamentVw.ContainsOutrights?tournamentVw.Id.ToString() + "*1" : tournamentVw.Id.ToString() + "*0"
                    });
                }

                Mediator.SendMessage(true, MsgTag.ClearSelectedSports);
            }
        }
Beispiel #6
0
        public override void OnNavigationCompleted()
        {
            IsClosed = false;
            if (HidePleaseWait)
            {
                WaitOverlayProvider.DisposeAll();
                Log.DebugFormat("hide Please wait:{0}", this.ToString());
            }
            Log.DebugFormat("navigated:{0}", this.ToString());

            //Mediator.ApplyRegistration();
            IsReady = true;
            if (View != null)
            {
                View.Loaded -= View_Loaded;
            }
            if (ViewWindow != null)
            {
                _viewWindow.Loaded -= View_Loaded;
            }

            if (this.ViewWindow != null)
            {
                this.ViewWindow.Activated += ViewWindow_FocusableChanged;
            }
        }
Beispiel #7
0
        private void OnPrintTickets()
        {
            WaitOverlayProvider.ShowWaitOverlay(true);

            int amount = 0;

            int.TryParse(AmountNumber, out amount);

            if (amount > PrinterHandler.PrintedTicketsCount || amount > 20)
            {
                int maxAmount = PrinterHandler.PrintedTicketsCount > 20 ? 20 : PrinterHandler.PrintedTicketsCount;
                ShowError(TranslationProvider.Translate(MultistringTags.DUBLICATES_AMOUNT, maxAmount));
                return;
            }
            PrinterHandler.InitPrinter(true);
            if (StationRepository.PrinterStatus == 0)
            {
                ShowPrinterErrorMessage();
                return;
            }
            if (!PrinterHandler.PrintLastTickets(amount))
            {
                Log.Error("printing ticket duplicate failed", new Exception());
            }

            WaitOverlayProvider.DisposeAll();
        }
        public override void OnNavigationCompleted()
        {
            SetBrowserFeatureControl();
            IsClosed = false;
            if (HidePleaseWait)
            {
                WaitOverlayProvider.DisposeAll();
                Log.DebugFormat("hide Please wait:{0}", this.ToString());
            }
            Log.DebugFormat("navigated:{0}", this.ToString());

            //Mediator.ApplyRegistration();
            IsReady = true;
            if (View != null)
            {
                View.Loaded -= View_Loaded;
            }
            if (ViewWindow != null)
            {
                _viewWindow.Loaded -= View_Loaded;
            }



            if (this.ViewWindow != null)
            {
                this.ViewWindow.Activated += ViewWindow_FocusableChanged;
            }

            //Dispatcher.Invoke(() =>
            //{
            //    this.ViewWindow.Visibility = Visibility.Collapsed;
            //});
        }
 private void ScanPaymentOrCreditNote()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     MyRegionManager.ClearHistory(RegionNames.UsermanagementContentRegion);
     MyRegionManager.CloseAllViewsInRegion(RegionNames.UsermanagementContentRegion);
     MyRegionManager.NavigateUsingViewModel <PaymentViewModel>(RegionNames.UsermanagementContentRegion);
 }
 private void OnShowSearch()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     FoundUsers = new ObservableCollection <FoundUser>();
     ChangeTracker.SearchRequest = new List <criteria>();
     MyRegionManager.ClearHistory(RegionNames.UsermanagementContentRegion);
     MyRegionManager.NavigateUsingViewModel <SearchUsersViewModel>(RegionNames.UsermanagementContentRegion);
 }
Beispiel #11
0
 private void OnTickets()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     ChangeTracker.SelectedType       = null;
     ChangeTracker.SelectedTycketType = 0;
     ChangeTracker.TicketsStartPage   = 1;
     MyRegionManager.ClearHistory(RegionNames.UserProfileContentRegion);
     MyRegionManager.NavigateUsingViewModel <UserTicketsViewModel>(RegionNames.UserProfileContentRegion);
 }
        private void ShowEntertainment()
        {
            ChangeTracker.CurrentSeasonOrRace   = null;
            ChangeTracker.CurrentMatchOrRaceDay = null;
            ChangeTracker.VhcSelectedType       = null;
            ChangeTracker.SourceType            = null;
            WaitOverlayProvider.ShowWaitOverlay();
            Log.Debug("show entertaiment Please wait");



            MyRegionManager.ClearHistory(RegionNames.ContentRegion);
            MyRegionManager.NavigateUsingViewModel <EntertainmentViewModel>(RegionNames.ContentRegion);
        }
        private void OnShowTicket(TicketView ticketView)
        {
            WaitOverlayProvider.ShowWaitOverlay();
            try
            {
                CurrentTicket = WsdlRepository.LoadTicket(ticketView.Number, ticketView.CheckSum, StationRepository.StationNumber, SelectedLanguage, SelectedLanguage, true);

                MyRegionManager.NavigateUsingViewModel <TicketDetailsViewModel>(RegionNames.UserProfileContentRegion);
            }
            catch (System.ServiceModel.FaultException <HubServiceException> exception)
            {
                ShowError(exception.Detail.message);
            }
        }
        private void OnPrintDublicate()
        {
            WaitOverlayProvider.ShowWaitOverlay(true);
            PrinterHandler.InitPrinter(true);
            if (StationRepository.PrinterStatus == 0)
            {
                ShowPrinterErrorMessage("ticket");
                return;
            }
            if (!PrinterHandler.PrintLastObject(PrinterHandler.NotPrintedItemsCount))
            {
                Log.Error("printing ticket duplicate failed", new Exception());
            }

            WaitOverlayProvider.DisposeAll();
        }
        public UserTicketsViewModel()
        {
            WaitOverlayProvider.ShowWaitOverlay();
            HidePleaseWait    = false;
            ItemCreated       = new Command <UIElement>(OnRowItemCreated);
            GridCreated       = new Command <UIElement>(OnGridCreated);
            ShowTicketCommand = new Command <TicketView>(OnShowTicket);
            TicketTypeCommand = new Command <string>(OnTicketTypeCommand);

            PreviousPage     = new Command(OnPreviousPage);
            FirstPage        = new Command(OnFirstPage);
            NextPage         = new Command(OnNextPage);
            LastPage         = new Command(OnLastPage);
            TicketsStartPage = ChangeTracker.TicketsStartPage;

            ShowTickets(new[] { new UserTicket() });
        }
Beispiel #16
0
        public override void OnException(MethodExecutionArgs args)
        {
            WaitOverlayProvider.DisposeAll();
            haveError = true;
            bool bIsHandled     = false;
            var  lostConnection = new Tuple <string, string, bool, int>("LostInternetConnection", "", false, 0);

            if (args.Exception is System.ServiceModel.EndpointNotFoundException ||
                args.Exception.GetType().ToString().Contains("ParseError") ||
                args.Exception is System.ServiceModel.ServerTooBusyException ||
                args.Exception is System.ServiceModel.ProtocolException ||
                args.Exception is System.TimeoutException)
            {
                bIsHandled = true;
                Mediator.SendMessage(lostConnection, "Error");
            }
            else if (args.Exception is System.ServiceModel.FaultException)
            {
                var HubException = args.Exception as System.ServiceModel.FaultException <HubServiceException>;
                if (args.Exception.Message == "Station cannot be verified")
                {
                    var stationVerification = new Tuple <string, string>("StationVerificationFail", "");
                    Mediator.SendMessage(stationVerification, "Error");
                }
                else if (HubException != null)
                {
                    if (HubException.Detail.code == 121)
                    {
                        Mediator.SendMessage("SessionClosed", "SessionClosed");
                    }
                    else if (HubException.Detail.code == 119)
                    {
                        Mediator.SendMessage("UserBlocked", "UserBlocked");
                    }
                }
                else
                {
                    Mediator.SendMessage(lostConnection, "Error");
                }
            }

            Log.Error(args.Exception.Message, args.Exception);

            args.FlowBehavior = FlowBehavior.Continue;
        }
        private void OpenAccountingCategory()
        {
            WaitOverlayProvider.ShowWaitOverlay();
            MyRegionManager.ClearHistory(RegionNames.UsermanagementContentRegion);
            MyRegionManager.CloseAllViewsInRegion(RegionNames.UsermanagementContentRegion);


            if (OperatorShiftButtonActive)
            {
                onShowOperatorShiftReportCommand();
            }
            else if (ChangeTracker.CurrentUser.ViewCashHistory)
            {
                //MyRegionManager.NavigateUsingViewModel<CashHistoryViewModel>(RegionNames.UsermanagementContentRegion);
                OnShowCashHistoryCommand();
            }
            else if (ChangeTracker.CurrentUser.ViewEmptyBox)
            {
                //if (!ChangeTracker.AdministratorWindowLoading)
                //    OnCloseBalance();
                //OpenCashOperations();
                OpenEmptyView();
            }
            else if (OperatorShiftReportButtonActive)
            {
                //onShowOperatorShiftReportCommand();
                MyRegionManager.NavigateUsingViewModel <OperatorShiftReportsViewModel>(RegionNames.UsermanagementContentRegion);
            }
            else if (ChangeTracker.CurrentUser.ProfitShareCheckpointRead)
            {
                OpenProfitAccounting();
            }
            else if (ChangeTracker.CurrentUser.ShopPaymentsRead)
            {
                OpenShopPayments();
            }
            else if (ChangeTracker.CurrentUser.CashStatistic)
            {
                OpenCashOperations();
            }
            else if (EnabledShopPayments)
            {
                OpenTerminalAccounting();
            }
        }
Beispiel #18
0
        public EntertainmentViewModel()
        {
            HidePleaseWait = false;
            WaitOverlayProvider.ShowWaitOverlay();

            ShowVFLCommand = new Command(ShowVFLButtonPress);
            ShowVHCCommand = new Command(ShowVHC);

            if (!StationRepository.AllowVfl)
            {
                SelectedVirtual = Virtuals.VHC;
            }
            else
            {
                SelectedVirtual = Virtuals.VFL;
            }

            //SetWebAddress();
        }
Beispiel #19
0
        //private static readonly ILog Log = LogManager.GetLogger(typeof(App));
        /// <summary>
        /// Raises the <see cref="E:System.Windows.Application.Startup"/> event.
        /// </summary>
        /// <param name="e">A <see cref="T:System.Windows.StartupEventArgs"/> that contains the event data.</param>
        protected override void OnStartup(StartupEventArgs e)
        {
            int id = 0;

            Int32.TryParse(e.Args.FirstOrDefault(), out id);
            //var id = Convert.ToInt32(e.Args.FirstOrDefault());

            Log.Debug("start terminalwindow");

            // Check how many total processes have the same name as the current one
            if (!IsSingleInstance())
            {
                Environment.Exit(1);
            }

            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

            ControlAero(false);


            IoCContainer.Kernel = new StandardKernel();
            IoCContainer.Kernel.Bind <IRepository>().To <Repository>().InSingletonScope();
            IoCContainer.Kernel.Bind <IMessageStorage>().To <MessageStorage>().InSingletonScope();
            IoCContainer.Kernel.Bind <IStationRepository>().To <StationRepository>().InSingletonScope();
            IoCContainer.Kernel.Bind <ILineProvider>().To <OldLineProvider>().InSingletonScope();
            //IoCContainer.Kernel.Bind<IWsdlRepository>().To<WcfService.WsdlRepository>().InSingletonScope();
            IoCContainer.Kernel.Bind <IChangeTracker>().To <ChangeTracker>().InSingletonScope();
            IoCContainer.Kernel.Bind <ILanguageRepository>().To <LanguageRepository>().InSingletonScope();
            IoCContainer.Kernel.Bind <IMediator>().To <MyMessageMediator>().InSingletonScope();
            IoCContainer.Kernel.Bind <IDatabaseManager>().To <DbManager>().InSingletonScope();
            IoCContainer.Kernel.Bind <IWaitOverlayProvider>().To <WaitOverlayProvider>().InSingletonScope();
            IoCContainer.Kernel.Bind <ISelectDate>().To <DateHelper>().InSingletonScope();
            IoCContainer.Kernel.Bind <IErrorWindowService>().To <ErrorWindowService>().InSingletonScope();
            IoCContainer.Kernel.Bind <IQuestionWindowService>().To <QuestionWindowService>().InSingletonScope();
            IoCContainer.Kernel.Bind <ITicketHandler>().To <TicketHandler>().InSingletonScope();
            IoCContainer.Kernel.Bind <ITicketActions>().To <TicketActions>().InSingletonScope();
            IoCContainer.Kernel.Bind <IPrinterHandler>().To <PrinterHandler>().InSingletonScope();
            IoCContainer.Kernel.Bind <IMyRegionManager>().To <MyRegionManager>().InSingletonScope();
            IoCContainer.Kernel.Bind <IBusinessPropsHelper>().To <BusinessPropsHelper>().InSingletonScope();
            IoCContainer.Kernel.Bind <IDataBinding>().To <DataBinding>().InSingletonScope();
            IoCContainer.Kernel.Bind <IEnterPinWindowService>().To <EnterPinWindowService>().InSingletonScope();
            IoCContainer.Kernel.Bind <ILiveStreamService>().To <LiveStreamService>().InSingletonScope();
            IoCContainer.Kernel.Bind <ILineSr>().To <SharedLineSr>().InSingletonScope();
            IoCContainer.Kernel.Bind <IConfidenceFactor>().To <ConfidenceFactor>().InSingletonScope();
            IoCContainer.Kernel.Bind <ITransactionQueueHelper>().To <TransactionQueueHelper>().InSingletonScope();
            IoCContainer.Kernel.Bind <ITicketSaveHandler>().To <TicketSaveHandler>().InSingletonScope();
            IoCContainer.Kernel.Bind <INDEServer>().ToConstant(new NDEServer("terminal")).InSingletonScope();
            IoCContainer.Kernel.Bind <IProcessExecutor>().To <ProcessExecutor>().InSingletonScope();
            IoCContainer.Kernel.Bind <IStationSettings>().To <StationSettings>().InSingletonScope();
            if (e.Args.Contains("testmode"))
            {
                StationRepository.IsTestMode = true;
                IoCContainer.Kernel.Bind <IWsdlRepository>().To <WcfService.TestWsdlRepository>().InSingletonScope();
                IoCContainer.Kernel.Bind <ITranslationProvider>().To <TestDBTranslationProvider>().InSingletonScope();
                DbManager.Instance.DropDatabase(true);
            }
            else
            {
                IoCContainer.Kernel.Bind <IWsdlRepository>().To <WcfService.WsdlRepository>().InSingletonScope();
                IoCContainer.Kernel.Bind <ITranslationProvider>().To <DBTranslationProvider>().InSingletonScope();
            }

            if (!Debugger.IsAttached)
            {
                Process proc2 = new Process(); // clear internet explorer cache
                proc2.StartInfo.FileName    = "RunDll32.exe";
                proc2.StartInfo.Arguments   = "InetCpl.cpl,ClearMyTracksByProcess 255";
                proc2.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                proc2.Start();
            }
            //StyleHelper.CreateStyleForwardersForDefaultStyles();
            var mainScreen = Screen.AllScreens.First(s => s.Primary);

            if (mainScreen.WorkingArea.Width < 1920)
            {
                ChangeTracker.Screen2WindowScale = (double)mainScreen.WorkingArea.Width / 1920.0d / 1.08d;
            }

            _startWindow         = new StartWindow();
            _startWindow.Topmost = !Debugger.IsAttached;
            _startWindow.Show();

            if (StationRepository.StationNumber != "0000" && StationRepository.LayoutName == null)
            {
                StationRepository.Refresh();
            }
            var LayoutName = MyRegionManager.DefaultLayout;

            if (!string.IsNullOrEmpty(StationRepository.LayoutName))
            {
                LayoutName = StationRepository.LayoutName;
            }

            // TODO: Using a custom IoC container like Unity? Register it here:
            // Catel.IoC.ServiceLocator.Default.RegisterExternalContainer(MyUnityContainer);
            var foo = new Uri("pack://application:,,,/" + LayoutName + ";component/Resources/CommonStyles.xaml", UriKind.Absolute);

            Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary()
            {
                Source = foo
            });
            var foo2 = new Uri("pack://application:,,,/" + LayoutName + ";component/Resources/DataTemplates.xaml", UriKind.Absolute);

            Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary()
            {
                Source = foo2
            });
            var foo3 = new Uri("pack://application:,,,/" + LayoutName + ";component/Resources/LiveDataTemplates.xaml", UriKind.Absolute);

            Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary()
            {
                Source = foo3
            });


            try
            {
                ResolveImagePath resolveImagePath = new ResolveImagePath();
                var images = Directory.GetFiles(WorkingDirectory + ImageRelativePath + LayoutName, "*.png");
                foreach (var image in images)
                {
                    resolveImagePath.Path = Path.GetFileName(image);
                    resolveImagePath.ProvideValue(null);
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
            }



            if (id != 0)
            {
                Process[] processlist = Process.GetProcesses();
                foreach (Process theprocess in processlist)
                {
                    if (theprocess.Id == id)
                    {
                        theprocess.Kill();
                        break;
                    }
                }
            }
            base.OnStartup(e);

            _startWindow.SetMessage("Initializing...");
            Log.Debug("start window show");


            // AppDomain.CurrentDomain.UnhandledException += AppDomainUnhandledException;

            try
            {
                Log.Debug("IOC kernel start");



                var dispatcher = new MyDispatcher(Dispatcher.CurrentDispatcher);

                IoCContainer.Kernel.Bind <IDispatcher>().ToConstant <IDispatcher>(dispatcher).InSingletonScope();

                if (GetRestartErrorsNumber() >= _iErrorFileMaximumEntries)
                {
                    Thread.Sleep(2000);
                    var f = new FatalCrashWindow();
                    f.ShowDialog();
                }

                //STARTING IN TEST MODE

                Log.Debug("IOC kernel end");

                //if (!System.Diagnostics.Debugger.IsAttached)
                //{
                //    SetTimeZone(0, false);
                //}
                //SetTimeZone(0, false);


                //_startWindow.SetMessage("Clearing Database...");
                Log.Debug("clear updater files");


                // check if we still have to finish Update
                if (File.Exists(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater1.exe"))
                {
                    try
                    {
                        File.Delete(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater.exe");
                        File.Move(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater1.exe", Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater.exe");
                        File.Delete(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater.pdb");
                        File.Move(Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater1.pdb", Directory.GetCurrentDirectory().ToString() + "\\SportBetting.Updater.pdb");
                    }
                    catch (Exception)
                    {
                        //
                    }
                }

                //if (Convert.ToBoolean(ConfigurationManager.AppSettings["DoAutoUpdate"]))
                //{
                string  sVersion = string.Empty;
                Updater up       = new Updater();
                up.IsError = false;
                Log.Debug("updater start");
                string sProcessName  = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
                string sAssemblyName = "SportBetting.WPF.Prism.exe";

                if (!Debugger.IsAttached && up.DoBinariesUpdate(out sVersion, ref _autoEvent, ref _startWindow) == 1)
                //if (up.DoBinariesUpdate(out sVersion, ref _autoEvent, ref _startWindow) == 1)
                {
                    _startWindow.SetMessage("Clearing Database...");
                    Log.Debug("clear db start");

                    Log.Debug("clear db end");

                    if (_autoEvent.WaitOne(420000)) //wait download complete for 60 seconds
                    {
                        if (!up.IsError)
                        {
                            // continue if there're no errors during directories copy and extraction zip file

                            // start updater
                            Process proc = new Process();
                            proc.StartInfo.FileName    = Directory.GetCurrentDirectory() + "\\SportBetting.Updater.exe";
                            proc.StartInfo.Arguments   = " " + sProcessName + "|" + sAssemblyName + "|" + sVersion;
                            proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                            proc.Start();

                            Environment.Exit(0);
                        }
                        else
                        {
                            // log error while copy / extract
                            _startWindow.SetMessage("Error while copy / extract files");
                        }
                    }
                    else
                    {
                        // log timeout issue
                        // update wasn't downloaded.
                        _startWindow.SetMessage("Update downloading timed out. Will try next time.");
                    }
                }
                //}

                _startWindow.SetMessage("Starting Station. Please wait...");
                Log.Debug("init db end");
                //DbManager.Instance.DeleteOldObjects();
                if (!InitDatabase())
                {
                    return;
                }
                Log.Debug("show wait window");

                IoCContainer.Kernel.Get <IStationRepository>().LastPrintedObjects = string.Empty;

                var myRegionManager = IoCContainer.Kernel.Get <IMyRegionManager>();

                var waitOverlay = new WaitOverlayProvider();
                waitOverlay.ShowWaitOverlay();

                //var mainScreen = Screen.AllScreens.First(s => s.Primary);

                Log.Debug("checking mode. Monitor width = " + mainScreen.WorkingArea.Width.ToString());

                if ((ConfigurationManager.AppSettings["Is34Mode"] ?? string.Empty).Trim().ToLowerInvariant() == "true")
                {
                    ChangeTracker.Is34Mode = true;
                }
                else if ((ConfigurationManager.AppSettings["Is34Mode"] ?? string.Empty).Trim().ToLowerInvariant() == "false")
                {
                    ChangeTracker.Is34Mode = false;
                }
                else
                {
                    Log.Debug("checking mode. Is34Mode not found in config");
                    if (mainScreen.WorkingArea.Width == 1280 && mainScreen.WorkingArea.Width > mainScreen.WorkingArea.Height)
                    {
                        ChangeTracker.Is34Mode = true;
                    }
                    else
                    {
                        ChangeTracker.Is34Mode = false;
                    }
                }

                if (!ChangeTracker.Is34Mode)
                {
                    if ((ConfigurationManager.AppSettings["landscape_mode"] ?? string.Empty).Trim().ToLowerInvariant() == "true")
                    {
                        ChangeTracker.IsLandscapeMode = true;
                    }
                    else if ((ConfigurationManager.AppSettings["landscape_mode"] ?? string.Empty).Trim().ToLowerInvariant() == "false")
                    {
                        ChangeTracker.IsLandscapeMode = false;
                    }
                    else
                    {
                        Log.Debug("checking mode. landscape_mode not found in config");

                        if (mainScreen.WorkingArea.Width > mainScreen.WorkingArea.Height)
                        {
                            ChangeTracker.IsLandscapeMode = true;
                        }
                    }
                }

                Log.Debug("init main window");

                var mainWindowView = myRegionManager.FindWindowByViewModel <MainViewModel>();
                ChangeTracker.MainWindow = mainWindowView;
                MaximizeWindow(ChangeTracker.MainWindow, mainScreen);

                //if (!bool.Parse(ConfigurationManager.AppSettings["fullscreen"]))
                SetWindowSettings(ChangeTracker.MainWindow);

                Current.MainWindow        = ChangeTracker.MainWindow;
                Current.ShutdownMode      = ShutdownMode.OnMainWindowClose;
                ViewObjectBase.Dispatcher = Current.MainWindow.Dispatcher;
                Log.Debug("close start window");
                _startWindow.Close();
                Current.MainWindow.Show();
                Log.Debug("show main window");

                // close starter window
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        }
Beispiel #20
0
 private void OnShowProfile()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     PleaseWaitOnShowProfile();
 }
        private void OnHistory()
        {
            WaitOverlayProvider.ShowWaitOverlay();

            MyRegionManager.NavigateUsingViewModel <UserHistoryViewModel>(RegionNames.UsermanagementContentRegion);
        }
Beispiel #22
0
 private void OnShowDepositMoney()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     MyRegionManager.ClearHistory(RegionNames.UserProfileContentRegion);
     MyRegionManager.NavigateUsingViewModel <DepositMoneyViewModel>(RegionNames.UserProfileContentRegion);
 }
Beispiel #23
0
 private void OnChangePassword()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     MyRegionManager.ClearHistory(RegionNames.UserProfileContentRegion);
     MyRegionManager.NavigateUsingViewModel <ChangePasswordViewModel>(RegionNames.UserProfileContentRegion);
 }
Beispiel #24
0
 private void OnBalance()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     PleaseWaitOnBalance();
 }
Beispiel #25
0
        private void ProduceSettlement(object sender, EventArgs e)
        {
            if (SelectedOperator == null)
            {
                return;
            }

            //produce settlement and reload page
            PrinterHandler.InitPrinter(true);
            if (StationRepository.PrinterStatus == 0)
            {
                ShowPrinterErrorMessage();
                return;
            }

            int      operatorID   = SelectedOperator.id; //should be selected operator ID
            string   opName       = "";
            string   opLName      = "";
            string   frName       = "";
            string   locName      = "";
            string   locOwnerName = "";
            DateTime stDate;
            DateTime enDate;

            CheckpointSlip[]       cpArray;
            TotalSettlementSection totSection = new TotalSettlementSection();

            ProduceOperatorSettlementResponse opSett = new ProduceOperatorSettlementResponse();

            try
            {
                WsdlRepository.ProduceOperatorSettlement(ref operatorID, (int)ChangeTracker.CurrentUser.AccountId, out opName, out opLName, out frName, out locName, out locOwnerName, out stDate, out enDate, out cpArray, out totSection);
                opSett.checkpoints               = cpArray;
                opSett.currentDate               = DateTime.Now;
                opSett.franchisorName            = frName;
                opSett.locationName              = locName;
                opSett.operatorFirstName         = opName;
                opSett.operatorLastName          = opLName;
                opSett.settlementPeriodEndDate   = enDate;
                opSett.settlementPeriodStartDate = stDate;
                opSett.total             = totSection;
                opSett.operatorId        = operatorID;
                opSett.LocationOwnerName = locOwnerName;
            }
            catch (System.ServiceModel.FaultException <HubServiceException> ex)
            {
                System.ServiceModel.FaultException <HubServiceException> exep = (System.ServiceModel.FaultException <HubServiceException>)ex;
                ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_SETTLEMENT_NO_SHIFTS).ToString(), onLoadData, false);
                return;
            }
            WaitOverlayProvider.ShowWaitOverlay();

            //print
            if (opSett.checkpoints != null)
            {
                bool isPrinted = PrinterHandler.PrintOperatorSettlementResponce(opSett);
                if (!isPrinted)
                {
                    ShowPrinterErrorMessage();
                }

                isPrinted = PrinterHandler.PrintOperatorSettlementResponce(opSett);
                if (!isPrinted)
                {
                    ShowPrinterErrorMessage();
                }
            }
            onLoadData(null, null);
        }
 protected void OnOpenUserProfile(FoundUser foundUser)
 {
     WaitOverlayProvider.ShowWaitOverlay();
     EditUserId = foundUser;
     MyRegionManager.NavigateUsingViewModel <FoundUserProfileViewModel>(RegionNames.UsermanagementContentRegion);
 }
 private void OpenRegistrationWindow()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     PleaseWaitOpenRegistrationWindow();
 }
        private void DoLogin()
        {
            Validate(true);
            try
            {
                int sucess = PleaseWaitLogin();

                if (sucess == 1)
                {
                    HideWindow();
                    if (ChangeTracker.CurrentUser is OperatorUser)
                    {
                        WaitOverlayProvider.ShowWaitOverlay();

                        ChangeTracker.SelectedLive          = false;
                        ChangeTracker.SelectedResults       = false;
                        ChangeTracker.SelectedTicket        = false;
                        ChangeTracker.SelectedSports        = false;
                        ChangeTracker.SelectedVirtualSports = false;
                        MyRegionManager.NavigateUsingViewModel <UserManagementViewModel>(RegionNames.ContentRegion);
                    }
                    else if (ChangeTracker.CurrentUser is LoggedInUser)
                    {
                        WaitOverlayProvider.DisposeAll();

                        //check terms and conditions
                        profileForm form = WsdlRepository.LoadProfile(StationRepository.GetUid(ChangeTracker.CurrentUser));
                        if (form != null)
                        {
                            foreach (formField accountingField in form.fields)
                            {
                                if (accountingField.name == "terms_and_cond_version")
                                {
                                    string value = "";
                                    if (accountingField.value == null)
                                    {
                                        value = "1.0";
                                    }
                                    else
                                    {
                                        value = accountingField.value;
                                    }

                                    if (value != ChangeTracker.TermsAndConditionsVersion)
                                    {
                                        ChangeTracker.NewTermsAccepted = false;
                                        Mediator.SendMessage <bool>(false, MsgTag.AcceptNewTermsVersion);
                                    }
                                    break;
                                }
                            }
                        }
                    }
                    else
                    {
                        WaitOverlayProvider.DisposeAll();
                    }
                }
                else if (sucess == 0)
                {
                    ShowError(TranslationProvider.Translate(MultistringTags.SERVER_ERROR) as string);
                }
                else if (sucess == 2) //passwordreminder
                {
                    QuestionWindowService.ShowMessage(TranslationProvider.Translate(MultistringTags.TERMINAL_PASSWORD_NOT_CHANGED).ToString(), null, null, DoChangePassword, CancelPasswordChange);
                }
                else if (sucess == 3) // forced reminder
                {
                    QuestionWindowService.ShowMessage(TranslationProvider.Translate(MultistringTags.TERMINAL_PASSWORD_NOT_CHANGED).ToString(), null, null, DoChangePasswordForced, CancelForcedPassChange);
                }
            }
            catch (FaultException <HubServiceException> exception)
            {
                WaitOverlayProvider.DisposeAll();
                switch (exception.Detail.code)
                {
                case 111:
                    OnPropertyChanged("PasswordMasked");
                    DoRaisePropertyChanged(new Tuple <string, string>("UserName", TranslationProvider.Translate(MultistringTags.SHOP_FORM_CHECK_USERNAME).ToString()));
                    UsernameLoginError = false;
                    break;

                case 112:
                    DoRaisePropertyChanged(new Tuple <string, string>("PasswordMasked", TranslationProvider.Translate(MultistringTags.INVALID_PASSWORD).ToString()));
                    PasswordLoginError = false;
                    break;

                case 113:
                    ShowError(TranslationProvider.Translate(MultistringTags.LOGIN_FRANCHISOR_INCORRECT).ToString());
                    PasswordLoginError = false;
                    break;

                case 114:
                    DoRaisePropertyChanged(new Tuple <string, string>("UserName", TranslationProvider.Translate(MultistringTags.USER_IS_NOT_VERIFIED).ToString()));
                    PasswordLoginError = false;
                    break;

                case 115:
                    ShowError(TranslationProvider.Translate(MultistringTags.CANNOT_LOGIN_TO_THIS_STATION).ToString());
                    PasswordLoginError = false;
                    break;

                case 116:
                    ShowError(TranslationProvider.Translate(MultistringTags.LOGIN_RESTRICTED).ToString());
                    PasswordLoginError = false;
                    break;

                case 117:
                    ShowError(TranslationProvider.Translate(MultistringTags.USER_INACTIVE).ToString());
                    PasswordLoginError = false;
                    break;

                case 118:
                    ShowError(TranslationProvider.Translate(MultistringTags.INVALIDLOCATION).ToString());
                    PasswordLoginError = false;
                    break;

                case 172:
                    PasswordLoginError = false;

                    string sTime     = "";
                    string sUsername = "";
                    if (exception.Detail.parameters != null)
                    {
                        //if (exception.Detail.parameters[2].name == "blockedUntil")
                        //{
                        //    sTime = exception.Detail.parameters[2].value;
                        //    long milliSeconds = Int64.Parse(sTime);
                        //    DateTime UTCBaseTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                        //    DateTime dt = UTCBaseTime.Add(new TimeSpan(milliSeconds * TimeSpan.TicksPerMillisecond)).ToLocalTime();
                        //    dt = LocalDateTime.Get(dt);
                        //    sTime = dt.ToString("dd.MM.yyyy HH:mm");
                        //    sUsername = exception.Detail.parameters[1].value;
                        //}
                        //else
                        //{
                        //    sTime = exception.Detail.parameters[1].value;
                        //    sUsername = exception.Detail.parameters[1].value;
                        //}

                        for (int i = 0; i < exception.Detail.parameters.Length; i++)
                        {
                            if (exception.Detail.parameters[i].name == "blockedUntil")
                            {
                                sTime = exception.Detail.parameters[i].value;
                                long     milliSeconds = Int64.Parse(sTime);
                                DateTime UTCBaseTime  = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                                DateTime dt           = UTCBaseTime.Add(new TimeSpan(milliSeconds * TimeSpan.TicksPerMillisecond)).ToLocalTime();
                                sTime = dt.ToString("dd.MM.yyyy HH:mm");
                            }

                            if (exception.Detail.parameters[i].name == "username")
                            {
                                sUsername = exception.Detail.parameters[i].value;
                            }
                        }
                    }
                    ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_USERNAME_BLOCKED, sUsername, sTime));

                    break;

                case 124:
                    ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_ADMIN_LOGIN_PROHIBITED).ToString());
                    PasswordLoginError = false;
                    break;

                default:     // 113, 114
                    ShowError(exception.Detail.message);
                    break;
                }
            }
        }
 private void CancelPasswordChange(object sender, EventArgs e)
 {
     HideWindow();
     WaitOverlayProvider.DisposeAll();
 }
 private int PleaseWaitLogin()
 {
     WaitOverlayProvider.ShowWaitOverlay();
     return(DoLogin(UserName.Value, Password.Value));
 }