예제 #1
0
        public void WriteJsonEvents(OnEventBlob events, string targetfile)
        {
            JsonSerializer serializer = new JsonSerializer();

            using StreamWriter sw   = new StreamWriter(@"" + root_folder + "/" + targetfile);
            using JsonWriter writer = new JsonTextWriter(sw)
                  {
                      Formatting = Formatting.Indented
                  };
            serializer.Serialize(writer, events);
        }
예제 #2
0
        protected void loadFromDisk()
        {
            LogFormater.Info("Loading onEvents from Disk", true);
            try
            {
                OnEventBlob DemoloadedEvents = new OnEventBlob();
                OnEvent     demoEvent        = new OnEvent();
                demoEvent.Enabled           = false;
                demoEvent.Actions           = new string[] { "Say|||0~#~hi mom im on TV!" };
                demoEvent.title             = "demo";
                demoEvent.On                = "Clock";
                demoEvent.Where             = new string[] { "59 23 * * 7 {CRON} true" };
                demoEvent.Monitor           = "None";
                DemoloadedEvents.listEvents = new OnEvent[] { demoEvent };

                string   targetfile = "events.json";
                SimpleIO io         = new SimpleIO();
                io.ChangeRoot(controler.getFolderUsed());
                if (io.Exists(targetfile) == false)
                {
                    LogFormater.Status("Creating new events file", true);
                    io.WriteJsonEvents(DemoloadedEvents, targetfile);
                    return;
                }
                string json = io.ReadFile(targetfile);
                if (json.Length > 0)
                {
                    try
                    {
                        OnEventBlob loadedEvents = JsonConvert.DeserializeObject <OnEventBlob>(json);
                        foreach (OnEvent loaded in loadedEvents.listEvents)
                        {
                            Events.Add(loaded);
                        }
                    }
                    catch
                    {
                        LogFormater.Info("error loading events from " + targetfile + " skipping", true);
                    }
                    return;
                }
            }
            catch
            {
            }
        }