示例#1
0
        private static ICommandHandler CreateCommandHandlers()
        {
            Action <IEnumerable <FileCabinetRecord> > printer;

            printer = DefaultRecordPrint;
            var recordPrinter = new DefaultRecordPrinter();
            var createHandler = new CreateCommandHandler(Program.fileCabinetService);
            var editHandler   = new EditCommandHandler(Program.fileCabinetService);
            var exitHandler   = new ExitCommandHandler(stopProgram);
            var exportHandler = new ExportCommandHandler(Program.fileCabinetService);
            var findHandler   = new FindCommandHandler(
                Program.fileCabinetService, printer);
            var helpHandler   = new HelpCommandHandler();
            var importHandler = new ImportCommandHandler(Program.fileCabinetService);
            var listHandler   = new ListCommandHandler(
                Program.fileCabinetService, printer);
            var purgeHandler   = new PurgeCommandHandler(Program.fileCabinetService);
            var removeHandler  = new RemoveCommandHandler(Program.fileCabinetService);
            var statHandler    = new StatCommandHandler(Program.fileCabinetService);
            var defaultHandler = new DefaultHandler();

            createHandler.SetNext(editHandler);
            editHandler.SetNext(exitHandler);
            exitHandler.SetNext(exportHandler);
            exportHandler.SetNext(findHandler);
            findHandler.SetNext(helpHandler);
            helpHandler.SetNext(importHandler);
            importHandler.SetNext(listHandler);
            listHandler.SetNext(purgeHandler);
            purgeHandler.SetNext(removeHandler);
            removeHandler.SetNext(statHandler);
            statHandler.SetNext(defaultHandler);
            return(createHandler);
        }
示例#2
0
        public void ProcessTagTestNoAttribute()
        {
            int        result     = 0;
            TagContext tagContext = new TagContext();

            //opening tag
            OpenTagHandler openH = new OpenTagHandler();

            result += openH.Process(tagContext, lineNoAttr);
            Assert.AreEqual(lineNoAttr.IndexOf('>') + 1, result);

            //data handler
            DataContext    dataContext = new DataContext();
            DefaultHandler defaultH    = new DefaultHandler();

            result += defaultH.Process(dataContext, lineNoAttr.Substring(result));
            Assert.AreEqual("Peter", (string)dataContext.Pop());
            Assert.AreEqual(lineNoAttr.LastIndexOf('<'), result);

            //closing tag
            CloseTagHandler closeH = new CloseTagHandler();

            result += closeH.Process(tagContext, lineNoAttr.Substring(result));
            Assert.AreEqual(lineNoAttr.Length, result);
        }
示例#3
0
        /// <summary>
        /// 初始化处理句柄
        /// </summary>
        public void InitHnadler()
        {
            LoginHandler loginHandler = new LoginHandler();

            dict_Handler.Add(loginHandler.opCode, loginHandler);

            DefaultHandler defaultHandler = new DefaultHandler();

            dict_Handler.Add(defaultHandler.opCode, defaultHandler);

            SyncPositionHandler syncPositionHandler = new SyncPositionHandler();

            dict_Handler.Add(syncPositionHandler.opCode, syncPositionHandler);

            SyncPlayerHandler syncPlayerHandler = new SyncPlayerHandler();

            dict_Handler.Add(syncPlayerHandler.opCode, syncPlayerHandler);

            DamageHandler damageHandler = new DamageHandler();

            dict_Handler.Add(damageHandler.opCode, damageHandler);

            SkillHandler skillHandler = new SkillHandler();

            dict_Handler.Add(skillHandler.opCode, skillHandler);
        }
示例#4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <param name="sender"></param>
        /// <param name="evtArgs"></param>
        internal override void handleEvent(EventType type, Object sender, EventArgs evtArgs)
        {
            MapData mapData = ControlsMap.getInstance().getMapData(sender);

            if (mapData == null)
            {
                return;
            }

            var contextIDGuard = new Manager.ContextIDGuard(Manager.GetContextID(mapData.getControl()));

            try
            {
                switch (type)
                {
                case EventType.RESIZE:
                    GuiUtils.setBackgroundImage((Control)sender);
                    break;

                case EventType.MOUSE_WHEEL:
                case EventType.MOUSE_DOWN:
                case EventType.MOUSE_UP:
                case EventType.MOUSE_DBLCLICK:
                    //case EventType.KeyDown:
                    break;
                }
            }
            finally
            {
                contextIDGuard.Dispose();
            }

            DefaultHandler.getInstance().handleEvent(type, sender, evtArgs);
        }
