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); }
private async void OnItemSelected(object sender, EventArgs args) { var layout = (BindableObject)sender; var gadget = (GadgetViewModel)layout.BindingContext; GadgetAnalyticsViewModel gadgetAnalyticsViewModel = await _gadgetStatusRequestService.GetGadgetAnalyticsViewModelForGadgetAsync(gadget.Id); await Navigation.PushAsync(new GadgetDetailPage(new GadgetDetailViewModel(gadget, gadgetAnalyticsViewModel))); }
public GadgetDetailViewModel(GadgetViewModel gadget = null, GadgetAnalyticsViewModel gadgetAnalyticsViewModel = null) { Title = gadget?.Name; Gadget = gadget; GadgetAnalytics = gadgetAnalyticsViewModel; }