Exemplo n.º 1
0
        public void LoadAllVoteFilesFromDisk()
        {
            if (UseLocalFiles && VoteFilesDirectory != null)
            {
                VoteFiles.Clear();
                foreach (FileInfo item in VoteFilesDirectory.GetFiles())
                {
                    if (item.Name.EndsWith(".json"))
                    {
                        VoteFile newVF = null;
                        try { newVF = VoteFile.FromLoad(item.FullName, this); }
                        catch (Exception e) { App.Log(e.Message, this); }

                        if (newVF != null)
                        {
                            if (newVF.Validate(this))
                            {
                                VoteFiles.Add(newVF);
                            }
                        }
                    }
                }
                VoteFilesLoaded      = true;
                LastVoteFileLoadTime = DateTime.Now;
            }
        }
Exemplo n.º 2
0
        public VoteFile GetDynamicVoteFileObject()
        {
            if (!UseLocalFiles)
            {
                throw new Exception("Attempted to retrieve dynamic voting file, but dynamic voting file management is disabled.");
            }
            if (VoteFilesDirectory == null)
            {
                throw new Exception("Attempted to retrieve dynamic voting file, but voting files directory could not be located.");
            }

            VoteFile voteFile = null;

            if (VoteFiles.Count != 0)
            {
                voteFile = VoteFiles.DefaultIfEmpty(null)?.FirstOrDefault(x => x.Name == "dynamic.json");
            }
            if (voteFile == null)
            {
                // Not validating this one because it's intentionally blank at this point
                voteFile = VoteFile.Create(VoteFilesDirectory.FullName, "dynamic", this);
                if (voteFile == null)
                {
                    throw new Exception("Failed to write or retrieve dynamic voting file.");
                }
                else
                {
                    VoteFiles.Add(voteFile);
                    return(voteFile);
                }
            }
            else
            {
                return(voteFile);
            }
        }