示例#5
0
        static void Main(string[] args)
        {
            if (ArgumentChecker.CheckArguments(args))
            {
                IConfigurationBuilder configurationBuilder = new ConfigurationBuilderImpl();

                ArgumentHandler argHandler = new DefaultHandler();

                for (int i = 0; i < args.Length; i += 2)
                {
                    argHandler.HandleArgument(new Tuple <string, string>(args[i], args[i + 1]), configurationBuilder);
                }

                ConfigurationBuildDirector configurationBuildDirector = new ConfigurationBuildDirector(configurationBuilder);
                Configuration configuration = configurationBuildDirector.Construct();

                if (!configuration.IsConfigurationValid())
                {
                    Console.WriteLine("Argumenti nisu valjani! Provjerite argumente!");
                    return;
                }

                Router.Initialize(configuration);

                IndexModel indexModel = new IndexModel();
                IndexView  indexView  = new IndexView(configuration);

                indexView.Initialize(indexModel);
                indexModel.Attach(indexView);

                indexView.MakeController();
                indexView.Activate();
            }
        }
示例#6
0
        public static IServiceCollection AddTestDependencies(this IServiceCollection services)
        {
            var trol = new DefaultHandler();

            //services.AddScoped<IHandler>(factory => Mock.Of<IHandler>());
            return(services);
        }
        public UploadPolicyResponse UploadFullPolicy(UpLoadPolicyRequest request)
        {
            OnWoking(this, new EventMsg {
                Status = RunStatus.Normal, PurchaserType = PolicyService.Enums.PurchaserType.Qunar, Msg = "------------------------------Start------------------------------------"
            });
            ShowMsg(this, new EventMsg()
            {
                Status = RunStatus.Normal, PurchaserType = PurchaserType.Qunar, Msg = DateTime.Now + ":开始上传政策"
            });
            IHandlerBuilder builder = new HandlerBuilder();

            builder.Use <QunarLoadFullPolicyMiddleware>() //载入全量政策中间件
            .Use <QunarFilterSplitMiddleware>()           //过滤并拆分中间件
            .Use <QunarFullDispatcherMiddleware>()        //全量分发政策中间件
            .Use <QunarFormatMiddleware>()                //先格式化成去哪儿格式并保存xml文件
            .Use <PackageZipFileMiddleware>()             //压缩成zip文件
            .Use <QunarUploadMiddleware>();               //上传到去哪儿服务器
            IHandlerContext context = new HandlerContext(request);
            IHandler        handler = new DefaultHandler(builder, ShowMsg);

            handler.Execute(context);
            OnWoking(this, new EventMsg {
                Status = RunStatus.Normal, PurchaserType = PolicyService.Enums.PurchaserType.Qunar, Msg = "-------------------------------End---------------------------------------"
            });

            return(context.UploadResponse);
        }
示例#8
0
        //用来初始化Handler
        public void InitHandler()
        {
            LoginHandler loginHandler = new LoginHandler();

            HandlerDict.Add(loginHandler.opCode, loginHandler);

            DefaultHandler defaultHandler = new DefaultHandler();

            HandlerDict.Add(defaultHandler.opCode, defaultHandler);

            RegisterHandler registerHandler = new RegisterHandler();

            HandlerDict.Add(registerHandler.opCode, registerHandler);

            SyncPositionHandler syncPositionHandler = new SyncPositionHandler();

            HandlerDict.Add(syncPositionHandler.opCode, syncPositionHandler);

            SyncPlayerHandler syncPlayerHandler = new SyncPlayerHandler();

            HandlerDict.Add(syncPlayerHandler.opCode, syncPlayerHandler);
            SyncDestroyPlayerHandler syncDestroyPlayerHandler = new SyncDestroyPlayerHandler();

            HandlerDict.Add(syncDestroyPlayerHandler.opCode, syncDestroyPlayerHandler);
        }
