public TestContext(bool isSave)
            {
                if (Thread.CurrentThread.Name == null)
                {
                    Thread.CurrentThread.Name = "UNIT TEST";
                }

                this.isSave = isSave;
                var factory = new FakeNodeServiceFactory();

                ConnectionService         = services.Add(factory.CreateConnectionService());
                DatabaseService           = services.Add(factory.CreateDatabaseService());
                LiveService               = services.Add(factory.CreateLiveService());
                LedgerService             = services.Add(factory.CreateLedgerService());
                DataTransformationService = services.Add(factory.CreateDataTransformationService());

                if (this.isSave)
                {
                    WipeDatabase();
                }

                DatabaseService.IsSave = isSave;
                services.Initialize();
                services.Start();

                dummyLedgerCreator = new DummyLedgerCreator(LedgerService, LiveService);
            }
        private void FinishConstruction()
        {
            _packetReader = new BinaryReader(_packetStream);

            Services = new ServiceManager(this);

            Services.Add<PacketEventService>();
            Services.Add<InternalPacketManagerService>();
        }
        public BlockchainExplorer(ServiceManager services, IExplorerServiceFactory factory = null)
        {
            if (factory == null)
            {
                factory = new RealExplorerServiceFactory();
            }

            ExplorerConnectionService         = services.Add(factory.CreateExplorerConnectionService());
            ExplorerDatabaseService           = services.Add(factory.CreateExplorerDatabaseService());
            ExplorerDataTransformationService = services.Add(factory.CreateExplorerDataTransformationService());
            OrderBookService = services.Add(factory.CreateOrderBookService());
        }
Exemple #4
0
            void timer_Tick(object sender, EventArgs e)
            {
                timer.Stop();
                timer.Tick -= timer_Tick;

                AutoResetEvent waitHandle = new AutoResetEvent(false);

                ServiceManager.Add <System.Threading.EventWaitHandle>(waitHandle);

                AuthenticateService authenticateService = new ProWriteAuthenticateService();
                var hasAuth = authenticateService.Authenticate();

                if (hasAuth)
                {
                    HasAuthenticated = true;
                }
                else
                {
                    using (var loginForm = StartHelper.CreateLoginForm())
                    {
                        loginForm.AuthenticateService = authenticateService;

                        loginForm.ShowDialog(this);
                        HasAuthenticated = authenticateService.HasAuthenticated;
                    }
                }

                waitHandle.WaitOne();

                ServiceManager.Remove <System.Threading.EventWaitHandle>();
                waitHandle.Close();

                Hide();
                Close();
            }
Exemple #5
0
            public SplashForm()
            {
                BackColor = Color.Gainsboro;
                ForeColor = Color.Bisque;

                AutoScaleDimensions = new SizeF(6F, 13F);
                AutoScaleMode       = AutoScaleMode.Font;
                MaximizeBox         = false;
                MinimizeBox         = false;
                Name = "SplashForm";


                FormBorderStyle = FormBorderStyle.None;
                StartPosition   = FormStartPosition.CenterScreen;
                ShowInTaskbar   = false;
                TransparencyKey = Color.Gainsboro;
                TopMost         = true;


                timer.Interval = 5;
                timer.Tick    += new EventHandler(timer_Tick);
                ServiceManager.Add <System.Windows.Forms.Timer>(timer);

                this.InvokeMethod(() =>
                {
                    Image img       = Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ProWrite.UI.Controls.Splash.png"));
                    BackgroundImage = img;
                    ClientSize      = new Size(img.Size.Width + 1, img.Height);
                });
            }
        protected static void LoadStringListFromFile <TStringList>(string fileName) where TStringList : StringList, new()
        {
            var result = new TStringList();

            try
            {
                using (var sr = new StreamReader(fileName))
                {
                    bool   b    = true;
                    string item = "";
                    while (b)
                    {
                        item = sr.ReadLine();
                        if (item != null)
                        {
                            result.Add(item);
                        }
                        else
                        {
                            b = false;
                        }
                    }
                }
                ServiceManager.Add <TStringList>(result);
            }
            catch { }
        }
