using System; using System.Linq; using System.Text; using StackExchange.Redis; namespace Sony.Filtr.PlaylistGeneration { public class ArtistCorrectionManager { private readonly IDatabase _database; public ArtistCorrectionManager(IDatabase database) { _database = database; } public string GetCorrectSpelling(string artistName) { if (IsConnected()) { var key = "KnownMisspelling:" + artistName; var get = _database.StringGet(key); if (!get.HasValue) return null; return RedisHelper.GetString(get); } return null; } private bool IsConnected() { return _database.IsConnected("IsConnected"); } public void SetMisspelled(string wrong, string right) { if (IsConnected()) { var key = "KnownMisspelling:" + wrong; _database.StringSet(key, Encoding.Unicode.GetBytes(right), TimeSpan.FromSeconds(10080)); } } public void SetKnownUnknown(string artistName) { if (IsConnected()) { var key = "KnownUnknown:" + artistName; _database.StringSet(key, "true", TimeSpan.FromSeconds(10080)); } } public bool IsKnownUnknown(string artistName) { if (IsConnected()) { return _database.KeyExists("KnownUnknown:" + artistName); } return false; } } }