示例#9
0
        /// <summary>
        /// 打开文件
        /// </summary>
        private async void Open_Click(object sender, RoutedEventArgs e)
        {
            var dialog = new OpenFileDialog();

            dialog.Filter = "Excel 文件|*.xlsx|Excel 2003|*.xls";
            var result = dialog.ShowDialog(this);

            if (result == true)
            {
                var fileName = dialog.FileName;
                var handler  = new DefaultHandler(fileName);
                try
                {
                    this.message.Text = "正在计算, 请耐心等待...";
                    await Task.Factory.StartNew(handler.Handle);

                    this.message.Text = "计算完成, 选择文件重新计算.";
                    MessageBox.Show("计算完成", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
                    Process.Start(fileName);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex);
                    MessageBox.Show($"发生异常\r\n{ex.Message}", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
        }
示例#10
0
        /// <summary>this is an entry point for all objects handlers</summary>
        /// <param name="objectHashCode"> hash code of the object</param>
        /// <param name="eventName"> event name</param>
        /// <param name="parameters">event parameters</param>
        /// <returns></returns>
        public static void handleDotNetEvent(int objectHashCode, String eventName, Object[] parameters)
        {
            Object       invokedObject     = DNManager.getInstance().DNObjectEventsCollection.getObject(objectHashCode);
            GuiMgControl mgControl         = null;
            bool         raiseRuntimeEvent = true;

            Manager.ContextIDGuard contextIDGuard = null;

            // If Object is a control and it is 'our' control (not created dynamically, decided by .Tag)
            if (invokedObject is Control && ((Control)invokedObject).Tag != null)
            {
                ControlsMap controlsMap = ControlsMap.getInstance();
                MapData     mapData     = controlsMap.getControlMapData((Control)invokedObject);
                if (mapData == null)
                {
                    return;
                }

                mgControl = mapData.getControl();

                contextIDGuard = new Manager.ContextIDGuard(Manager.GetContextID(mgControl));
                //first execute default magic handling of event
                EventType type = DNControlEvents.getStandardEvent(eventName);
                if (type != EventType.NONE && parameters.Length == 2)
                {
                    DefaultHandler.getInstance().handleEvent(type, invokedObject, (EventArgs)parameters[1]);
                }

                if (eventName == "KeyDown") //QCR #736734 KeyDown is handled from Filter.cs on WM_KEYDOWN - do not duplicate the event
                {
                    raiseRuntimeEvent = false;
                }
                else if (eventName == "Disposed")
                {
                    // a Disposed event for a control can't be handled as a runtime-event after the task/form are closed
                    raiseRuntimeEvent = false;
                }
                else
                {
                    // raise .NET runtime event only if hooked from the application (i.e. have a handler in the task)
                    List <String> applicationHookedDNeventsNames = ((TagData)((Control)invokedObject).Tag).ApplicationHookedDNeventsNames;
                    if (applicationHookedDNeventsNames == null || !applicationHookedDNeventsNames.Contains(eventName))
                    {
                        raiseRuntimeEvent = false;
                    }
                }
            }

            // raise .NET event
            if (raiseRuntimeEvent)
            {
                Events.OnDotNetEvent(invokedObject, mgControl, eventName, parameters);
            }

            if (contextIDGuard != null)
            {
                contextIDGuard.Dispose();
            }
        }
示例#11
0
        public void Usage()
        {
            BinaryTreeComponentName tree = new BinaryTreeComponentName();

            DefaultHandler handler1 = new DefaultHandler(
                new ComponentModel("A", typeof(DefaultHandler), typeof(DefaultHandler)));
            DefaultHandler handler2 = new DefaultHandler(
                new ComponentModel("B", typeof(DefaultHandler), typeof(DefaultHandler)));
            DefaultHandler handler3 = new DefaultHandler(
                new ComponentModel("C", typeof(DefaultHandler), typeof(DefaultHandler)));
            DefaultHandler handler4 = new DefaultHandler(
                new ComponentModel("D", typeof(DefaultHandler), typeof(DefaultHandler)));
            DefaultHandler handler5 = new DefaultHandler(
                new ComponentModel("E", typeof(DefaultHandler), typeof(DefaultHandler)));
            DefaultHandler handler6 = new DefaultHandler(
                new ComponentModel("F", typeof(DefaultHandler), typeof(DefaultHandler)));

            tree.Add(new ComponentName("protocolhandler"), handler1);
            tree.Add(new ComponentName("protocolhandler:key=1"), handler2);
            tree.Add(new ComponentName("protocolhandler:key=2"), handler3);
            tree.Add(new ComponentName("protocolhandler:key=2,secure=true"), handler4);
            tree.Add(new ComponentName("modelmanager"), handler5);
            tree.Add(new ComponentName("viewmanager"), handler6);

            Assert.AreSame(handler1, tree.GetHandler(new ComponentName("protocolhandler")));
            Assert.AreSame(handler2, tree.GetHandler(new ComponentName("protocolhandler:key=1")));
            Assert.AreSame(handler3, tree.GetHandler(new ComponentName("protocolhandler:key=2")));
            Assert.AreSame(handler4, tree.GetHandler(new ComponentName("protocolhandler:key=2,secure=true")));
            Assert.AreSame(handler5, tree.GetHandler(new ComponentName("modelmanager")));
            Assert.AreSame(handler6, tree.GetHandler(new ComponentName("viewmanager")));

            IHandler[] handlers = tree.GetHandlers(new ComponentName("protocolhandler"));

            Assert.AreEqual(4, handlers.Length);
            Assert.AreSame(handler1, handlers[0]);
            Assert.AreSame(handler2, handlers[1]);
            Assert.AreSame(handler3, handlers[2]);
            Assert.AreSame(handler4, handlers[3]);

            handlers = tree.GetHandlers(new ComponentName("protocolhandler:*"));

            Assert.AreEqual(4, handlers.Length);
            Assert.AreSame(handler1, handlers[0]);
            Assert.AreSame(handler2, handlers[1]);
            Assert.AreSame(handler3, handlers[2]);
            Assert.AreSame(handler4, handlers[3]);

            handlers = tree.GetHandlers(new ComponentName("protocolhandler:secure=true"));

            Assert.AreEqual(1, handlers.Length);
            Assert.AreSame(handler4, handlers[0]);

            handlers = tree.GetHandlers(new ComponentName("protocolhandler:key=2"));

            Assert.AreEqual(2, handlers.Length);
            Assert.AreSame(handler3, handlers[0]);
            Assert.AreSame(handler4, handlers[1]);
        }
示例#12
0
		public void InnerHandler_Invalid ()
		{
			var handler = new DefaultHandler ();
			try {
				handler.InnerHandler = null;
				Assert.Fail ("#1");
			} catch (ArgumentNullException) {
			}
		}
示例#13
0
    //---------------------------------------------------------------------
    public void BeginLoad(DefaultHandler completedHandler)
    {
        if (IsShow() && ContainsRequestBatch(RequestType.Load))
        {
            UIManager.Wait(loadingWaitGroup, 1f, 0f,
                           "WaitWin_Loading_Note", string.Empty, 0, null, null);
        }

        m_QueueLoader.Begin(completedHandler);
    }
示例#14
0
        public void InnerHandler_Invalid()
        {
            var handler = new DefaultHandler();

            try {
                handler.InnerHandler = null;
                Assert.Fail("#1");
            } catch (ArgumentNullException) {
            }
        }
示例#15
0
        private void InitHandler()
        {
            DefaultHandler defaultHandler = new DefaultHandler();

            handlerDict.Add(defaultHandler.opCode, defaultHandler);

            LoginHandler loginHandler = new LoginHandler();

            handlerDict.Add(loginHandler.opCode, loginHandler);
        }
        public void HandlerUsesAccuracyDictionary()
        {
            DateTime     dt     = new DateTime(2017, 1, 1, 0, 0, 0, DateTimeKind.Utc);
            const string asset1 = "btcusd";
            const string asset2 = "eurusd";

            var env = new EnvironmentStub(new List <AssetPair>()
            {
                new AssetPair()
                {
                    Id = asset1, Accuracy = 5
                },
                new AssetPair()
                {
                    Id = asset2, Accuracy = 3
                }
            });
            var def                = new DefaultHandler(null);
            var handler            = new MidHandler(env, def);
            Queue <QuoteExt> queue = new Queue <QuoteExt>();


            handler.Handle(new QuoteExt()
            {
                AssetPair = asset1, IsBuy = false, Price = 1.12345, Timestamp = dt, PriceType = PriceType.Ask
            }, queue).Wait();
            handler.Handle(new QuoteExt()
            {
                AssetPair = asset1, IsBuy = true, Price = 2.54321, Timestamp = dt.AddSeconds(1), PriceType = PriceType.Bid
            }, queue).Wait();

            handler.Handle(new QuoteExt()
            {
                AssetPair = asset2, IsBuy = false, Price = 1.1111, Timestamp = dt, PriceType = PriceType.Ask
            }, queue).Wait();
            handler.Handle(new QuoteExt()
            {
                AssetPair = asset2, IsBuy = true, Price = 2.2222, Timestamp = dt.AddSeconds(1), PriceType = PriceType.Bid
            }, queue).Wait();

            Assert.Equal(6, queue.Count);

            // Check output queue
            var mid = queue.ToList().Where(q => q.PriceType == PriceType.Mid).ToList();

            Assert.Equal(2, mid.Count);
            mid[0].IsEqual(new QuoteExt()
            {
                AssetPair = asset1, Price = 1.83333, Timestamp = dt, PriceType = PriceType.Mid
            });
            mid[1].IsEqual(new QuoteExt()
            {
                AssetPair = asset2, Price = 1.667, Timestamp = dt, PriceType = PriceType.Mid
            });
        }
示例#17
0
        public void LoginHandler()
        {
            LoginHandler loginHandler = new LoginHandler();

            handlerDic.Add(loginHandler.OpCode, loginHandler);
            RegisterHandler registerHandler = new RegisterHandler();

            handlerDic.Add(registerHandler.OpCode, registerHandler);
            DefaultHandler defaultHandler = new DefaultHandler();

            handlerDic.Add(defaultHandler.OpCode, defaultHandler);
        }
示例#18
0
        //用来初始化Handler
        public void InitHandler()
        {
            LoginHandler loginHandler = new LoginHandler();

            HandlerDict.Add(loginHandler.opCode, loginHandler);
            DefaultHandler defaultHandler = new DefaultHandler();

            HandlerDict.Add(defaultHandler.opCode, defaultHandler);

            RegisterHandler registerHandler = new RegisterHandler();

            HandlerDict.Add(registerHandler.opCode, registerHandler);
        }
        //初始化hanler
        void IniHandler()
        {
            LoginHandelr        logingHandelr       = new LoginHandelr();
            RegisterHandler     registerHandler     = new RegisterHandler();
            DefaultHandler      defaultHandler      = new DefaultHandler();
            SyncPositionHandler syncPositionHandler = new SyncPositionHandler();
            SyncPlayerHandler   syncPlayerHandler   = new SyncPlayerHandler();

            HandlerDict.Add(logingHandelr.OpCode, logingHandelr);
            HandlerDict.Add(registerHandler.OpCode, registerHandler);
            HandlerDict.Add(defaultHandler.OpCode, defaultHandler);
            HandlerDict.Add(syncPositionHandler.OpCode, syncPositionHandler);
            HandlerDict.Add(syncPlayerHandler.OpCode, syncPlayerHandler);
        }
示例#20
0
        /// <summary>
        /// </summary>
        /// <param name="type"></param>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        internal override void handleEvent(EventType type, Object sender, EventArgs e)
        {
            ControlsMap  controlsMap = ControlsMap.getInstance();
            MgWebBrowser webBroswer  = (MgWebBrowser)sender;

            MapData mapData = controlsMap.getMapData(webBroswer);

            if (mapData == null)
            {
                return;
            }

            GuiMgControl guiMgCtrl      = mapData.getControl();
            var          contextIDGuard = new Manager.ContextIDGuard(Manager.GetContextID(guiMgCtrl));

            try
            {
                switch (type)
                {
                case EventType.GOT_FOCUS:
                    Events.OnFocus(guiMgCtrl, 0, false, false);
                    return;

                case EventType.DISPOSED:
                    break;

#if !PocketPC
                case EventType.STATUS_TEXT_CHANGED:
                    String statusText         = webBroswer.StatusText.Trim();
                    String previousStatusText = ((TagData)webBroswer.Tag).BrowserControlStatusText;
                    if (statusText.Length > 0 && !statusText.Equals(previousStatusText))
                    {
                        ((TagData)webBroswer.Tag).BrowserControlStatusText = statusText;
                        Events.OnBrowserStatusTxtChange(guiMgCtrl, statusText);
                    }
                    break;
#endif

                case EventType.EXTERNAL_EVENT:
                    ExternalEventArgs args = (ExternalEventArgs)e;
                    Events.OnBrowserExternalEvent(guiMgCtrl, args.Param);
                    break;
                }
            }
            finally
            {
                contextIDGuard.Dispose();
            }
            DefaultHandler.getInstance().handleEvent(type, sender, e);
        }
示例#21
0
        //初始化Handler
        private void initHandler()
        {
            LoginHandler loginHandler = new LoginHandler();

            handlerDict.Add(loginHandler.RpCode, loginHandler);

            RegistHandler registHandler = new RegistHandler();

            handlerDict.Add(registHandler.RpCode, registHandler);

            DefaultHandler defaultHandler = new DefaultHandler();

            handlerDict.Add(defaultHandler.RpCode, defaultHandler);
        }
        public void HandlerChecksTimestamp()
        {
            DateTime     dt    = new DateTime(2017, 1, 1, 0, 0, 0, DateTimeKind.Utc);
            const string asset = "btcusd";

            var env = new EnvironmentStub(new List <AssetPair>()
            {
                new AssetPair()
                {
                    Id = asset, Accuracy = 5
                }
            });
            var def                = new DefaultHandler(null);
            var handler            = new MidHandler(env, def);
            Queue <QuoteExt> queue = new Queue <QuoteExt>();


            handler.Handle(new QuoteExt()
            {
                AssetPair = asset, IsBuy = false, Price = 1, Timestamp = dt, PriceType = PriceType.Ask
            }, queue).Wait();
            Assert.Equal(1, queue.Count);
            queue.Clear();

            handler.Handle(new QuoteExt()
            {
                AssetPair = asset, IsBuy = true, Price = 2, Timestamp = dt.AddSeconds(1), PriceType = PriceType.Bid
            }, queue).Wait();
            Assert.Equal(2, queue.Count);

            // Check output queue
            queue.ToArray()[0].IsEqual(new QuoteExt()
            {
                AssetPair = asset, Price = 1.5, Timestamp = dt, PriceType = PriceType.Mid
            });

            queue.Clear();
            // Old time quote should not affect computing. Though a new Mid quote is still generated.
            handler.Handle(new QuoteExt()
            {
                AssetPair = asset, IsBuy = false, Price = 3, Timestamp = dt.AddSeconds(-1), PriceType = PriceType.Ask
            }, queue).Wait();
            Assert.Equal(2, queue.Count);

            queue.ToArray()[0].IsEqual(new QuoteExt()
            {
                AssetPair = asset, Price = 1.5, Timestamp = dt, PriceType = PriceType.Mid
            });
        }
        public LimitCalculatorService()
        {
            IHandler <CreditParameters> defaultHandler = new DefaultHandler <CreditParameters>(null,
                                                                                               new Specification <CreditParameters>(o => true));

            IHandler <CreditParameters> dynamicCreditHandler = new DynamicCreditHandler <CreditParameters>(defaultHandler,
                                                                                                           new Specification <CreditParameters>(x => x.Score >= 1000));

            IHandler <CreditParameters> staticCreditHandler = new StaticCreditHandler <CreditParameters>(dynamicCreditHandler,
                                                                                                         new Specification <CreditParameters>(x => x.Score >= 500 && x.Score < 1000)
                                                                                                         .And(new Specification <CreditParameters>(x => x.Salary < 5000)));

            rejectHandler = new RejectHandler <CreditParameters>(staticCreditHandler,
                                                                 new Specification <CreditParameters>(cp => cp.Score < 500));
        }
        public void InHandler()
        {
            LoginHandler loginHandler = new LoginHandler();

            Handlerict.Add(loginHandler.OpCode, loginHandler);
            DefaultHandler defaultHandler = new DefaultHandler();

            Handlerict.Add(defaultHandler.OpCode, defaultHandler);
            RegisterHandler registerHandler = new RegisterHandler();

            Handlerict.Add(registerHandler.OpCode, registerHandler);
            SyncPlayerHandler syncPlayerHandler = new SyncPlayerHandler();

            Handlerict.Add(syncPlayerHandler.OpCode, syncPlayerHandler);
        }
示例#25
0
            static HandlerCache()
            {
                var type = typeof(MsgType);

                if (type.GetCustomAttribute(typeof(MessageIdAttribute), false) is MessageIdAttribute msgId)
                {
                    _id      = msgId.Id;
                    _handler = new DefaultHandler(DefaultSerializer);
                    Debug.LogFormat("HandlerCache: Cache New Handler:{0}, Id={1}", type.FullName, _id);
                    _handlers.Add(_id, _handler);
                }
                else
                {
                    Debug.LogWarningFormat("HandlerCache: {0} Is Not Msg !", type.FullName);
                }
            }
示例#26
0
        /// <summary>
        /// 初始化子Handler
        /// </summary>
        public void InitHandler()
        {
            DefaultHandler defaultHandler = new DefaultHandler();

            HandlerDict.Add(defaultHandler.OpCode, defaultHandler);

            LoginHandler loginHandler = new LoginHandler();

            HandlerDict.Add(loginHandler.OpCode, loginHandler);

            RegisterHandler registerHandler = new RegisterHandler();

            HandlerDict.Add(registerHandler.OpCode, registerHandler);
            LogInfo("-----------------------");
            LogInfo("InitHandler");
        }
示例#27
0
        /// <summary> handle the event of the MgSplitContainer</summary>
        internal override void handleEvent(EventType type, Object sender, EventArgs e)
        {
            MgSplitContainer mgSplitContainer = (MgSplitContainer)sender;
            DefaultHandler   defaultHandler   = DefaultHandler.getInstance();

            switch (type)
            {
            case EventType.PAINT:
                Graphics G = ((PaintEventArgs)e).Graphics;
                if (GuiUtils.isOutmostMgSplitContainer(mgSplitContainer))
                {
                    Rectangle rect = ((Control)mgSplitContainer).ClientRectangle;
                    Pen       pen  = new Pen(Color.Black, 1);

                    // draw top horizontal lines -
                    pen.Color = SystemColors.ButtonShadow;
                    G.DrawLine(pen, rect.X, rect.Y, rect.Width - 2, rect.Y);
                    pen.Color = Color.Black;
                    G.DrawLine(pen, rect.X + 1, rect.Y + 1, rect.Width - 4, rect.Y + 1);

                    // draw left vertical lines |-
                    pen.Color = SystemColors.ButtonShadow;
                    G.DrawLine(pen, rect.X, rect.Y, rect.X, rect.Height - 3);
                    pen.Color = Color.Black;
                    G.DrawLine(pen, rect.X + 1, rect.Y + 1, rect.X + 1, rect.Height - 4);

                    // draw bottom horizontal lines _
                    pen.Color = SystemColors.ButtonHighlight;
                    G.DrawLine(pen, rect.X + 1, rect.Height - 2, rect.Width - 2, rect.Height - 2);

                    //// draw right vertical lines -|
                    pen.Color = SystemColors.ButtonHighlight;
                    G.DrawLine(pen, rect.Width - 2, rect.Y, rect.Width - 2, rect.Height - 1);

                    pen.Dispose();
                }
                break;

            case EventType.KEY_DOWN:
                defaultHandler.handleEvent(type, sender, e);
                break;

            case EventType.RESIZE:
                mgSplitContainer.onResize();
                break;
            }
        }
        public void DeserializeIgnoreAndPopulate()
        {
            DefaultHandler c1 = JsonConvert.DeserializeObject <DefaultHandler>("{}", new JsonSerializerSettings
            {
                DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate
            });

            Assert.AreEqual(-1, c1.field1);
            Assert.AreEqual("default", c1.field2);

            DefaultHandler c2 = JsonConvert.DeserializeObject <DefaultHandler>("{'field1':-1,'field2':'default'}", new JsonSerializerSettings
            {
                DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate
            });

            Assert.AreEqual(-1, c2.field1);
            Assert.AreEqual("default", c2.field2);
        }
示例#29
0
        public async Task <string> ReportAd(int adId, string adCategory, string comment, string reportType)
        {
            User u = repo.GetUser(User.Identity.Name);

            Report r = repo.GetReport(adId, u.Id);

            if (r != null)
            {
                return("You already reported this!");
            }

            ReportTypes type = reportType == "Illegal"
                                                ? ReportTypes.Illegal
                                                : reportType == "Scam"
                                                    ? ReportTypes.Scam
                                                    : ReportTypes.Other;

            Report report = new Report()
            {
                AdId = adId, AdCategory = adCategory, Comment = comment, Type = type, SenderId = u.Id
            };

            repo.CreateReport(report);

            DefaultHandler defaultHandler = new DefaultHandler();
            ScamHandler    scamHandler    = new ScamHandler()
            {
                Successor = defaultHandler
            };
            IllegalHandler illegalHandler = new IllegalHandler()
            {
                Successor = scamHandler
            };

            ReportProcessInvoker invoker = new ReportProcessInvoker();

            invoker.SetFirtHadler(illegalHandler);

            invoker.StartReportProcessing(report, repo);

            await Notify(u.Email, "Your ad was reported", comment);

            return("Thanks for report!");
        }
示例#30
0
        internal override void handleEvent(EventType type, Object sender, EventArgs e)
        {
            Control     control     = (Control)sender;
            ControlsMap controlsMap = ControlsMap.getInstance();
            MapData     mapData     = controlsMap.getMapData(control);

            if (mapData == null)
            {
                return;
            }

            GuiMgControl ctrl = mapData.getControl();

            switch (type)
            {
#if PocketPC
            case EventType.ENABLED_CHANGED:
                ((TagData)control.Tag).TabControlPanel.Invalidate();
                break;
#else
            case EventType.SELECTING:
                ((TabControlCancelEventArgs)e).Cancel = true;
                ((TagData)control.Tag).SelectingIdx   = ((TabControl)control).SelectedIndex;
                GuiUtils.setSuggestedValueOfChoiceControlOnTagData(control, "" + ((TabControl)control).SelectedIndex);
                return;

            case EventType.MNEMONIC_KEY_PRESSED:
                Events.OnSelection(((MnemonicKeyPressedEventArgs)e).SelectedTabIndex.ToString(), ctrl, 0, false);
                return;
#endif
            case EventType.DISPOSED:
                if (control.Tag != null)
                {
                    ((TagData)control.Tag).TabControlPanel.Dispose();
                }
                return;
            }

            DefaultHandler.getInstance().handleEvent(type, sender, e);
        }
示例#31
0
        public void InitHandler()
        {
            LogginHandler logginHandler = new LogginHandler();

            handlerSet.Add(logginHandler.opCode, logginHandler);

            RegisterHandler registerHandler = new RegisterHandler();

            handlerSet.Add(registerHandler.opCode, registerHandler);

            SyncPosHandler syncPosHandler = new SyncPosHandler();

            handlerSet.Add(syncPosHandler.opCode, syncPosHandler);

            SyncPlayerHandler syncPlayerHandler = new SyncPlayerHandler();

            handlerSet.Add(syncPlayerHandler.opCode, syncPlayerHandler);

            DefaultHandler defaultHandler = new DefaultHandler();

            handlerSet.Add(defaultHandler.opCode, defaultHandler);
        }
示例#32
0
		public void DisposeTest ()
		{
			var handler = new DefaultHandler ();
			handler.Dispose ();
		}