Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dataLogModel"></param>
        /// <param name="businessDataModel"></param>
        /// <returns></returns>
        public RatelHttpResponses Add_BusinessData_DataLog(DataLogModel dataLogModel, BusinessDataModel businessDataModel)
        {
            var response = new RatelHttpResponses();

            dataLogModel.Data = businessDataModel.SerializeProtobuf();
            using (var t = Datalog.dbEngine.GetTransaction())
            {
                t.Insert(Datalog._Ratel_log, dataLogModel.Id, dataLogModel);
                t.Insert <string, string>(businessDataModel.tableName, businessDataModel.key, businessDataModel.content);
                t.Commit();
            }

            //var _Node = ClustersNode.node.Where(x => x.Value.ConnectionStatus == true
            //                              && x.Value.me == false
            //                              && x.Value.master == true
            //                              && x.Value.channel != null);
            //foreach (var item in _Node)
            //{
            //    var node_item = item.Value;
            //    try
            //    {
            //        var data = new RatelMessagePack()
            //        {
            //            command = Command.RequestCommand_DataLog,//AddBusinessData,
            //            Data = null,
            //        };
            //        var _byte = data.SerializeProtobuf();
            //        var _unpooled = Unpooled.WrappedBuffer(_byte);
            //        node_item.channel.WriteAndFlushAsync(_unpooled);
            //    }
            //    catch (Exception ex) { }
            //}

            return(response);
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dataLogModel"></param>
        public RatelHttpResponses Add_IP_DataLog(DataLogModel dataLogModel, IPClustersModel iPClustersModel)
        {
            var response = new RatelHttpResponses();

            Node.ClustersNode.AddNodeDic(new ClustersNodeSetting()
            {
                channel          = null,
                ConnectionStatus = false,
                host             = iPClustersModel.Content,
                master           = iPClustersModel.Master,
                me = false
            });

            List <NodeModel> nodeModels = new List <NodeModel>();

            foreach (var item in Node.ClustersNode.node)
            {
                bool _me = item.Value.me;
                nodeModels.Add(new NodeModel()
                {
                    host   = item.Key,
                    master = item.Value.master,
                    me     = _me
                });
            }

            AddIPAddress(nodeModels);


            //dataLogModel.Data = nodeModels.SerializeProtobuf();
            //using (var t = Datalog.dbEngine.GetTransaction())
            //{
            //    t.Insert(Datalog._Ratel_log, dataLogModel.Id, dataLogModel);
            //    t.Commit();
            //}
            //var _Node = ClustersNode.node.Where(x => x.Value.ConnectionStatus == true
            //                              && x.Value.me == false
            //                              && x.Value.master == true
            //                              && x.Value.channel != null);
            //foreach (var item in _Node)
            //{
            //    var node_item = item.Value;
            //    try
            //    {
            //        var data = new RatelMessagePack()
            //        {
            //            command = Command.RequestCommand_DataLog,
            //            Data = null,
            //        };
            //        var _byte = data.SerializeProtobuf();
            //        var _unpooled = Unpooled.WrappedBuffer(_byte);
            //        node_item.channel.WriteAndFlushAsync(_unpooled);
            //    }
            //    catch (Exception ex) { }
            //}

            return(response);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="MeterGraphPresenter"/> class.
        /// </summary>
        /// <param name="dataLogModel">The data log model.</param>
        /// <param name="eventAggregator">The event aggregator.</param>
        public MeterGraphPresenter(DataLogModel dataLogModel)
        {
            _dataLogModel = dataLogModel;

            CloseCommand = new DelegateCommand <object>(new Action <object>(o =>
            {
                _backgroundWorker.Stop();
                OnRequestRemoval();
            }));

            _backgroundWorker.Tick    += new EventHandler(BackgroundWorker_Tick);
            _backgroundWorker.Interval = TimeSpan.FromSeconds(1);
        }
 /// <summary>
 /// Gets the data set for a particular date.
 /// </summary>
 /// <param name="date">The date.</param>
 /// <returns></returns>
 public DataLogModel GetDataSet(DateTime date)
 {
     DataLogModel data = new DataLogModel();
     string fileName = Path.Combine(GetDataDirectory(), date.ToString("yyyy-MM-dd") + ".dsx");
     if (File.Exists(fileName))
     {
         data.ReadXml(fileName, System.Data.XmlReadMode.IgnoreSchema);
         foreach (var row in data.Impacts.Where(row => row.Timestamp.Date != date).ToList()) data.Impacts.RemoveImpactsRow(row);
         foreach (var row in data.Scores.Where(row => row.Timestamp.Date != date).ToList()) data.Scores.RemoveScoresRow(row);
         data.AcceptChanges();
     }
     return data;
 }
        /// <summary>
        /// Updates the game details.
        /// </summary>
        private void UpdateGameDetails()
        {
            this.IsDataAvailable = false;

            _gameData = _service.GetDataSet(this.GameDate);

            if (_gameData != null && _gameData.Impacts.Count > 0)
            {
                this.IsDataAvailable = true;
                this.FirstGameNumber = _gameData.Impacts.Min(row => row.GameNumber);
                this.LastGameNumber  = _gameData.Impacts.Max(row => row.GameNumber);
                this.GameNumber      = this.FirstGameNumber;
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ReceiverService"/> class.
 /// </summary>
 /// <param name="eventAggregator">The event aggregator.</param>
 public DataLogService(IUnityContainer container, IEventAggregator eventAggregator, ILoggerFacade logger, 
     ConfigProperties config, DataLogModel dataLog, GameMetaDataModel game)
 {
     _container = container;
     _eventAggregator = eventAggregator;
     _logger = logger;
     _dataLog = dataLog;
     _game = game;
     _config = config;
     SubscribeEvents();
     LoadDataSet();
     if (dataLog.Impacts.Count > 0)
     {
         game.GameNumber = (byte)(dataLog.Impacts.Max(row => row.GameNumber) + 1);
     }
     _databaseWriter.DoWork += (sender, e) => WriteDatabaseToDisk();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ReceiverService"/> class.
 /// </summary>
 /// <param name="eventAggregator">The event aggregator.</param>
 public DataLogService(IUnityContainer container, IEventAggregator eventAggregator, ILoggerFacade logger,
                       ConfigProperties config, DataLogModel dataLog, GameMetaDataModel game)
 {
     _container       = container;
     _eventAggregator = eventAggregator;
     _logger          = logger;
     _dataLog         = dataLog;
     _game            = game;
     _config          = config;
     SubscribeEvents();
     LoadDataSet();
     if (dataLog.Impacts.Count > 0)
     {
         game.GameNumber = (byte)(dataLog.Impacts.Max(row => row.GameNumber) + 1);
     }
     _databaseWriter.DoWork += (sender, e) => WriteDatabaseToDisk();
 }
Beispiel #8
0
        /// <summary>
        /// Updates the game details.
        /// </summary>
        private void UpdateGameDetails()
        {
            this.IsDataAvailable = false;

            using (new ShowBusyIndicator())
            {
                this.gameData = GameHistoryService.GetDataForDate(this.SelectedGameDate);

                if (this.gameData != null && this.gameData.Impacts.Count > 0)
                {
                    this.IsDataAvailable          = true;
                    this.FirstAvailableGameNumber = this.gameData.Impacts.Min(row => row.GameNumber);
                    this.LastAvailableGameNumber  = this.gameData.Impacts.Max(row => row.GameNumber);
                    this.SelectedGameNumber       = this.FirstAvailableGameNumber;
                }
            }
        }
        /// <summary>
        /// Gets the data set for a particular date.
        /// </summary>
        /// <param name="date">The date.</param>
        /// <returns></returns>
        public DataLogModel GetDataSet(DateTime date)
        {
            DataLogModel data     = new DataLogModel();
            string       fileName = Path.Combine(GetDataDirectory(), date.ToString("yyyy-MM-dd") + ".dsx");

            if (File.Exists(fileName))
            {
                data.ReadXml(fileName, System.Data.XmlReadMode.IgnoreSchema);
                foreach (var row in data.Impacts.Where(row => row.Timestamp.Date != date).ToList())
                {
                    data.Impacts.RemoveImpactsRow(row);
                }
                foreach (var row in data.Scores.Where(row => row.Timestamp.Date != date).ToList())
                {
                    data.Scores.RemoveScoresRow(row);
                }
                data.AcceptChanges();
            }
            return(data);
        }
Beispiel #10
0
        /// <summary>
        /// 模型数据改变
        /// </summary>
        /// <param name="obj"></param>
        private void dataChanged(DataLogModel commSocketServerModel)
        {
            getPageData(pageRepuestParams.PageIndex, pageRepuestParams.PageSize);
            var tmpModel = DataLogInfoList.FirstOrDefault(a => a.Id == commSocketServerModel.Id);

            this.DataLogInfo = DataLogInfoList.FirstOrDefault();
            ////新增、不存在的数据插入到第一行便于查看
            //if (Equals(tmpModel, null))
            //{
            //    this.EnterpriseInfoList.Insert(0, enterpriseModel);
            //    //this.EnterpriseInfoList.Insert(0, enterpriseModel);
            //    EnterpriseInfoList.RemoveAt(this.EnterpriseInfoList.Count - 1);
            //}
            //else
            //{
            //    //修改的更新后置于第一行,便于查看
            //    tmpModel = enterpriseModel;
            //    EnterpriseInfoList.Move(EnterpriseInfoList.IndexOf(tmpModel), 0);
            //    tmpModel = enterpriseModel;
            //}
        }
Beispiel #11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dataLogModel"></param>
        public RatelHttpResponses Del_IP_DataLog(DataLogModel dataLogModel, IPClustersModel iPClustersModel)
        {
            var response = new RatelHttpResponses();

            DeleteIPAddress(iPClustersModel.Content);

            //Node.ClustersNode.RemoveNodeDic(iPClustersModel.Content);
            //dataLogModel.Data = iPClustersModel.Content.SerializeProtobuf();
            //using (var t = Datalog.dbEngine.GetTransaction())
            //{
            //    t.Insert(Datalog._Ratel_log, dataLogModel.Id, dataLogModel);
            //    t.Commit();
            //}
            //var _Node = ClustersNode.node.Where(x => x.Value.ConnectionStatus == true
            //                              && x.Value.me == false
            //                              && x.Value.master == true
            //                              && x.Value.channel != null);
            //foreach (var item in _Node)
            //{
            //    var node_item = item.Value;
            //    try
            //    {
            //        var data = new RatelMessagePack()
            //        {
            //            command = Command.RequestCommand_DataLog,
            //            Data = null,
            //        };
            //        var _byte = data.SerializeProtobuf();
            //        var _unpooled = Unpooled.WrappedBuffer(_byte);
            //        node_item.channel.WriteAndFlushAsync(_unpooled);

            //    }
            //    catch (Exception ex) { }
            //}


            return(response);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="MeterGraphPresenter"/> class.
        /// </summary>
        /// <param name="dataLogModel">The data log model.</param>
        /// <param name="eventAggregator">The event aggregator.</param>
        public MeterGraphPresenter(DataLogModel dataLogModel)
        {
            _dataLogModel = dataLogModel;

            CloseCommand = new DelegateCommand<object>(new Action<object>(o =>
            {
                _backgroundWorker.Stop();
                OnRequestRemoval();
            }));

            _backgroundWorker.Tick += new EventHandler(BackgroundWorker_Tick);
            _backgroundWorker.Interval = TimeSpan.FromSeconds(1);
        }