public async Task <GadgetAnalyticsViewModel> GetGadgetAnalyticsViewModelForGadgetAsync(int gadgetId) { double averageTemperature = await GetStatusRequestAverageTemperatureAsync(gadgetId); Dictionary <string, KeyValuePair <double, DateTime> > gadgetExtremepoints = await _gadgetStatusRequestRepository.GetExtremepointsAsync(gadgetId); var gadgetAnalyticsViewModel = new GadgetAnalyticsViewModel(); if (averageTemperature > 0.00) { gadgetAnalyticsViewModel.TemperatureAvg = $"{ GadgetHelper.RoundTemperature(averageTemperature) } °C"; } if (gadgetExtremepoints.ContainsKey("max")) { gadgetAnalyticsViewModel.TemperatureMaxAndDate = FormatDateWithTimeHighValues(gadgetExtremepoints["max"]); } if (gadgetExtremepoints.ContainsKey("min")) { gadgetAnalyticsViewModel.TemperatureMinAndDate = FormatDateWithTimeHighValues(gadgetExtremepoints["min"]); } int amountOfEntries = await _gadgetStatusRequestRepository.GetAmountOfEntriesForGadget(gadgetId); if (amountOfEntries > 0) { gadgetAnalyticsViewModel.AmountOfEntries = amountOfEntries.ToString(); } return(gadgetAnalyticsViewModel); }
public void should_return_three_gadgets() { // ARRANGE #region Arrange var gadgets = GadgetHelper.CreateFourGadgets(); _gadgetRepFake.GetAll().Returns(gadgets); #endregion // ACT #region Act var result = _sut.GetGadgets(); #endregion // ASSERT #region Assert Assert.IsNotNull(result); Assert.IsInstanceOf <IEnumerable <Gadget> >(result); Assert.AreEqual(gadgets.Count(), result.Count()); #endregion }
public void should_return_data_gadget_id_four() { // ARRANGE #region Arrange var gadget = GadgetHelper.CreateGadgetFour(); _gadgetRepFake.GetById(gadget.GadgetID).Returns(gadget); #endregion // ACT #region Act var result = _sut.GetGadget(4); #endregion // ASSERT #region Assert Assert.IsNotNull(result); Assert.IsInstanceOf <Gadget>(result); Assert.AreEqual(gadget.CategoryID, result.CategoryID); Assert.AreEqual(gadget.Name, result.Name); #endregion }
private async Task ExecuteLoadItemsCommand() { IsBusy = true; try { Gadgets.Clear(); var gadgets = await _gadgetDataStore.GetAllAsync(true); if (gadgets == null || gadgets.Count() == 0) { return; } var unsortedGadgetList = new List <GadgetViewModel>(); foreach (Gadget gadget in gadgets) { GadgetStatus gadgetStatus = await _webRequestService.GetStatusAsync(gadget); var statusIndicatorColor = GadgetHelper.GetStatusIndicatorColor(gadgetStatus); if (gadgetStatus == null) { gadgetStatus = new GadgetStatus { temperature = 0.00, overtemperature = false, temperature_status = "undefined", mac = "", voltage = 0.00 }; } var viewModel = new GadgetViewModel { Id = gadget.Id, DeviceId = gadgetStatus.mac, Name = gadget.Name, Location = gadget.Location, IpAddress = gadget.IpAddress, Description = gadget.Description, IsStatusOk = gadgetStatus.temperature_status == "Normal", StatusIndicatorColor = statusIndicatorColor.ToString(), TemperatureStatus = gadgetStatus.temperature_status, Temperature = gadgetStatus.temperature, TemperatureC = $"{ gadgetStatus.temperature } °C", Voltage = gadgetStatus.voltage, VoltageV = $"{ gadgetStatus.voltage } V" }; if (gadgetStatus.temperature_status == "undefined") { viewModel.TemperatureC = AppTranslations.Page_GadgetDetail_Fallback_NotAvailable; } unsortedGadgetList.Add(viewModel); } List <GadgetViewModel> sortedGadgetList = await GadgetHelper.SortGadgetListBySettingAsync(unsortedGadgetList); sortedGadgetList.ForEach(Gadgets.Add); } catch (Exception ex) { var properties = new Dictionary <string, string> { { "Method", "ExecuteLoadItemsCommand" }, { "Event", "Could not Add GadgetViewModel" } }; AppHelper.TrackError(ex, properties); } finally { IsBusy = false; } }