/* 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(); }
/* 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); }
/* 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(); }
/* 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); }