Exemple #7
0
        public static ProjectProfile Parse()
        {
            ProjectProfile profile = new ProjectProfile();

            profile.DefaultModule = ModuleNames.Dashboard;
            ServiceManager.Add <ProjectProfile>(profile);
            return(profile);
            //string profile = ConfigurationManager.AppSettings["ProjectProfile"];
            //if (string.IsNullOrEmpty(profile))
            //{
            //    throw new Exception("ProjectProfile.xml does not exists!");
            //}
            //else
            //    profile = Constance.AppPath + profile;
            //string xml = null;
            //try
            //{
            //    xml = File.ReadAllText(profile);
            //    var o = XmlValidationHelper.DeserializeXml<ProjectProfile>(xml, "ProWrite.UI.Controls.ProjectProfile.xsd", ProjectProfile.Namespace);
            //    ServiceManager.Add<ProjectProfile>(o);
            //    return o;
            //}
            //catch (Exception ex)
            //{
            //    Log.Error(ex.Message, ex);
            //    return null;
            //}
        }
 public SimulationExecutionService()
 {
     this.entries    = new OrderEntryList();
     this.entryQueue = new List <OrderEntry>();
     this.LoadConfiguration();
     ServiceManager.Add(this);
     ServiceManager.ExecutionSimulator = this;
 }
 public SimulationExecutionService() : base()
 {
     this.entries = new OrderEntryList();
     this.orders  = new List <OrderEntry>();
     this.zpaevs5ZvV();
     ServiceManager.Add(this);
     ServiceManager.ExecutionSimulator = this;
 }
Exemple #10
0
    static void Main()
    {
        var manager = new ServiceManager();

        manager.Add("hello!");
        IMessageCollection      messageManager      = manager;
        INotificationCollection notificationManager = manager;

        messageManager.Add("hello!");
        notificationManager.Add("1 new message");
    }
Exemple #11
0
        public override void Perform()
        {
            if (ControlService.SignCombo.Current == null)
            {
                MsgBox.Warning(Resources.Resource.GetString(Resources.Resource.Strings.AddNewSignFirst));
                return;
            }

            SignInfo  sign      = ControlService.SignCombo.Current;
            BlankSign blankSign = new BlankSign();

            blankSign.Mode = 0;
            blankSign.Flag = 1;
            Cursor.Current = Cursors.WaitCursor;
            //Send BlankSign Command for Start stop
            DataGate.Log.Info("Start Stop.Content:blankSign.Mode=0,blankSign.Flag=0");
            sign.Controller.SendAsync(
                Id,
                p =>
            {
                Cursor.Current = Cursors.Default;
                if (!p.IsSuccessed)
                {
                    DataGate.Log.Error("Stop failed.");
                    if (p.Packet.HasError)
                    {
                        log.Error(p.Packet.ActionError.Message);
                    }
                    if (p.Exception != null)
                    {
                        log.Error(p.Exception.Message, p.Exception);
                    }

                    //MsgBox.Error(Resources.Resource.GetString(Resources.Resource.Strings.SetBlankSignFailed));//"Blank sign failed.");
                }
                else
                {
                    if (!ServiceManager.Get <bool>())
                    {
                        ServiceManager.Remove <bool>();
                        ServiceManager.Add <bool>(true);
                    }
                    //ControlService.CurrentClip.SetPicImageNull();

                    DataGate.Log.Info("Stop successed.");
                    sign.IsBlankSign = false;
                    //MsgBox.Information(Resources.Resource.GetString(Resources.Resource.Strings.SetBlankSignSuccessed));//"Blank sign successed");
                    ActionHelper.OnBlankSign();    //false);
                }
            },
                blankSign);
        }
Exemple #12
0
 static DataGate()
 {
     IOHelper.CreateSystemDirectory(false);
     Log.Info("DataProvider Start.");
     Provider = new DataProvider();
     ServiceManager.Add <IDataProvider>(Provider);
     Log.Info("DataProvider Done.");
     if (Provider.Get().LibraryGroups.Count == 0)
     {
         AddLibraryGroup("Library Group 1");
     }
     if (LibraryGroup.Current == null)
     {
         LibraryGroup.Current = Provider.Get().LibraryGroups[0];
     }
 }
Exemple #13
0
        private static void Main(string[] args)
        {
            AssertionHandler.CatchAssertions();
            PrivateLock.OnDeadLock += () => Console.WriteLine("!!!!!!!!!!!!! DEADLOCK !!!!!!!!!!!!");

            var services = new ServiceManager();
            var node     = new BlockchainNode(services);
            var wallet   = (IWalletService) new WalletService();

            services.Add(wallet);

            wallet.AddressListener.RegisterWalletUpdated(input =>
            {
                var verb     = input.IsInput ? "Sent" : "Received";
                var amount   = Amount.ToWholeDecimal(input.Amount);
                var currency = Currency.ToSymbol(input.Currency);
                Console.WriteLine($"{verb} {input.Address.Encoded} {amount} {currency}");
            });

            wallet.TransactionSubmissionListener.OnSuccess += (transaction, elapsed) => { Console.WriteLine($"Transaction Included ! Elapsed Time {elapsed.TotalSeconds}s"); };

            Console.WriteLine("Initializing...");
            services.Initialize();
            Console.WriteLine("Starting...");
            services.Start();
            Console.WriteLine("Running...");

            var console = new ConsoleCommandProcessor(typeof(SetActiveKeyCommand).Assembly);

            console.Initialize();
            console.RunCommand("loadinstructions", new [] { Configuration.InstructionsFile });

            if (!wallet.GetPrivateKeys().Any())
            {
                console.RunCommand("initializewallet", new string[0]);
            }

            console.Run();
        }
