예제 #1
0
        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);
        }
예제 #2
0
        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)));
        }
예제 #3
0
 public GadgetDetailViewModel(GadgetViewModel gadget = null, GadgetAnalyticsViewModel gadgetAnalyticsViewModel = null)
 {
     Title           = gadget?.Name;
     Gadget          = gadget;
     GadgetAnalytics = gadgetAnalyticsViewModel;
 }