using System;
using System.Collections.Generic;
using System.Linq;
namespace AjaxPaging.Models
{
public class PersonRepository
{
private static readonly IList<Person> Persons = new List<Person>();
public PersonRepository()
{
if (Persons.Count == 0)
{
for (var i = 1; i < 1000; i++)
{
var p = new Person() { Id = i, Name = Guid.NewGuid().ToString() };
Persons.Add(p);
}
}
}
public IList<Person> Get(int page, out int total)
{
var persons = (from p in Persons select p).Skip((page - 1) * 10).Take(10);
var totalPerson = (from p in Persons select p).Count();
total = totalPerson / 10 + (totalPerson % 10 > 0 ? 1 : 0);
return persons.ToList();
}
public IList<Person> Get(int page, string criteria, out int total)
{
var persons = (from p in Persons where p.Name.StartsWith(criteria) select p).Skip((page - 1) * 10).Take(10);
var totalPerson = (from p in Persons select p).Count();
total = totalPerson / 10 + (totalPerson % 10 > 0 ? 1 : 0);
return persons.ToList();
}
}
}