Exemple #14
0
        public static void Run(params string[] args)
        {
            int length = Enum.GetValues(typeof(MenuCommands)).Length;

            //int[] a = new int[length];
            //((int[])Enum.GetValues(typeof(MenuCommands))).CopyTo(a, 0);
            //string[] b = new string[length];
            //((string[])Enum.GetNames(typeof(MenuCommands))).CopyTo(b, 0);

            //string c = "";
            //for (int i = 0; i < length; i++)
            //{
            //    c += b[i].ToString() + ":" + a[i].ToString() + "\n";
            //}
            //MessageBox.Show(c);

            Shell pg = new Shell();

            ServiceManager.Add <Shell>(pg);
            //args = new string[] { "c:\\New Message5.pme" };
            Test();
            pg.DoRun(args);
        }
 public virtual void RegisterService(IViewInjectionService service)
 {
     ServiceManager.Add(service);
     QueueManager.UpdateQueues();
 }
Exemple #16
0
        public void DoRun(params string[] args)
        {
            ArgInfo argInfo = null;

            //MessageBox.Show("Hello!");
            if (args != null && args.Length == 1)
            {
                argInfo = ArgInfo.Parse(args[0]);
            }

            var currentPro = Process.GetCurrentProcess();

            bool created;

            using (Mutex mtx = new Mutex(true, API.mainWindowName, out created))
            {
                if (!created)
                {
                    if (argInfo != null)
                    {
                        HandlerPreviewProcessInfo(args, currentPro);
                    }
                    return;
                }

                var loginTask = Task.Create(p => ShowSplash());

                CodeTimer.Time("Start Main Form", () =>
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);

                    XmlConfigurator.Configure();
                    Log.InnerLog = new ProWrite.Core.Logger("-Sys-");

                    string moduleName  = null;
                    object[] argArrary = null;

                    mainForm = StartHelper.CreateMainForm();
                    (mainForm as IMainForm).Initialize();

                    var profile             = ServiceManager.Get <ProjectProfile>();
                    Task registerModuleTask = null;
                    registerModuleTask      = Task.Create(p =>
                    {
                        if (moduleName == null)
                        {
                            moduleName = profile.DefaultModule;
                        }

                        var moduleInfo = profile.Modules.First(m => m.ModuleName == moduleName);
                        ModuleManager.Register(moduleInfo.Module);

                        var modules = profile.Modules.Where(m => m.ModuleName != moduleName);
                        foreach (var m in modules)
                        {
                            ModuleManager.Register(m.Module);
                        }
                    });



                    var timer       = ServiceManager.Get <System.Windows.Forms.Timer>();
                    mainForm.Shown += (s, e) =>
                    {
                        ModuleManager.DisplayModule(ModuleNames.Editor);    //moduleName);
                        ModuleManager.DisplayModule(moduleName);
                        timer.Tick += delegate
                        {
                            timer.Stop();

                            if (argInfo != null)
                            {
                                moduleName = argInfo.ModuleName;
                                argArrary  = new object[] { argInfo.Importer.OnImportOpen(args[0]), true };
                                ModuleManager.DisplayModule(moduleName, argArrary);
                            }

                            if (!registerModuleTask.IsCompleted)
                            {
                                registerModuleTask.Wait();
                                registerModuleTask.Dispose();
                            }
                            if (!loginTask.IsCompleted)
                            {
                                loginTask.Wait();
                                loginTask.Dispose();
                            }

                            //TODO:
                            DirtyWordList.Load();
                        };
                        timer.Start();
                    };

                    ServiceManager.Add <bool>(false);
                    filter = new UserPreferenceChangingFilter();
                    Application.AddMessageFilter(filter);
                    Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
                    Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
                });

                while (!HasAuthenticated.HasValue)
                {
                    loginTask.Wait(50);
                }
                var ewh = ServiceManager.Get <System.Threading.EventWaitHandle>();
                ewh.Set();

                if (!HasAuthenticated.Value)
                {
                    Application.Exit();
                    return;
                }

                Application.Run(mainForm);
            }
        }
