示例#1
0
        public void State_Data_Filled_Out(
            [Data] StandardData sut)
        {
            var list = new StateDataList().List;

            Assert.Contains(sut.State, list);
        }
        public void UpdateDataCollectors()
        {
            var enabledCollectors = GetComponentsInChildren <StateData>(false);

            if (enabledCollectors == null)
            {
                return;
            }

            if (this.stateDataCollectors == null)
            {
                this.stateDataCollectors = new StateDataList();
            }

            if (this.stateDataCollectors.Length != enabledCollectors.Length)
            {
                this.stateDataCollectors.items.Clear();
            }

            int id = 0;

            foreach (var collector in enabledCollectors)
            {
                collector.id = id++;

                if (this.stateDataCollectors.items.Contains(collector))
                {
                    continue;
                }

                this.stateDataCollectors.items.Add(collector);
            }
        }
        /// <summary>
        /// Starts LiteDB database using a connection string for file system database
        /// </summary>
        /// <param name="connectionString">Connection string for LiteDB database</param>
        /// <param name="prefix">Collections prefix</param>
        private HangfireDbContext(string connectionString, string prefix = "hangfire")
        {
            _prefix = prefix;

            //UTC - LiteDB
            BsonMapper.Global.ResolveMember += (type, memberInfo, member) =>
            {
                if (member.DataType == typeof(DateTime?) || member.DataType == typeof(DateTime))
                {
                    member.Deserialize = (v, m) => v != null?v.AsDateTime.ToUniversalTime() : (DateTime?)null;

                    member.Serialize = (o, m) => new BsonValue(((DateTime?)o).HasValue ? ((DateTime?)o).Value.ToUniversalTime() : (DateTime?)null);
                }
            };

            //UTC - Internal JSON
            GlobalConfiguration.Configuration
            .UseSerializerSettings(new JsonSerializerSettings()
            {
                DateTimeZoneHandling = DateTimeZoneHandling.Utc,
                DateFormatHandling   = DateFormatHandling.IsoDateFormat,
                DateFormatString     = "yyyy-MM-dd HH:mm:ss.fff"
            });

            Repository = new LiteRepository(connectionString);

            Database = Repository.Database;

            ConnectionId = Guid.NewGuid().ToString();

            //Create Indexes
            StateDataKeyValue.EnsureIndex("Key");
            StateDataExpiringKeyValue.EnsureIndex("Key");
            StateDataHash.EnsureIndex("Key");
            StateDataList.EnsureIndex("Key");
            StateDataSet.EnsureIndex("Key");
            StateDataCounter.EnsureIndex("Key");
            StateDataAggregatedCounter.EnsureIndex("Key");
            DistributedLock.EnsureIndex("Resource", true);
            Job.EnsureIndex("Id");
            Job.EnsureIndex("StateName");
            Job.EnsureIndex("CreatedAt");
            Job.EnsureIndex("ExpireAt");
            Job.EnsureIndex("FetchedAt");
            JobQueue.EnsureIndex("JobId");
            JobQueue.EnsureIndex("Queue");
            JobQueue.EnsureIndex("FetchedAt");
        }
    private void InitCreateJSON()
    {
        StateDataList stateDataList = new StateDataList();
        StateData     temp;

        for (int i = 0; i < 36; i++)
        {
            temp    = new StateData();
            temp.id = i;
            stateDataList.dataList.Add(temp);
        }

        string dataAsJSON = JsonUtility.ToJson(stateDataList, true);

        File.WriteAllText("Assets/Resources/StatesData.json", dataAsJSON);
    }
    private void LoadData()
    {
        TextAsset textAsset = Resources.Load <TextAsset>("StatesData");

        mStateDataList = JsonUtility.FromJson <StateDataList>(textAsset.text);
    }