Esempio n. 1
0
        private static TimeProfile LoadProfile()
        {
            Log.Info("Loading profile");

            TimeProfile result;

            if (File.Exists(_savedProfilePath))
            {
                var savedProfileData = File.ReadAllText(_savedProfilePath, Encoding.UTF8);
                result = TimeProfileSerializer.Deserialize(savedProfileData);
            }
            else
            {
                result = DefaultTimeProfile.Create();
            }

            Log.Info("Profile loaded with {0} nodes", result.Nodes.Count);

            foreach (var node in result.Nodes)
            {
                Log.Info($"Node {node}");
            }

            return(result);
        }
Esempio n. 2
0
        public static void SaveProfile(TimeProfile profile)
        {
            var profileString = TimeProfileSerializer.Serialize(profile);

            var directory = System.IO.Path.GetDirectoryName(_savedProfilePath);

            if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }

            File.WriteAllText(_savedProfilePath, profileString, Encoding.UTF8);

            Log.Info("Profile saved");
        }
Esempio n. 3
0
        public void TestItNow()
        {
            var originalProfile = new TimeProfile
            {
                Name = "Test time profile"
            };
            var originalNode = new TimeNode(TimeSpan.FromHours(7));

            originalNode.Properties.Add(new NodeProperty(NodeProperty.Brightness, 20));
            originalNode.Properties.Add(new NodeProperty(NodeProperty.ColorTemperature, 3300));
            originalProfile.AddNode(originalNode);

            var str = TimeProfileSerializer.Serialize(originalProfile);

            Assert.IsNotNull(str);

            var deserializedProfile = TimeProfileSerializer.Deserialize(str) as TimeProfile;

            Assert.IsNotNull(deserializedProfile);
            Assert.AreEqual(originalProfile.Name, deserializedProfile.Name);
            Assert.AreEqual(originalProfile.Nodes.Count, deserializedProfile.Nodes.Count);

            var deserializedNode = deserializedProfile.Nodes[0];

            Assert.AreEqual(originalNode.TimeOfDay, deserializedNode.TimeOfDay);

            var originalBrightnessProperty     = originalNode.Properties.First(_ => _.Name == NodeProperty.Brightness);
            var deserializedBrightnessProperty = deserializedNode.Properties.First(_ => _.Name == NodeProperty.Brightness);

            Assert.AreEqual(originalBrightnessProperty.Name, deserializedBrightnessProperty.Name);
            Assert.AreEqual(originalBrightnessProperty.Value, deserializedBrightnessProperty.Value);

            var originalColorTemperatureProperty     = originalNode.Properties.First(_ => _.Name == NodeProperty.Brightness);
            var deserializedColorTemperatureProperty = deserializedNode.Properties.First(_ => _.Name == NodeProperty.Brightness);

            Assert.AreEqual(originalColorTemperatureProperty.Name, deserializedColorTemperatureProperty.Name);
            Assert.AreEqual(originalColorTemperatureProperty.Value, deserializedColorTemperatureProperty.Value);
        }