Exemple #1
0
        /* Methods. */
        /* Removes old entries from the database. */
        public void CleanDatabase()
        {
            SharepadContext DatabaseContext = new SharepadContext();
            DateTime        ExpirationTime  = DateTime.Now - this.TextLifetime;

            DatabaseContext.Text.RemoveRange(
                from Text in DatabaseContext.Text
                where Text.AccessTime.CompareTo(ExpirationTime) < 0 ||
                Text.TextData.Length == 0
                select Text
                );
            DatabaseContext.SaveChanges();
        }
Exemple #2
0
        /* Creates a new database entry with a random TextID. */
        public string CreateText()
        {
            SharepadContext DatabaseContext = new SharepadContext();
            string          TextID          = this.CreateID();
            Text            NewText         = new Text();

            NewText.TextId       = TextID;
            NewText.TextData     = "";
            NewText.CreationTime = DateTime.Now;
            NewText.AccessTime   = NewText.CreationTime;
            DatabaseContext.Text.Add(NewText);
            DatabaseContext.SaveChanges();
            return(TextID);
        }
Exemple #3
0
        /* Writes given TextData to the database. */
        public void WriteText(string TextID, string TextData)
        {
            SharepadContext DatabaseContext = new SharepadContext();
            Text            UpdateText      = DatabaseContext.Text.Find(TextID);

            if (UpdateText is null)
            {
                throw new ArgumentException($"Text with ID '{TextID}' not found.");
            }
            UpdateText.TextData   = TextData;
            UpdateText.AccessTime = DateTime.Now;
            DatabaseContext.Update(UpdateText);
            DatabaseContext.SaveChanges();
        }
Exemple #4
0
        /* Reads a database entry with given TextID. */
        public string ReadText(string TextID)
        {
            SharepadContext DatabaseContext = new SharepadContext();
            Text            OutText         = DatabaseContext.Text.Find(TextID);

            if (OutText is null)
            {
                throw new ArgumentException($"Text with ID '{TextID}' not found.");
            }
            /* Set the access time and update the database. */
            OutText.AccessTime = DateTime.Now;
            DatabaseContext.Update(OutText);
            DatabaseContext.SaveChanges();
            return(OutText.TextData);
        }