Exemple #1
0
        public void TestSupplied()
        {
            Assert.AreEqual(3, Twins.Calculate(3, 13));

            //Some other things
            Assert.AreEqual(3063, Twins.Calculate(999000000, 1000000000));
        }
Exemple #2
0
 private void AddTwinsAsync(List <Twin> newTwins)
 {
     try
     {
         Twins.AddRange(newTwins);
         bool a = Task.Run(async() => await DrawPushpins(newTwins).ConfigureAwait(true)).Result;
         Task.Run(async() => await Dispatcher.RunAsync(CoreDispatcherPriority.Low, () => { BindDataControls(); }));
     }
     catch (ArgumentException ex)
     {
         Debug.WriteLine($"AddTwinsAsync - > {ex.Message}");
     }
 }
Exemple #3
0
 private void GetTwinsAsync()
 {
     try
     {
         Twins = Task.Run(async() => await ExedraLibCoreHandler.GetTwinsAsync(EnvironmentT, Project.Name).ConfigureAwait(false)).Result.Twins;
         bool a = Task.Run(async() => await DrawPushpins(Twins.ToList()).ConfigureAwait(true)).Result;
         Task.Run(async() => await Dispatcher.RunAsync(CoreDispatcherPriority.Low, () => { BindDataControls(); }));
     }
     catch (ArgumentException ex)
     {
         Debug.WriteLine($"GetTwinsAsync - > {ex.Message}");
     }
 }
        public async Task RunTwinUpdateJobAsync(string jobId, string queryCondition, Twins twin, DateTime startTime,
                                                long timeOut)
        {
            if (string.IsNullOrEmpty(jobId))
            {
                throw new ArgumentNullException("jobId");
            }

            if (string.IsNullOrEmpty(queryCondition))
            {
                throw new ArgumentNullException("queryCondition");
            }

            if (twin == null)
            {
                throw new ArgumentNullException("twin");
            }

            var iotHubTwin = _mapper.Map <Twin>(twin);

            if (iotHubTwin == null)
            {
                throw new Exception("Twin mapping error.");
            }


            using (var jobClient = JobClient.CreateFromConnectionString(_settings.IoTHub.ConnectionString))
            {
                if (jobClient != null)
                {
                    var createJobResponse = await jobClient.ScheduleTwinUpdateAsync(
                        jobId,
                        queryCondition,
                        iotHubTwin,
                        startTime,
                        timeOut);
                }
            }
        }
Exemple #5
0
        public void TestPrimeGeneration()
        {
            BitArray result = Twins.GetPrimes(1, 100);

            int count = 0;

            for (int i = 0; i < result.Length; i++)
            {
                if (result[i] == true)
                {
                    count += 1;
                }
            }

            Assert.AreEqual(25, count);
            Assert.IsTrue(result[2]);
            Assert.IsTrue(result[3]);
            Assert.IsTrue(result[5]);
            Assert.IsTrue(result[7]);
            Assert.IsTrue(result[11]);
            Assert.IsTrue(result[13]);
        }
Exemple #6
0
        private async void Scheduler_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            if (!IsTwinsRefreshAllowed)
            {
                await Task.Run(() => Thread.Sleep(1000)).ConfigureAwait(true);
            }

            IsTwinsRefreshAllowed = false;

            List <Twin> newTwins = Task.Run(async() => await ExedraLibCoreHandler.GetTwinsAsync(EnvironmentT, Project.Name).ConfigureAwait(false)).Result.Twins;

            var result = newTwins.Where(n => Twins.All(o => o.DeviceID != n.DeviceID)).ToList();

            Debug.WriteLine($"Scheduler_Elapsed -> REFRESHING TWINS -> O: {Twins.Count} -> {result.Count}");

            if (result.Count > 0)
            {
                await Task.Run(() => CleanDevicesFromRunbooks()).ConfigureAwait(false);

                await Task.Run(() => AddTwinsAsync(result.ToList())).ConfigureAwait(false);
            }

            IsTwinsRefreshAllowed = true;
        }
Exemple #7
0
 static void Main(string[] args)
 {
     Twins.Run();
 }
 public async Task RunTwinUpdateJobAsync(string jobId, string queryCondition, Twins twin)
 {
     await RunTwinUpdateJobAsync(jobId, queryCondition, twin, DateTime.UtcNow,
                                 (long)TimeSpan.FromMinutes(2).TotalSeconds);
 }