//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace WeatherAppWebClient.WeatherAppServices {
    using System.Runtime.Serialization;
    using System;
    
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="Weather", Namespace="http://schemas.datacontract.org/2004/07/WeatherApp.Entities")]
    [System.SerializableAttribute()]
    public partial class Weather : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
        
        [System.NonSerializedAttribute()]
        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CityField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string CountryField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private System.DateTime DateField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int HumidityPercentField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private int IdField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string TemperatureField;
        
        [System.Runtime.Serialization.OptionalFieldAttribute()]
        private string WindField;
        
        [global::System.ComponentModel.BrowsableAttribute(false)]
        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
            get {
                return this.extensionDataField;
            }
            set {
                this.extensionDataField = value;
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string City {
            get {
                return this.CityField;
            }
            set {
                if ((object.ReferenceEquals(this.CityField, value) != true)) {
                    this.CityField = value;
                    this.RaisePropertyChanged("City");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Country {
            get {
                return this.CountryField;
            }
            set {
                if ((object.ReferenceEquals(this.CountryField, value) != true)) {
                    this.CountryField = value;
                    this.RaisePropertyChanged("Country");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime Date {
            get {
                return this.DateField;
            }
            set {
                if ((this.DateField.Equals(value) != true)) {
                    this.DateField = value;
                    this.RaisePropertyChanged("Date");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int HumidityPercent {
            get {
                return this.HumidityPercentField;
            }
            set {
                if ((this.HumidityPercentField.Equals(value) != true)) {
                    this.HumidityPercentField = value;
                    this.RaisePropertyChanged("HumidityPercent");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int Id {
            get {
                return this.IdField;
            }
            set {
                if ((this.IdField.Equals(value) != true)) {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Temperature {
            get {
                return this.TemperatureField;
            }
            set {
                if ((object.ReferenceEquals(this.TemperatureField, value) != true)) {
                    this.TemperatureField = value;
                    this.RaisePropertyChanged("Temperature");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Wind {
            get {
                return this.WindField;
            }
            set {
                if ((object.ReferenceEquals(this.WindField, value) != true)) {
                    this.WindField = value;
                    this.RaisePropertyChanged("Wind");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="WeatherAppServices.IWeatherAppService")]
    public interface IWeatherAppService {
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/GetWeather", ReplyAction="http://tempuri.org/IWeatherAppService/GetWeatherResponse")]
        WeatherAppWebClient.WeatherAppServices.Weather GetWeather(string city);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/GetWeather", ReplyAction="http://tempuri.org/IWeatherAppService/GetWeatherResponse")]
        System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather> GetWeatherAsync(string city);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/GetWeatherByDateAndCity", ReplyAction="http://tempuri.org/IWeatherAppService/GetWeatherByDateAndCityResponse")]
        WeatherAppWebClient.WeatherAppServices.Weather GetWeatherByDateAndCity(string city, System.DateTime data);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/GetWeatherByDateAndCity", ReplyAction="http://tempuri.org/IWeatherAppService/GetWeatherByDateAndCityResponse")]
        System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather> GetWeatherByDateAndCityAsync(string city, System.DateTime data);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/SubmitWeather", ReplyAction="http://tempuri.org/IWeatherAppService/SubmitWeatherResponse")]
        void SubmitWeather(WeatherAppWebClient.WeatherAppServices.Weather weather);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/SubmitWeather", ReplyAction="http://tempuri.org/IWeatherAppService/SubmitWeatherResponse")]
        System.Threading.Tasks.Task SubmitWeatherAsync(WeatherAppWebClient.WeatherAppServices.Weather weather);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/GetWeathers", ReplyAction="http://tempuri.org/IWeatherAppService/GetWeathersResponse")]
        WeatherAppWebClient.WeatherAppServices.Weather[] GetWeathers();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/GetWeathers", ReplyAction="http://tempuri.org/IWeatherAppService/GetWeathersResponse")]
        System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather[]> GetWeathersAsync();
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/DeleteWeather", ReplyAction="http://tempuri.org/IWeatherAppService/DeleteWeatherResponse")]
        WeatherAppWebClient.WeatherAppServices.Weather DeleteWeather(System.Nullable<int> id);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/DeleteWeather", ReplyAction="http://tempuri.org/IWeatherAppService/DeleteWeatherResponse")]
        System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather> DeleteWeatherAsync(System.Nullable<int> id);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/confirmDeleteWeather", ReplyAction="http://tempuri.org/IWeatherAppService/confirmDeleteWeatherResponse")]
        WeatherAppWebClient.WeatherAppServices.Weather confirmDeleteWeather(System.Nullable<int> id);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/confirmDeleteWeather", ReplyAction="http://tempuri.org/IWeatherAppService/confirmDeleteWeatherResponse")]
        System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather> confirmDeleteWeatherAsync(System.Nullable<int> id);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/EditRecordInDatabase", ReplyAction="http://tempuri.org/IWeatherAppService/EditRecordInDatabaseResponse")]
        void EditRecordInDatabase(WeatherAppWebClient.WeatherAppServices.Weather weather);
        
        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IWeatherAppService/EditRecordInDatabase", ReplyAction="http://tempuri.org/IWeatherAppService/EditRecordInDatabaseResponse")]
        System.Threading.Tasks.Task EditRecordInDatabaseAsync(WeatherAppWebClient.WeatherAppServices.Weather weather);
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IWeatherAppServiceChannel : WeatherAppWebClient.WeatherAppServices.IWeatherAppService, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class WeatherAppServiceClient : System.ServiceModel.ClientBase<WeatherAppWebClient.WeatherAppServices.IWeatherAppService>, WeatherAppWebClient.WeatherAppServices.IWeatherAppService {
        
        public WeatherAppServiceClient() {
        }
        
        public WeatherAppServiceClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public WeatherAppServiceClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public WeatherAppServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public WeatherAppServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public WeatherAppWebClient.WeatherAppServices.Weather GetWeather(string city) {
            return base.Channel.GetWeather(city);
        }
        
        public System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather> GetWeatherAsync(string city) {
            return base.Channel.GetWeatherAsync(city);
        }
        
        public WeatherAppWebClient.WeatherAppServices.Weather GetWeatherByDateAndCity(string city, System.DateTime data) {
            return base.Channel.GetWeatherByDateAndCity(city, data);
        }
        
        public System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather> GetWeatherByDateAndCityAsync(string city, System.DateTime data) {
            return base.Channel.GetWeatherByDateAndCityAsync(city, data);
        }
        
        public void SubmitWeather(WeatherAppWebClient.WeatherAppServices.Weather weather) {
            base.Channel.SubmitWeather(weather);
        }
        
        public System.Threading.Tasks.Task SubmitWeatherAsync(WeatherAppWebClient.WeatherAppServices.Weather weather) {
            return base.Channel.SubmitWeatherAsync(weather);
        }
        
        public WeatherAppWebClient.WeatherAppServices.Weather[] GetWeathers() {
            return base.Channel.GetWeathers();
        }
        
        public System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather[]> GetWeathersAsync() {
            return base.Channel.GetWeathersAsync();
        }
        
        public WeatherAppWebClient.WeatherAppServices.Weather DeleteWeather(System.Nullable<int> id) {
            return base.Channel.DeleteWeather(id);
        }
        
        public System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather> DeleteWeatherAsync(System.Nullable<int> id) {
            return base.Channel.DeleteWeatherAsync(id);
        }
        
        public WeatherAppWebClient.WeatherAppServices.Weather confirmDeleteWeather(System.Nullable<int> id) {
            return base.Channel.confirmDeleteWeather(id);
        }
        
        public System.Threading.Tasks.Task<WeatherAppWebClient.WeatherAppServices.Weather> confirmDeleteWeatherAsync(System.Nullable<int> id) {
            return base.Channel.confirmDeleteWeatherAsync(id);
        }
        
        public void EditRecordInDatabase(WeatherAppWebClient.WeatherAppServices.Weather weather) {
            base.Channel.EditRecordInDatabase(weather);
        }
        
        public System.Threading.Tasks.Task EditRecordInDatabaseAsync(WeatherAppWebClient.WeatherAppServices.Weather weather) {
            return base.Channel.EditRecordInDatabaseAsync(weather);
        }
    }
}
