added SSCLI 1.0
[windows-sources.git] / sdk / samples / WCFSamples / TechnologySamples / Scenario / DataBinding / WindowsForms / CS / service / service.cs
blob973dbf769af236f7eb346695d225c0e264babec7
1 // Copyright (c) Microsoft Corporation. All rights reserved.
3 using System;
4 using System.Collections;
5 using System.Runtime.Serialization;
6 using System.ServiceModel;
8 namespace Microsoft.ServiceModel.Samples
10 // Define a service contract.
11 [ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
12 public interface IWeatherService
14 [OperationContract]
15 WeatherData[] GetWeatherData(string[] localities);
18 // Service class which implements the service contract.
19 public class WeatherService : IWeatherService
21 public WeatherData[] GetWeatherData(string[] localities)
23 ArrayList weatherArray = new ArrayList();
24 foreach (string locality in localities)
26 WeatherData data = new WeatherData(locality);
27 weatherArray.Add(data);
29 return (WeatherData[])weatherArray.ToArray(typeof(WeatherData));
33 [DataContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
34 public class WeatherData
36 public WeatherData(string locality)
38 Random rand = new Random();
39 int highDelta = rand.Next(3);
40 int lowDelta = rand.Next(3);
41 switch (locality)
43 case "Los Angeles":
44 Locality = "Los Angeles";
45 HighTemperature = 85 + highDelta;
46 LowTemperature = 60 + lowDelta;
47 break;
48 case "Rio de Janeiro":
49 Locality = "Rio de Janeiro";
50 HighTemperature = 55 + highDelta;
51 LowTemperature = 40 + lowDelta;
52 break;
53 case "New York":
54 Locality = "New York";
55 HighTemperature = 80 + highDelta;
56 LowTemperature = 55 + lowDelta;
57 break;
58 case "London":
59 Locality = "London";
60 HighTemperature = 65 + highDelta;
61 LowTemperature = 45 + lowDelta;
62 break;
63 case "Paris":
64 Locality = "Paris";
65 HighTemperature = 70 + highDelta;
66 LowTemperature = 50 + lowDelta;
67 break;
68 case "Rome":
69 Locality = "Rome";
70 HighTemperature = 80 + highDelta;
71 LowTemperature = 60 + lowDelta;
72 break;
73 case "Cairo":
74 Locality = "Cairo";
75 HighTemperature = 90 + highDelta;
76 LowTemperature = 70 + lowDelta;
77 break;
78 case "Beijing":
79 Locality = "Beijing";
80 HighTemperature = 85 + highDelta;
81 LowTemperature = 60 + lowDelta;
82 break;
84 if (HighTemperature < LowTemperature)
86 int temp = HighTemperature;
87 HighTemperature = LowTemperature;
88 LowTemperature = temp;
90 if (HighTemperature < (LowTemperature - 8))
92 HighTemperature += 5;
96 private int _highTemp;
98 [DataMember]
99 public int HighTemperature
101 get { return _highTemp; }
102 set { _highTemp = value; }
105 private int _lowTemp;
107 [DataMember]
108 public int LowTemperature
110 get { return _lowTemp; }
111 set { _lowTemp = value; }
114 private string _locality = "Los Angeles";
116 [DataMember]
117 public string Locality
119 get { return _locality; }
120 set { _locality = value; }