Exemple #17
0
        public void Start()
        {
            _dispatcher = new Dispatcher();
            _scheduler = new Scheduler(_dispatcher);

            _dispatcher.Start();
            _scheduler.Start();

            _configManager = new ConfigManager(this);

            ItemType.Load(@"Data\items\items.otb");

            _connectionFactory = new PostgresConnectionFactory();
            _accountRepository = new AccountRepository(_connectionFactory);
            _playerRepository = new PlayerRepository(_connectionFactory);

            _world = new World(this);

            _world.Map.Load(@"Data\world\map.otbm");

            _outputMessagePool = new OutputMessagePool(10, 100);
            _dispatcher.AfterDispatchTask += _outputMessagePool.ProcessEnqueueMessages;

            _serviceManager = new ServiceManager(this);

            _serviceManager.Add<LoginProtocol>(_configManager.LoginPort);
            _serviceManager.Add<GameProtocol>(_configManager.GamePort);

            Logger.Info(string.Format("Local ip address: {0}", String.Join(" ", _serviceManager.PrivateIpAddresses)));
            Logger.Info(string.Format("Global ip address: {0}", String.Join(" ", _serviceManager.PublicIpAddresses)));
        }
Exemple #18
0
        public static void OnBlankSign()
        {
            SignInfo  sign      = ControlService.SignCombo.Current;
            BlankSign blankSign = new BlankSign();

            blankSign.Mode = 1;
            blankSign.Flag = -1;
            int flag = 0;

            LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] {
                new MenuCommand {
                    Command = MenuCommands.UnBlankSign, Caption = "Play", Enabled = false
                }
                , new MenuCommand {
                    Command = MenuCommands.BlankSign, Caption = "Stop", Enabled = false
                }
            }));
            DataGate.Log.Info("Start get the  Sign state.Content:blankSign.Mode=1,blankSign.Flag=-1");
            if (sign.Controller.Connection.State == System.Communication.ConnectionState.Opened ||
                sign.Controller.Connection.User.Status == UserStatus.Online)
            {
                //Cursor.Current = Cursors.WaitCursor;

                sign.Controller.SendAsync(
                    Commands.BlankSign,
                    p =>
                {
                    //Cursor.Current = Cursors.Default;
                    if (!p.IsSuccessed)
                    {
                        DataGate.Log.Error("Get sign state failed");
                        //if (p.Packet.HasError)
                        //    log.Error(p.Packet.ActionError.Message);
                        //if (p.Exception != null)
                        //    log.Error(p.Exception.Message, p.Exception);
                        string caption       = "Stop";
                        MenuCommands command = MenuCommands.BlankSign;

                        LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] {
                            new MenuCommand {
                                Command = command, Caption = caption, Enabled = true
                            }
                        }));
                        //MsgBox.Error(Resources.Resource.GetString(Resources.Resource.Strings.SetBlankSignFailed));//"Blank sign failed.");
                    }
                    else
                    {
                        flag = p.Packet.Content.GetProperty <int>("Mode");
                        DataGate.Log.Info("Get sign state successed.Content:flag=" + flag);
                        string caption       = "Stop";
                        MenuCommands command = MenuCommands.BlankSign;
                        if (flag == 3 || flag == 4 || flag == 5)
                        {
                            sign.MessageStatus = "Stopped";
                            ControlService.CurrentClip.SetPicImageNull();
                            if (!ServiceManager.Get <bool>())
                            {
                                ServiceManager.Remove <bool>();
                                ServiceManager.Add <bool>(true);
                            }
                            caption = "Play";
                            command = MenuCommands.UnBlankSign;
                            LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] {
                                new MenuCommand {
                                    Command = command, Caption = caption, Enabled = true
                                }
                                , new MenuCommand {
                                    Command = MenuCommands.BlankSign, Caption = "Stop", Enabled = false
                                }
                            }));
                        }
                        else
                        {
                            if (ServiceManager.Get <bool>())
                            {
                                ServiceManager.Remove <bool>();
                                ServiceManager.Add <bool>(false);
                            }
                            switch (flag)
                            {
                            case 0:
                                sign.MessageStatus = "Playing";
                                break;

                            case 1:
                                sign.MessageStatus = "Live mode";
                                break;

                            case 2:
                                sign.MessageStatus = "Test Pattern";
                                break;
                            }
                            LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] {
                                new MenuCommand {
                                    Command = command, Caption = caption, Enabled = true
                                }
                                , new MenuCommand {
                                    Command = MenuCommands.UnBlankSign, Caption = "Play", Enabled = false
                                }
                            }));
                        }
                        ControlService.DashboardTree.PopulateTree();
                        //sign.IsBlankSign = false;
                        //MsgBox.Warning(Resources.Resource.GetString(Resources.Resource.Strings.SetBlankSignSuccessed));//"Blank sign successed");
                        //ActionHelper.OnBlankSign(false);
                    }
                },
                    blankSign);
            }
        }