-
Notifications
You must be signed in to change notification settings - Fork 1
/
DataService.cs
36 lines (32 loc) · 1.02 KB
/
DataService.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System.Collections.Generic;
using System.Linq;
using Cirrious.MvvmCross.Plugins.Sqlite;
namespace Evolved.Core.Services
{
public class DataService : IDataService
{
private readonly ISQLiteConnection _connection;
public DataService(ISQLiteConnectionFactory factory, IKittenGenesisService genesis)
{
_connection = factory.Create("one.sql");
_connection.CreateTable<Kitten>();
if (!_connection.Table<Kitten>().Any())
{
FillWithKittens(genesis);
}
}
private void FillWithKittens(IKittenGenesisService genesis)
{
for (var i = 0; i < 100; i++)
_connection.Insert(genesis.CreateNewKitten());
}
public List<Kitten> KittensMatching(string nameFilter)
{
return _connection
.Table<Kitten>()
.OrderBy(x => x.Price)
.Where(x => x.Name.Contains(nameFilter))
.ToList();
}
}
}