public async Task <Result <Label> > GetLabelAsync(Guid id)
        {
            await _initTask;

            const string sql       = "SELECT * FROM labels WHERE id == @id";
            var          parameter = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("@id", id.ToString())
            };

            var command = new SqlCommand(sql, parameter);

            Label label;

            try
            {
                label = await _sqliteStorage.ExecuteReaderAsync(command, _toLabelConverter);
            }
            catch (Exception e)
            {
                return(Result.Fail(new NotFoundError().CausedBy(e)));
            }

            return(Result.Ok(label));
        }
        public async Task <IEnumerable <Guid> > GetLabelIdsForPageId(Guid pageId)
        {
            await _initTask;

            const string sql = "SELECT label_id FROM page_labels WHERE page_id = @pageId";

            var parameter = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("@pageId", pageId.ToString())
            };

            var command = new SqlCommand(sql, parameter);

            var result = await _sqliteStorage.ExecuteReaderAsync(command, _toLabelsIdConverter);

            return(result);
        }