view SilverlightExampleApp/SilverlightExampleApp.Web/Repositories/ClientMockRepository.cs @ 121:8f94475d3146 tip

final code
author stevenh7776
date Thu, 31 May 2012 15:35:26 +0100
parents 502f5f365649
children
line wrap: on
line source

using System.Collections.Generic;
using System.Linq;
using SilverlightExampleApp.Interfaces.Models;
using SilverlightExampleApp.Web.Factories;

namespace SilverlightExampleApp.Web.Repositories
{
    public class ClientMockRepository : IRepository<IClient>
    {
        public IList<IClient> Clients { get; set; }

        public ClientMockRepository()
        {
            Clients = ClientFactory.GetAll();
        }

        #region IRepository<Client> Members

        public IClient Get(int id)
        {
            return Clients.FirstOrDefault(c => id == c.Id);
        }

        public IList<IClient> GetAll()
        {
            return Clients;
        }

        public void Insert(IClient item)
        {
            Clients.Add(item);
        }

        public void Update(IClient item)
        {
            var client = Clients.FirstOrDefault(c => item.Id == c.Id);
            client.FirstName = item.FirstName;
            client.FamilyName = item.FamilyName;
            client.Title = item.Title;
            client.Residence = item.Residence;
        }

        public void Delete(IClient item)
        {
            var client = Clients.FirstOrDefault(c => item.Id == c.Id);
            Clients.Remove(client);
        }

        #endregion
    }
}