static public void ProcessStream(byte[] dataStream, byte streamType) { if (dataStream[3] == HOST_STREAM_RESP_OK) { if (streamType == HOST_STREAM_CONNECT_REQ) { hostState = HostState.CONNECTED; } else if (streamType == HOST_STREAM_SPEED_REQ) { Robot.motorCurrentSpeedPPS[Robot.MOTOR_LEFT] = StreamBuilder.GetInt(dataStream, 4, StreamBuilder.BuilderType.INT32_BYTE); Robot.motorTargetSpeedPPS[Robot.MOTOR_LEFT] = StreamBuilder.GetInt(dataStream, 8, StreamBuilder.BuilderType.INT32_BYTE); Robot.motorCurrentSpeedPPS[Robot.MOTOR_RIGHT] = StreamBuilder.GetInt(dataStream, 12, StreamBuilder.BuilderType.INT32_BYTE); Robot.motorTargetSpeedPPS[Robot.MOTOR_RIGHT] = StreamBuilder.GetInt(dataStream, 16, StreamBuilder.BuilderType.INT32_BYTE); Robot.displacementX = StreamBuilder.GetFloat(dataStream, 20, StreamBuilder.BuilderType.FLOAT_BYTE_Q8); Robot.displacementY = StreamBuilder.GetFloat(dataStream, 24, StreamBuilder.BuilderType.FLOAT_BYTE_Q8); Robot.displacementYaw = StreamBuilder.GetFloat(dataStream, 28, StreamBuilder.BuilderType.FLOAT_BYTE_Q8); } else if (streamType == HOST_STREAM_SERVO_REQ) { for (UInt16 i = 0; i < Robot.SERVO_NUMBER; i++) { Robot.servoData[i] = (int)StreamBuilder.GetUnsignedInt(dataStream, (UInt16)(i + 4), StreamBuilder.BuilderType.BYTE); } } else if (streamType == HOST_STREAM_BATTERY_REQ) { Robot.batteryState = (int)StreamBuilder.GetUnsignedInt(dataStream, 4, StreamBuilder.BuilderType.BYTE); Robot.batteryVoltage = StreamBuilder.GetUnsignedFloat(dataStream, 5, StreamBuilder.BuilderType.FLOAT_BYTE_Q16); Robot.batteryPercent = (int)StreamBuilder.GetUnsignedInt(dataStream, 9, StreamBuilder.BuilderType.BYTE); } else if (streamType == HOST_STREAM_SLAMCORE_STATE_REQ) { Robot.slamcoreState = (int)StreamBuilder.GetUnsignedInt(dataStream, 4, StreamBuilder.BuilderType.BYTE); } else if (streamType == HOST_STREAM_SONAR_REQ) { for (int i = 0; i < Robot.SONAR_NUMBER; i++) { Robot.sonarData[i] = (int)StreamBuilder.GetUnsignedInt(dataStream, (UInt16)(i * 4 + 4), StreamBuilder.BuilderType.INT32_BYTE); } } DataUpdateEvent?.Invoke(); } }
public override void UpdateEvent(object sender, DataEvent e) { // values from _mTokenBuffer as an array: this._dataStrArr = new string[e.strArgs.Length]; this._dataReceived = true; DataUpdateEvent?.Invoke(this, e); // Do something with the data, like in the class WTXModbus.cs }
public bool isEmpty() { var subscribers = DataUpdateEvent.GetInvocationList(); if (subscribers.Length == 0) { return(true); } else { return(false); } }
/// <summary> /// 成功后请求接口 /// </summary> /// <param name="model"></param> public void SuccessParseData(AlipayModel model) { /*判断数据库不存在,是新的数据就执行新数据事件*/ if (!sqldb.IsExist("ecpay_transfer", new KeyValuePair <string, string>("order_id", model.Order_id))) { String vfit = HttpHelper.MD5PHP(model.Order_id + "|" + model.Order_time + "|" + this.PostKey).ToUpper(); //签名,订单号,交易备注,订单时间,对方,客服id,钱,交易状态 String data = String.Format(Ecpay.Common.HttpConfigLang.Alipay_Interface_Postdata_String, vfit, model.Order_id, model.Trade_name, model.Order_time, model.Order_name, model.Order_name, model.Money, model.Trade_state); HttpItem httpitemInter = new HttpItem() { ContentType = Common.HttpConfigLang.ContentType_Post_Setting_String, Method = "Post", URL = this.InterUrl, Encoding = Encoding.UTF8, Postdata = data, }; HttpResult httpres = httpInter.GetHtml(httpitemInter); /*请求成功!*/ if (httpres.StatusCode == HttpStatusCode.OK) { model.Is_http_request = true; if (httpres.Html.Length > 200) { model.Http_notify = httpres.Html.Substring(0, 190); } else { model.Http_notify = httpres.Html; } } /*解析json*/ Dictionary <String, String> dic = new Dictionary <string, string>(); dic.Add("order_id", model.Order_id); dic.Add("order_name", model.Order_name); dic.Add("order_time", model.Order_time); dic.Add("trade_name", model.Trade_name); dic.Add("order_type", model.Order_type); dic.Add("money", model.Money); dic.Add("trade_state", model.Trade_state); dic.Add("http_notify", model.Http_notify); dic.Add("is_http_request", model.Is_http_request.ToString()); if (sqldb.Insert("ecpay_transfer", dic)) { DataUpdateEvent.Invoke(null, null); } } }
/// <summary> /// InstrumentCatalogSubscription InstrumentsUpdated event. /// </summary> private void InstrumentsUpdated(object sender, InstrumentCatalogUpdatedEventArgs e) { InstrumentCatalogSubscription instrumentCatalogSubscription = sender as InstrumentCatalogSubscription; if (instrumentCatalogSubscription?.Instruments?.Values != null) { foreach (Instrument instru in instrumentCatalogSubscription.Instruments.Values) { if (!_availableInstrumentDico.ContainsKey(instru.Key.SeriesKey)) { _availableInstrumentDico.Add(instru.Key.SeriesKey, instru); InstrumentDetails instruDetails = instru.InstrumentDetails; DataUpdateEvent?.Invoke(this, instruDetails.Key.SeriesKey, instruDetails.ExpirationDate.ToDateTime(), instruDetails.StrikePrice, instruDetails.OptionType.ToString().ToUpper(), instruDetails.Name, instru.Product.Type.Name, instru.Product.Name); } } } }
public void Execute() { CreateDiscretePartition(); DataUpdateEvent?.Invoke(this, new AlgorithmRunDataUpdateEventArgs { ClustersUsersCount = _clustersUsersCount }); var qqPlusAnterior = 0.0; do { qqPlusAnterior = CalculateQQplus(); bool dirty; do { dirty = false; foreach (var vertex in _vertices) { var oldClusterId = vertex.ClusterId; vertex.ClusterId = FindNeighborClusterMaximizingQQplusGain(vertex, ref qqPlusAnterior, ref dirty); if (vertex.ClusterId == oldClusterId) { continue; } _clustersUsersCount[oldClusterId]--; _clustersUsersCount[vertex.ClusterId]++; DataUpdateEvent?.Invoke(this, new AlgorithmRunDataUpdateEventArgs { ClustersUsersCount = _clustersUsersCount }); } } while (dirty); } while (CalculateQQplus() > qqPlusAnterior); ILouvainExecutionResult = new Partition(_graph); }
public MainViewModelTests() { _eventAggregatorMock = new Mock <IEventAggregator>(); _messageDialogServicesMock = new Mock <IMessageService>(); _dataServicesMock = new Mock <IFileService>(); _updateDataMock = new Mock <IUpdateService>(); _simulateDataMock = new Mock <ISimulateService>(); _dictionaryServiceMock = new Mock <IDictionariesService>(); _dataUpdateEvent = new DataUpdateEvent(); _progressBarEvent = new ProgressBarEvent(); _loadDataEvent = new LoadDataEvent(); _eventAggregatorMock.Setup(ea => ea.GetEvent <DataUpdateEvent>()) .Returns(_dataUpdateEvent); _eventAggregatorMock.Setup(ea => ea.GetEvent <ProgressBarEvent>()) .Returns(_progressBarEvent); _eventAggregatorMock.Setup(ea => ea.GetEvent <LoadDataEvent>()) .Returns(_loadDataEvent); //moq setup _dataServicesMock.Setup(ds => ds.GetAllHorsesAsync()) .ReturnsAsync(_horses); _dataServicesMock.Setup(ds => ds.GetAllJockeysAsync()) .ReturnsAsync(_jockeys); _dataServicesMock.Setup(ds => ds.GetAllRacesAsync()) .ReturnsAsync(_races); _simulateDataMock.Setup(ds => ds.SimulateResultsAsync(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <List <RaceDetails> >(), It.IsAny <List <LoadedHorse> >(), It.IsAny <List <LoadedJockey> >(), It.IsAny <RaceModel>())) .ReturnsAsync(_racesSimulated); _updateDataMock.Setup(ud => ud.GetParsedHorseData(It.IsAny <HorseDataWrapper>(), It.IsAny <DateTime>(), It.IsAny <List <LoadedHorse> >(), It.IsAny <List <LoadedJockey> >(), It.IsAny <RaceModel>())) .Returns(_horsePicked); _updateDataMock.Setup(ud => ud.UpdateDataAsync(It.IsAny <List <LoadedJockey> >(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())) .ReturnsAsync(_jockeysSimulated); _updateDataMock.Setup(ud => ud.UpdateDataAsync(It.IsAny <List <LoadedHorse> >(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())) .ReturnsAsync(_horsesSimulated); _updateDataMock.Setup(ud => ud.UpdateDataAsync(It.IsAny <List <RaceDetails> >(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())) .ReturnsAsync(_racesSimulated); _viewModel = new MainViewModel(_dataServicesMock.Object, _messageDialogServicesMock.Object, _updateDataMock.Object, _simulateDataMock.Object, _eventAggregatorMock.Object, _dictionaryServiceMock.Object); SetupRaceModelData(); }
public void TriggerDataUpdateEvent(List <DataSet> dataSets) { DataUpdateEvent?.Invoke(this, new DataUpdateEventArgs(dataSets)); }