// GET api/Configuration
        public Microsoft.Research.Science.FetchClimate2.Serializable.FetchConfiguration Get()
        {
            var configuration = WebApiApplication.GetFetchConfiguration(DateTime.MaxValue);
            var toSerizlize   = new Microsoft.Research.Science.FetchClimate2.Serializable.FetchConfiguration(configuration);

            return(toSerizlize);
        }
Esempio n. 2
0
        public void WebService_UseSampleFetchConfiguration_CanProperlySerializeAndDeserilizeFetchConfiguration()
        {
            // Arrange
            var config1 = new Microsoft.Research.Science.FetchClimate2.Serializable.FetchConfiguration()
            {
                TimeStamp   = new DateTime(2012, 11, 15, 0, 0, 0, DateTimeKind.Utc),
                DataSources = new Microsoft.Research.Science.FetchClimate2.Serializable.DataSourceDefinition[] {
                    new Microsoft.Research.Science.FetchClimate2.Serializable.DataSourceDefinition()
                    {
                        ID                = 1,
                        Name              = "one",
                        Description       = "description",
                        Copyright         = "copyright",
                        ProvidedVariables = new string [] {
                            "var1"
                        }
                    }
                },
                EnvironmentalVariables = new Microsoft.Research.Science.FetchClimate2.Serializable.VariableDefinition[] {
                    new Microsoft.Research.Science.FetchClimate2.Serializable.VariableDefinition()
                    {
                        Name        = "var2",
                        Units       = "units",
                        Description = "description"
                    }
                }
            };

            // Act
            var json    = JsonConvert.SerializeObject(config1);
            var config2 = JsonConvert.DeserializeObject <Microsoft.Research.Science.FetchClimate2.Serializable.FetchConfiguration>(json).ConvertFromSerializable();

            // Assert
            Assert.IsNotNull(config2, "Error: Deserilized object is null");
            Assert.AreEqual <DateTime>(config1.TimeStamp, config2.TimeStamp);
            Assert.IsNotNull(config2.DataSources);
            Assert.AreEqual <int>(config1.DataSources.Length, config2.DataSources.Length);
            Assert.IsNotNull(config2.DataSources[0]);
            Assert.AreEqual <ushort>(config1.DataSources[0].ID, config2.DataSources[0].ID);
            Assert.AreEqual <string>(config1.DataSources[0].Name, config2.DataSources[0].Name);
            Assert.AreEqual <string>(config1.DataSources[0].Description, config2.DataSources[0].Description);
            Assert.AreEqual <string>(config1.DataSources[0].Copyright, config2.DataSources[0].Copyright);
            Assert.IsNotNull(config2.DataSources[0].ProvidedVariables);
            Assert.AreEqual <int>(config1.DataSources[0].ProvidedVariables.Length, config2.DataSources[0].ProvidedVariables.Length);
            Assert.IsNotNull(config2.DataSources[0].ProvidedVariables[0]);
            Assert.AreEqual <string>(config1.DataSources[0].ProvidedVariables[0], config2.DataSources[0].ProvidedVariables[0]);
            Assert.IsNotNull(config2.EnvironmentalVariables);
            Assert.AreEqual <int>(config1.EnvironmentalVariables.Length, config2.EnvironmentalVariables.Length);
            Assert.IsNotNull(config2.EnvironmentalVariables[0]);
            Assert.AreEqual <string>(config1.EnvironmentalVariables[0].Name, config2.EnvironmentalVariables[0].Name);
            Assert.AreEqual <string>(config1.EnvironmentalVariables[0].Units, config2.EnvironmentalVariables[0].Units);
            Assert.AreEqual <string>(config1.EnvironmentalVariables[0].Description, config2.EnvironmentalVariables[0].Description);
        }
 // GET api/Configuration?timestamp=03-Nov-2012%2012:00:00
 public Microsoft.Research.Science.FetchClimate2.Serializable.FetchConfiguration Get(DateTime timestamp)
 {
     try {
         var toSerizlize = new Microsoft.Research.Science.FetchClimate2.Serializable.FetchConfiguration(ActiveConfiguration);
         return(toSerizlize);
     }
     catch (ArgumentException exc) {
         throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest)
         {
             ReasonPhrase = exc.Message
         });
     }
 }
        // GET api/Configuration
        public Microsoft.Research.Science.FetchClimate2.Serializable.FetchConfiguration Get()
        {
            var toSerizlize = new Microsoft.Research.Science.FetchClimate2.Serializable.FetchConfiguration(ActiveConfiguration);

            return(toSerizlize);
        }