annotate SilverlightAsyncRestWcf/SilverlightAsyncRestWcf.Services/CarService.cs @ 118:fa4ba8943048

final version
author stevenh7776
date Sun, 27 May 2012 19:53:23 +0100
parents 9eadccc3b46c
children
rev   line source
117
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
1 using System;
118
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
2 using System.Collections.Generic;
117
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
3 using System.Diagnostics.Contracts;
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
4 using System.IO;
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
5 using System.ServiceModel.Activation;
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
6 using System.ServiceModel.Web;
118
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
7 using System.Text;
117
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
8 using SilverlightAsyncRestWcf.Common;
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
9
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
10 namespace SilverlightAsyncRestWcf.Services
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
11 {
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
12 [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
13 public class CarService : IService<Car>
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
14 {
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
15 private readonly IRepository<Car> _repo;
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
16
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
17 public CarService()
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
18 {
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
19 _repo = new FakeCarRepository();
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
20 }
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
21
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
22 public CarService(IRepository<Car> repo)
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
23 {
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
24 _repo = repo;
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
25 }
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
26
118
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
27 [WebGet(UriTemplate = "Cars", ResponseFormat = WebMessageFormat.Json)]
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
28 public IList<Car> GetAll()
117
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
29 {
118
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
30 var cars = _repo.GetAll();
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
31 return cars;
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
32 }
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
33
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
34 [WebGet(UriTemplate = "Car/{id}", ResponseFormat = WebMessageFormat.Json)]
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
35 public Car Get(string id)
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
36 {
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
37 var car = _repo.GetById(id);
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
38 return car;
117
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
39 }
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
40
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
41 [WebInvoke(UriTemplate = "Car", Method = "POST")]
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
42 public void Insert(Car car)
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
43 {
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
44 _repo.Insert(car);
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
45 }
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
46
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
47 [WebInvoke(UriTemplate = "Car/{id}", Method = "PUT")]
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
48 public void Update(string id, Car car)
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
49 {
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
50 _repo.Update(car);
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
51 }
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
52
118
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
53 [WebInvoke(UriTemplate = "Car/{id}", Method = "DELETE")]
117
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
54 public void Delete(string id)
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
55 {
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
56 _repo.Delete(id);
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
57 }
9eadccc3b46c REST working, next step unit tests
stevenh7776
parents:
diff changeset
58 }
118
fa4ba8943048 final version
stevenh7776
parents: 117
diff changeset
59 }