Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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++;
            }
        }