.liqu can be ordered by keywords (default) or id now, closes #1857

This commit is contained in:
Master Kwoth
2017-11-20 02:48:09 +01:00
parent 8fb21d1a3e
commit a0c5b469b8
5 changed files with 23 additions and 9 deletions

View File

@ -13,4 +13,11 @@ namespace NadekoBot.Core.Services.Database.Models
[Required]
public string Text { get; set; }
}
public enum OrderType
{
Id,
Keyword
}
}

View File

@ -9,7 +9,7 @@ namespace NadekoBot.Core.Services.Database.Repositories
IEnumerable<Quote> GetAllQuotesByKeyword(ulong guildId, string keyword);
Task<Quote> GetRandomQuoteByKeywordAsync(ulong guildId, string keyword);
Task<Quote> SearchQuoteKeywordTextAsync(ulong guildId, string keyword, string text);
IEnumerable<Quote> GetGroup(ulong guildId, int skip, int take);
IEnumerable<Quote> GetGroup(ulong guildId, int page, OrderType order);
void RemoveAllByKeyword(ulong guildId, string keyword);
}
}

View File

@ -18,8 +18,16 @@ namespace NadekoBot.Core.Services.Database.Repositories.Impl
public IEnumerable<Quote> GetAllQuotesByKeyword(ulong guildId, string keyword) =>
_set.Where(q => q.GuildId == guildId && q.Keyword == keyword);
public IEnumerable<Quote> GetGroup(ulong guildId, int skip, int take) =>
_set.Where(q=>q.GuildId == guildId).OrderBy(q => q.Keyword).Skip(skip).Take(take).ToList();
public IEnumerable<Quote> GetGroup(ulong guildId, int page, OrderType order)
{
var q = _set.Where(x => x.GuildId == guildId);
if (order == OrderType.Keyword)
q.OrderBy(x => x.Keyword);
else
q.OrderBy(x => x.Id);
return q.Skip(15 * page).Take(15).ToArray();
}
public Task<Quote> GetRandomQuoteByKeywordAsync(ulong guildId, string keyword)
{