public async Task <Redirectable> LoadAsync(string key) { var storage = _storageFactory.CreateStorage <MicroUrlEntity>(); var loaded = await storage.LoadAsync(_keyFactory.CreateFromString(key)); if (loaded == null) { return(null); } switch (loaded.Type) { case MicroUrlEntity.TextType: return(_mapper.Map <MicroText>(loaded)); case MicroUrlEntity.UrlType: return(_mapper.Map <MicroUrl>(loaded)); default: throw new ArgumentException("Invalid entity type"); } }
private async Task <bool> ExistsAsync(string key) { var storage = _storageFactory.CreateStorage <MicroUrlEntity>(); return(await storage.ExistsAsync(_keyFactory.CreateFromString(key))); }