コード例 #1
0
        public IObservable <Record[]> GetStationData(DateTime startDate, DateTime endDate, string stationCode, RecordType parameter)
        {
            // Convert Enum to Text
            string param = parameter switch
            {
                RecordType.PM25 => "PM2.5",
                _ => Enum.GetName(typeof(RecordType), parameter)
            };

            var dto = new GetDataDto {
                StationId = stationCode, ParamValue = param, StartDate = startDate, EndDate = endDate
            };
            var payload = dto.GenerateFormUrlEncodedContent();

            return(Observable.FromAsync(cts => _client.PostAsync(new Uri("http://aqmthai.com/includes/getMultiManReport.php"), payload, cts))
                   .Select(async r => await r.Content.ReadAsStringAsync())
                   .Switch().Select(XmlParser.ParseData).Select(records =>
            {
                foreach (var record in records)
                {
                    record.Type = parameter;
                }
                return records;
            }));
        }
    }
コード例 #2
0
        public Dictionary <string, object> GetData([FromBody] GetDataDto request)
        {
            ServiceClient proxy     = new WcfService.Clients.ServiceClient();
            Guid          productID = Guid.NewGuid();
            var           respose   = proxy.GetData(1);

            // https://www.codemag.com/article/0809101/WCF-the-Manual-Way%E2%80%A6-the-Right-Way
            return(new Dictionary <string, object> {
                { "Result", respose }
            });
        }