Пример #1
0
        public async Task <TemperatureModel> GetTempAsync()
        {
            var temp = await owp.GetCurrentWeatherAsync();

            var result = new TemperatureModel
            {
                City        = temp.Name,
                DateTime    = DateTime.UnixEpoch.AddSeconds(temp.DateTime).ToLocalTime(),
                Temperature = temp.Main.Temperature
            };

            return(result);
        }
        public void StartTransfer()
        {
            TemperatureModel.ResetAllAxes();
            HumidityModel.ResetAllAxes();
            PressureModel.ResetAllAxes();

            if (_requestTimer == null)
            {
                _requestTimer          = new Timer(_dataService.GetConfigurationInstance().SampleTime);
                _requestTimer.Elapsed += new ElapsedEventHandler(RequestTimerElaped);
                _requestTimer.Enabled  = true;
            }
        }
        public IActionResult FromK(double valueInK)
        {
            try
            {
                Results = _temperatureConvertingOperations.FromK(valueInK);

                return(Ok(Results));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Пример #4
0
        public static async Task SendMessageAsync()
        {
            var httpClient = HttpClientFactory.Create();

            while (true)
            {
                double           temp     = 0;
                int              humidity = 0;
                TemperatureModel senddata = new TemperatureModel();

                try
                {
                    var url = "https://api.openweathermap.org/data/2.5/onecall?lat=59.27412&units=metric&lon=15.2066&exclude=hourly,daily,minutely&appid=5bf919005c4c20e778ba98f74c7f2e33";
                    HttpResponseMessage httpResponseMessage = await httpClient.GetAsync(url);

                    if (httpResponseMessage.IsSuccessStatusCode)
                    {
                        var content  = httpResponseMessage.Content;                                   //Hämtar Api
                        var datatemp = await content.ReadAsAsync <Rootobject>();

                        temp     = datatemp.current.temp;                                            // Sätter Temp och Humidity
                        humidity = datatemp.current.humidity;

                        senddata = new TemperatureModel                                              //Lägger Temp och Humidity i samma objekt.
                        {
                            Temperature = temp,
                            Humidity    = humidity
                        };
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                try
                {
                    var json = JsonConvert.SerializeObject(senddata);                                   // Converterar till Json format.

                    var payload = new Message(Encoding.UTF8.GetBytes(json));                            // Packeterar meddelandena

                    await deviceClient.SendEventAsync(payload);                                         // Skickar

                    Console.WriteLine($"Message Sent: {json}");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                await Task.Delay(telemetryInterval * 1000);
            }
        }
 public ActionResult Edit([Bind(Include = "TemperatureId,Time,Celcius,Location")] TemperatureModel temperatureModel)
 {
     if (ModelState.IsValid)
     {
         Temperature temperature = new Temperature()
         {
             TemperatureId = temperatureModel.TemperatureId, Celcius = temperatureModel.Celcius, Time = temperatureModel.Time, Location = temperatureModel.Location
         };
         db.Entry(temperature).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(temperatureModel));
 }
Пример #6
0
        public void SendMessageAsync_ShouldConvertToJson()
        {
            TemperatureModel json = new TemperatureModel
            {
                Temperature = 10,
                Humidity    = 20
            };

            string expected = "{\"Temperature\":10,\"Humidity\":20}";
            string actual   = JsonConvert.SerializeObject(json);


            Assert.Equal(expected, actual);
        }
Пример #7
0
        /// <summary>
        /// initialize Thermometer property/ies
        /// </summary>
        private void InitThermometerModelProperties(double freezingPoint, double boilingPoint)
        {
            Temperature = new TemperatureModel();

            if (freezingPoint != boilingPoint)
            {
                FreezingPoint = freezingPoint;
                BoilingPoint  = boilingPoint;
            }
            else
            {
                throw new ArgumentException("You cannot set freezing point and boiling point with the same value.");
            }
        }
Пример #8
0
        public void New(TemperatureModel model)
        {
            var sql = @"INSERT INTO Temperature(month,year,Temperature)
                    VALUES (@month,@year,@Temperature)
                    SELECT CAST(SCOPE_IDENTITY() AS int)";
            var id  = db.Query <int>(sql, new
            {
                model.Month,
                model.Year,
                model.Temperature
            }).Single();

            model.Id = id;
        }
        public HtmlResult ConverterTemperatureReturnHtmlResult(TemperatureModel modelTemperature)
        {
            //~Home/ActionResultIndexHtml?_celsiusValue=12.3

            if (_validationServices.IsValidTemperature(modelTemperature.Value))
            {
                _fahrenheitValue = Helper.Helper.ConvertTemperature(modelTemperature.Value);
            }
            else
            {
                return(new HtmlResult("<h2> Статус ошибки 400. Некорректное значение!</h2>"));
            }

            return(new HtmlResult($"<h2>Температура по Цельсию - {modelTemperature.Value}. Конвертируем в Фаренгейт: \n\n\nТемпература по Фаренгейту - {_fahrenheitValue}<h2>"));
        }
        public async Task <IActionResult> Weather()
        {
            try
            {
                string           city  = Request.Form["txtCity"];
                TemperatureModel model = await WeatherClientFactory.Instance.GetTemperature(city);

                return(View(model));
            }
            catch (HttpRequestException httpRequestException)
            {
                //return View("../Home/Index", null);
                return(BadRequest($"Error getting weather from OpenWeather, Please go back and enter different city name : {httpRequestException.Message}"));
            }
        }
Пример #11
0
        public async Task <TemperatureModel> GetTempAsync()
        {
            var temp = await owp.GetCurrentWeatherAsync();

            //error bubbling...
            //https://social.technet.microsoft.com/wiki/contents/articles/36836.exception-bubbling-in-c.aspx

            var result = new TemperatureModel
            {
                DateTime    = DateTime.UnixEpoch.AddSeconds(temp.DateTime),
                Temperature = temp.Main.Temperature
            };

            return(result);
        }
Пример #12
0
        public static async Task SendMessageAsync(DeviceClient deviceClient)
        {
            var data = new TemperatureModel
            {
                Temperature = rnd.Next(15, 35),
                Humidity    = rnd.Next(40, 50)
            };

            var json = JsonConvert.SerializeObject(data);

            var payload = new Message(Encoding.UTF8.GetBytes(json));
            await deviceClient.SendEventAsync(payload);

            Console.WriteLine($"Message sent: {json}");
        }
        public IActionResult TemperatureConverter(TemperatureModel modelTemperature)
        {
            if (_validationServices.IsValidTemperature(modelTemperature.Value))
            {
                _fahrenheitValue = Helper.Helper.ConvertTemperature(modelTemperature.Value);
            }
            else
            {
                return(BadRequest());
            }

            ViewData["СelsiusValue"]    = modelTemperature.Value;
            ViewData["FahrenheitValue"] = _fahrenheitValue;

            return(View());
        }
        public async Task <IHttpActionResult> GetTemperature(int id)
        {
            Temperature temperature = await db.Temperatures.FindAsync(id);

            TemperatureModel temperatureModel = new TemperatureModel()
            {
                TemperatureId = temperature.TemperatureId, Celcius = temperature.Celcius, Time = temperature.Time, Location = temperature.Location
            };

            if (temperature == null)
            {
                return(NotFound());
            }

            return(Ok(temperatureModel));
        }
Пример #15
0
        // Device Client = IoT Service
        public static async Task SendMessageAsync(DeviceClient deviceClient)
        {
            var data = new TemperatureModel
            {
                Temperature = rnd.Next(20, 30),
                Humidity    = rnd.Next(40, 50)
            };



            //JSON = {"temperature": 20, "humidity": 44}
            var json = JsonConvert.SerializeObject(data);

            var payload = new Microsoft.Azure.Devices.Client.Message(Encoding.UTF8.GetBytes(json));
            await deviceClient.SendEventAsync(payload);
        }
        public ActionResult Create([Bind(Include = "TemperatureId,Time,Celcius,Location")] TemperatureModel temperatureModel)
        {
            if (ModelState.IsValid)
            {
                Temperature temperature = new Temperature()
                {
                    Celcius = temperatureModel.Celcius, Time = temperatureModel.Time, Location = temperatureModel.Location
                };

                db.Temperatures.Add(temperature);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(temperatureModel));
        }
        public async Task <TemperatureModel> GetTempAsync()
        {
            var temp = await owp.GetCurrentWeatherAsync();

            if (temp != null)
            {
                var result = new TemperatureModel
                {
                    DateTime    = DateTime.UnixEpoch.AddSeconds(temp.DateTime),
                    Temperature = temp.Main.Temperature
                };

                return(result);
            }
            return(null);
        }
        public IActionResult GetFile(TemperatureModel modelTemperature, FileType file)
        {
            if (_validationServices.IsValidTemperature(modelTemperature.Value))
            {
                _fahrenheitValue = Helper.Helper.ConvertTemperature(modelTemperature.Value);
            }
            else
            {
                return(new HtmlResult("<h2> Статус ошибки 400. Некорректное значение!</h2>"));
            }

            using (FileStream fstream = new FileStream(TextServices.path, FileMode.OpenOrCreate))
            {
                byte[] input = Encoding.Default.GetBytes($"{modelTemperature.Value} C°  =>  {_fahrenheitValue} F° ");

                fstream.Write(input, 0, input.Length);
            }

            switch (file)
            {
            case FileType.txt:
                FileStream fileStream = new FileStream(TextServices.path, FileMode.Open);
                return(File(fileStream, TextServices.fileType, TextServices.fileName));

            case FileType.streamOfBytes:
                byte[] mas = System.IO.File.ReadAllBytes(TextServices.path);
                return(File(mas, TextServices.fileType, TextServices.fileName));

            case FileType.zip:
                using (FileStream sourceStream = new FileStream(TextServices.path, FileMode.Open))
                {
                    using (FileStream targetStream = new FileStream(TextServices.pathZip, FileMode.OpenOrCreate))
                    {
                        using (GZipStream compressionStream = new GZipStream(targetStream, CompressionMode.Compress))
                        {
                            sourceStream.CopyTo(compressionStream);
                        }
                    }
                }

                FileStream fileStreamZip = new FileStream(TextServices.pathZip, FileMode.Open);
                return(File(fileStreamZip, TextServices.fileZipType, TextServices.fileZipName));

            default:
                return(BadRequest());
            }
        }
        public async Task <IHttpActionResult> PostTemperature(TemperatureModel temperatureModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Temperature temperature = new Temperature()
            {
                Celcius = temperatureModel.Celcius, Time = temperatureModel.Time, Location = temperatureModel.Location
            };

            db.Temperatures.Add(temperature);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = temperature.TemperatureId }, temperature));
        }
Пример #20
0
        public static async Task SendMessageAsync(DeviceClient deviceClient)
        {
            var httpClient            = HttpClientFactory.Create();
            TemperatureModel senddata = new TemperatureModel();

            try
            {
                var url = "https://api.openweathermap.org/data/2.5/onecall?lat=59.27412&units=metric&lon=15.2066&exclude=hourly,daily,minutely&appid=5bf919005c4c20e778ba98f74c7f2e33";
                HttpResponseMessage httpResponseMessage = await httpClient.GetAsync(url);

                if (httpResponseMessage.IsSuccessStatusCode)
                {
                    var content  = httpResponseMessage.Content;
                    var datatemp = await content.ReadAsAsync <Rootobject>();

                    double temp     = datatemp.current.temp;
                    int    humidity = datatemp.current.humidity;

                    senddata = new TemperatureModel
                    {
                        Temperature = temp,
                        Humidity    = humidity
                    };
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            try
            {
                var json = JsonConvert.SerializeObject(senddata);

                var payload = new Message(Encoding.UTF8.GetBytes(json));

                await deviceClient.SendEventAsync(payload);

                Console.WriteLine($"Message Sent: {json}");
            }
            catch (Exception exx)
            {
                Console.WriteLine(exx.Message);
            }
        }
Пример #21
0
        public static async Task SendMessageAsync(DeviceClient deviceClient)
        {
            while (true)
            {
                var data = new TemperatureModel
                {
                    Temperature = random.Next(20, 40),
                    Humidity    = random.Next(35, 50)
                };
                var json = JsonConvert.SerializeObject(data);

                var payload = new Message(Encoding.UTF8.GetBytes(json));
                await deviceClient.SendEventAsync(payload);

                Console.WriteLine($"Message sent: {json}");
                await Task.Delay(60 * 1000);
            }
        }
Пример #22
0
        public async Task <TemperatureModel> GetTempAsync()
        {
            var temp = await owp.GetCurrentWeatherAsync();

            try
            {
                var result = new TemperatureModel
                {
                    DateTime    = DateTime.UnixEpoch.AddSeconds(temp.DateTime),
                    Temperature = temp.Main.Temperature
                };
                return(result);
            }
            catch (Exception ex)
            {
                throw new ArgumentException(temp.Message);
            }
        }
Пример #23
0
        public static async Task <string> SendMAsync(DeviceClient deviceClient)
        {
            var data = new TemperatureModel
            {
                Temperature = rnd.Next(15, 25),
                Humidity    = rnd.Next(35, 50)
            };

            var json    = JsonConvert.SerializeObject(data);
            var payload = new Message(Encoding.UTF8.GetBytes(json));

            await deviceClient.SendEventAsync(payload);

            await Task.Delay(2 *1000);

            string payloadString = payload.ToString();

            return(payloadString);
        }
        public async Task <IHttpActionResult> DeleteTemperature(int id)
        {
            Temperature temperature = await db.Temperatures.FindAsync(id);

            if (temperature == null)
            {
                return(NotFound());
            }

            db.Temperatures.Remove(temperature);
            await db.SaveChangesAsync();

            TemperatureModel temperatureModel = new TemperatureModel()
            {
                TemperatureId = temperature.TemperatureId, Celcius = temperature.Celcius, Time = temperature.Time, Location = temperature.Location
            };

            return(Ok(temperatureModel));
        }
        // GET: Temperatures/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Temperature temperature = db.Temperatures.Find(id);

            if (temperature == null)
            {
                return(HttpNotFound());
            }
            TemperatureModel temperatureModel = new TemperatureModel()
            {
                TemperatureId = temperature.TemperatureId, Celcius = temperature.Celcius, Time = temperature.Time, Location = temperature.Location
            };

            return(View(temperatureModel));
        }
        public async Task <ActionResult> Edit(TemperatureModel temperatureModel)
        {
            try
            {
                var temperatureObject = await TemperatureClient.PutTemperature(temperatureModel.TemperatureId, temperatureModel);

                if (temperatureObject != null)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View(temperatureObject));
                }
            }
            catch
            {
                return(RedirectToAction("Index"));
            }
        }
        public async Task <TemperatureModel> GetTempAsync()
        {
            var temp = await owp.GetCurrentWeatherAsync();

            if (temp == null)
            {
                MessageBox.Show("Assurez vous d'avoir une clé valide et une ville valide");
                return(new TemperatureModel());
            }
            else
            {
                var result = new TemperatureModel
                {
                    DateTime    = DateTime.UnixEpoch.AddSeconds(temp.DateTime),
                    Temperature = temp.Main.Temperature
                };

                return(result);
            }
        }
Пример #28
0
        public static async Task SendMessageAsync(DeviceClient deviceClient)
        {
            while (true)
            {
                var data = new TemperatureModel
                {
                    Temperature = rnd.Next(10, 30),
                    Humidity    = rnd.Next(30, 60)
                };


                var json = JsonConvert.SerializeObject(data);

                var payload = new Message(Encoding.UTF8.GetBytes(json));
                await deviceClient.SendEventAsync(payload);


                break;
            }
        }
Пример #29
0
        // Device Client = Iot Device
        public static async Task SendMessageAsync(DeviceClient deviceClient)
        {
            while (true)
            {
                var data = new TemperatureModel
                {
                    Temperature = rnd.Next(20, 30),
                    Humidity    = rnd.Next(40, 50)
                };

                //JSON = { "temperature" : 20, "humidity" : 44 }
                var json = JsonConvert.SerializeObject(data);

                //Payload kallar man meddelandet man vill skicka
                var payload = new Message(Encoding.UTF8.GetBytes(json));
                await deviceClient.SendEventAsync(payload);

                Console.WriteLine($"Message sent: {json}");
                await Task.Delay(60 * 1000);
            }
        }
Пример #30
0
        public static async Task SendMessageAsync(DeviceClient deviceClient)
        {
            while (true)
            {
                var data = new TemperatureModel()
                {
                    Temperature = rnd.Next(20, 30),
                    Humidity    = rnd.Next(30, 50)
                };

                // mdl ska konvertera i json format
                var json = JsonConvert.SerializeObject(data);

                //skicka mdl=payload/ Message-från  Microsoft.Azure.Devices.Client;

                var payload = new Message(Encoding.UTF8.GetBytes(json)); // Bytes 0 eller 1
                await deviceClient.SendEventAsync(payload);              //använda message/ async = await /det skicka mdl i molnet


                await Task.Delay(30 * 1000);
            }
        }