protected void loadFromDisk() { LogFormater.Info("Loading adverts from Disk", true); advertsBlob loadedAdverts = new advertsBlob(); advertConfig demoAdvert = new advertConfig(); demoAdvert.attachment = UUID.Zero.ToString(); demoAdvert.content = "Content"; demoAdvert.title = "Title"; demoAdvert.groups = new[] { UUID.Zero.ToString(), UUID.Zero.ToString() }; demoAdvert.days = "0,1,2,3,4,5,6"; demoAdvert.hour = "12"; demoAdvert.min = "30"; demoAdvert.notice = "false"; demoAdvert.enabled = "false"; loadedAdverts.adverts = new advertConfig[] { demoAdvert }; string targetfile = "adverts.json"; SimpleIO io = new SimpleIO(); io.ChangeRoot(controler.getFolderUsed()); if (SimpleIO.FileType(targetfile, "json") == false) { LogFormater.Status("Creating new adverts file", true); io.WriteJsonAdverts(loadedAdverts, targetfile); return; } if (io.Exists(targetfile) == false) { LogFormater.Status("Creating new adverts file", true); io.WriteJsonAdverts(loadedAdverts, targetfile); return; } string json = io.ReadFile(targetfile); if (json.Length > 0) { try { loadedAdverts = JsonConvert.DeserializeObject <advertsBlob>(json); foreach (advertConfig loaded in loadedAdverts.adverts) { Unpack(loaded); } } catch { io.MarkOld(targetfile); io.WriteJsonAdverts(loadedAdverts, targetfile); } return; } }
protected void Unpack(advertConfig config) { titles.Add(config.title); UUID attachment = UUID.Zero; UUID.TryParse(config.attachment, out attachment); attachments.Add(attachment); content.Add(config.content); bool asGroupNotice = false; bool.TryParse(config.notice, out asGroupNotice); asNotice.Add(asGroupNotice); string[] unpackDays = config.days.Split(','); List <int> activeondays = new List <int>(); foreach (string Uday in unpackDays) { if (int.TryParse(Uday, out int dayid) == true) { activeondays.Add(dayid); } } activeDays.Add(activeondays); int activeHourid = -2; int.TryParse(config.hour, out activeHourid); activeHours.Add(activeHourid); int activeMinid = -2; int.TryParse(config.min, out activeMinid); activeMins.Add(activeMinid); bool asEnabled = false; bool.TryParse(config.enabled, out asEnabled); enabled.Add(asEnabled); List <UUID> selectedGroups = new List <UUID>(); foreach (string groupA in config.groups) { UUID groupUUID = UUID.Zero; UUID.TryParse(groupA, out groupUUID); if (groupUUID != UUID.Zero) { selectedGroups.Add(groupUUID); } } groups.Add(selectedGroups); LogFormater.Info("Loaded advert: (" + config.enabled + ") " + config.title + " " + config.days + " | " + config.hour + "h " + config.min + "m", true); }
protected void loadFromDockerEnv() { LogFormater.Info("Loading adverts from ENV", true); int loop = 1; bool found = true; while (found == true) { string title = getEnv("advert_" + loop.ToString() + "_title"); if (helpers.notempty(title) == true) { advertConfig config = new advertConfig(); config.title = title; config.attachment = getEnv("advert_" + loop.ToString() + "_attachment"); config.content = getEnv("advert_" + loop.ToString() + "_content"); config.notice = getEnv("advert_" + loop.ToString() + "notice"); config.days = getEnv("advert_" + loop.ToString() + "days"); config.hour = getEnv("advert_" + loop.ToString() + "hour"); config.min = getEnv("advert_" + loop.ToString() + "min"); List <string> groupentrys = new List <string>(); int loop2 = 1; bool exitNow = false; while (exitNow == false) { exitNow = true; string value = getEnv("advert_" + loop2.ToString() + "_group_" + loop2.ToString()); if (helpers.notempty(value) == true) { groupentrys.Add(value); exitNow = false; } loop2++; } config.groups = groupentrys.ToArray(); Unpack(config); } else { found = false; } loop++; } }