Exemple #1
0
        protected override void OnStartup(StartupEventArgs e)
        {
            //RenderOptions.ProcessRenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;

            this.DispatcherUnhandledException      += new DispatcherUnhandledExceptionEventHandler(OnDispatcherUnhandledException);
            SingleInstance.SingleInstanceActivated += new EventHandler <SingleInstanceEventArgs>(OnSingleInstanceActivated);

            // Pending Navigations
            this.pendingNavigations = new List <string>();

            // Authentication Observer
            this.authenticationObserver = new ChannelObserver <AuthenticationInfo>((l) => OnAuthenticationAction(l));

            // Subscribe on background thread
            this.authenticationObserver.Subscribe(ThreadOption.BackgroundThread);

            base.OnStartup(e);

            if (this.args != null && this.args.Length > 0)
            {
                if (this.isLoggedIn)
                {
                    ServiceLocator.GetService <INavigationService>().Navigate(e.Args[0]);
                }
                else
                {
                    this.pendingNavigations.Add(e.Args[0]);
                }
            }

            RenderTier renderTier = this.GetRenderTier();
        }
        private void InitializeObservers()
        {
            Logger.Debug("Inicializando observers de nroute");

            // Authentication Observer
            this.authenticationObserver = new ChannelObserver <AuthenticationInfo>(
                (l) => OnAuthenticationAction(l));

            // Subscribe on the UI Thread
            this.authenticationObserver.Subscribe(ThreadOption.BackgroundThread);

            // Active desktop changed observer
            this.activeDesktopObserver = new ChannelObserver <ActiveDesktopChangedInfo>(
                (l) => OnActiveDesktopChanged(l));

            // Subscribe on the UI Thread
            this.activeDesktopObserver.Subscribe(ThreadOption.UIThread);

            // Navigation observers

            // Navigated observer
            this.navigatedObserver = new ChannelObserver <NavigatedInfo>(
                (l) => OnNavigated(l));

            this.navigatedObserver.Subscribe(ThreadOption.BackgroundThread);
        }
        protected void Subscribe <T>(Action <T> payloadHandler, ThreadOption threadOption)
            where T : class
        {
            ChannelObserver <T> observer = new ChannelObserver <T>((l) => payloadHandler(l));

            observer.Subscribe(threadOption);

            this.observers.Add(observer);
        }
        static Resource()
        {
            _resourcesCatalogs = new Dictionary <Type, Resource>();
            _resourceAdapters  = new List <KeyValuePair <Func <Type, bool>, Func <Type, ILocatorAdapter> > >();
            _pendingMappings   = new List <PendingMapping>();
            _assemblyObserver  = new ChannelObserver <MappedAssemblyInfo>(OnAssemblyMapped);

            // and register built-in adapters
            KnownAdapters.RegisterAdapters();
        }
Exemple #5
0
        public static IAsyncEnumerator <object> FromObservable <T>(IObservable <T> observable, CancellationToken cancellationToken)
        {
            // TODO: Allow bounding and optimizations?
            var channel         = Channel.CreateUnbounded <object>();
            var observer        = new ObserverState();
            var channelObserver = new ChannelObserver <T>(channel.Writer);

            observer.Subscription      = observable.Subscribe(channelObserver);
            observer.TokenRegistration = cancellationToken.Register(obs => ((ChannelObserver <T>)obs).OnCompleted(), channelObserver);

            // Make sure the subscription and token registration is disposed when enumeration is completed.
            return(new AsyncEnumerator <object>(channel.Reader, cancellationToken, observer));
        }
Exemple #6
0
        private void InitializeObservers()
        {
            Logger.Debug("Starting nRoute observers");

            // Authentication Observer
            this.authenticationObserver = new ChannelObserver<AuthenticationInfo>(
                (l) => OnAuthenticationAction(l));

            // Subscribe on the UI Thread
            this.authenticationObserver.Subscribe(ThreadOption.BackgroundThread);

            // Active desktop changed observer
            this.activeDesktopObserver = new ChannelObserver<ActiveDesktopChangedInfo>(
                (l) => OnActiveDesktopChanged(l));

            // Subscribe on the UI Thread
            this.activeDesktopObserver.Subscribe(ThreadOption.UIThread);

            // Navigation observers

            // Navigated observer
            this.navigatedObserver = new ChannelObserver<NavigatedInfo>(
                (l) => OnNavigated(l));

            this.navigatedObserver.Subscribe(ThreadOption.BackgroundThread);
        }
Exemple #7
0
        protected override void OnStartup(StartupEventArgs e)
        {
            //FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.Name)));

            System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("pt-PT");
            System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-PT");

            //Checks if the temp folder exists. It creates a new one if it doesn't and deletes all temporary files if don't.
            if (System.IO.Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\Temp") == false)
            { System.IO.Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + @"\Temp"); }
            else
            {
                try
                {
                    foreach (string strFile in System.IO.Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + @"\Temp"))
                    { System.IO.File.Delete(strFile); }
                }
                catch { }

                //Tries to delete all temporary directories.
                foreach (string strDirToDelete in System.IO.Directory.GetDirectories(System.AppDomain.CurrentDomain.BaseDirectory + @"\Temp\"))
                {
                    try
                    { System.IO.Directory.Delete(strDirToDelete, true); }
                    catch { }
                }
            }

            //Checks if the log folder exists. It creates a new one if it doesn't and deletes all log files older than one month, if exists.
            if (System.IO.Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + @"\Logs") == false)
            { System.IO.Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + @"\Logs"); }
            else
            {
                try
                {
                    System.IO.Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + @"\Logs")
                     .Select(f => new FileInfo(f))
                     .Where(f => f.LastAccessTime < DateTime.Now.AddMonths(-1))
                     .ToList()
                     .ForEach(f => f.Delete());
                }
                catch { }
            }

            //RenderOptions.ProcessRenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;

            this.DispatcherUnhandledException       += new DispatcherUnhandledExceptionEventHandler(OnDispatcherUnhandledException);
            SingleInstance.SingleInstanceActivated  += new EventHandler<SingleInstanceEventArgs>(OnSingleInstanceActivated);

            // Pending Navigations
            this.pendingNavigations = new List<string>();

            // Authentication Observer
            this.authenticationObserver = new ChannelObserver<AuthenticationInfo>((l) => OnAuthenticationAction(l));

            // Subscribe on background thread
            this.authenticationObserver.Subscribe(ThreadOption.BackgroundThread);

            base.OnStartup(e);

            ServiceLocator.GetService<Chronos.Security.Users.ICurrentUserService>().UserID = "";
            ServiceLocator.GetService<Chronos.Security.Users.ICurrentUserService>().CompanyID = "";

            if (this.args != null && this.args.Length > 0)
            {
                if (this.isLoggedIn)
                {
                    ServiceLocator.GetService<INavigationService>().Navigate(e.Args[0]);
                }
                else
                {
                    this.pendingNavigations.Add(e.Args[0]);
                }
            }

            RenderTier renderTier = this.GetRenderTier();
        }