1 // Copyright (c) Microsoft Corporation. All rights reserved.
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
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);
44 Locality
= "Los Angeles";
45 HighTemperature
= 85 + highDelta
;
46 LowTemperature
= 60 + lowDelta
;
48 case "Rio de Janeiro":
49 Locality
= "Rio de Janeiro";
50 HighTemperature
= 55 + highDelta
;
51 LowTemperature
= 40 + lowDelta
;
54 Locality
= "New York";
55 HighTemperature
= 80 + highDelta
;
56 LowTemperature
= 55 + lowDelta
;
60 HighTemperature
= 65 + highDelta
;
61 LowTemperature
= 45 + lowDelta
;
65 HighTemperature
= 70 + highDelta
;
66 LowTemperature
= 50 + lowDelta
;
70 HighTemperature
= 80 + highDelta
;
71 LowTemperature
= 60 + lowDelta
;
75 HighTemperature
= 90 + highDelta
;
76 LowTemperature
= 70 + lowDelta
;
80 HighTemperature
= 85 + highDelta
;
81 LowTemperature
= 60 + lowDelta
;
84 if (HighTemperature
< LowTemperature
)
86 int temp
= HighTemperature
;
87 HighTemperature
= LowTemperature
;
88 LowTemperature
= temp
;
90 if (HighTemperature
< (LowTemperature
- 8))
96 private int _highTemp
;
99 public int HighTemperature
101 get { return _highTemp; }
102 set { _highTemp = value; }
105 private int _lowTemp
;
108 public int LowTemperature
110 get { return _lowTemp; }
111 set { _lowTemp = value; }
114 private string _locality
= "Los Angeles";
117 public string Locality
119 get { return _locality; }
120 set { _locality = value; }