コード例 #1
0
        async void SaveClicked(object sender, EventArgs e)
        {
            //Persist the new heater to the cloud
            WaterHeater heater = new WaterHeater
            {
                Capacity        = (int)capacity.Value,
                ManufactureYear = Int32.Parse(manufactured.Items[manufactured.SelectedIndex]),
                Manufacturer    = EnumUtil.ParseManufacturerString(manufacturer.Items[manufacturer.SelectedIndex]),
                HasSoftener     = hasSoftener.IsToggled
            };

            SyncManager manager = new SyncManager();
            bool        success = manager.createHeaterRecord(heater);

            if (!success)
            {
                await DisplayAlert("Network Error", "No network available, so heater was not created. Try again later.", "Ok");
            }

            await Navigation.PopAsync();
        }
コード例 #2
0
        public async void FetchHeaters()
        {
            SyncManager manager = new SyncManager();

            savedHeaters.ItemsSource = await manager.GetAllHeaters();
        }
コード例 #3
0
        public async void GenerateGraph()
        {
            SyncManager         manager    = new SyncManager();
            IList <WaterHeater> allHeaters = await manager.GetAllHeaters();

            var model = new PlotModel {
                Title                 = "Water Heater Lifespan",
                LegendPlacement       = LegendPlacement.Outside,
                LegendPosition        = LegendPosition.BottomCenter,
                LegendOrientation     = LegendOrientation.Horizontal,
                LegendBorderThickness = 0
            };

            var s1 = new BarSeries {
                Title = "A.O. Smith", StrokeColor = OxyColors.Black, StrokeThickness = 1, FillColor = OxyColors.Purple
            };

            AddSegmentedBucketItems(s1, allHeaters.Where(arg => arg.Manufacturer == Manufacturer.AOSmith));

            var s2 = new BarSeries {
                Title = "American Standard", StrokeColor = OxyColors.Black, StrokeThickness = 1, FillColor = OxyColors.Green
            };

            AddSegmentedBucketItems(s2, allHeaters.Where(arg => arg.Manufacturer == Manufacturer.AmericanStandard));

            var s3 = new BarSeries {
                Title = "Bradford White", StrokeColor = OxyColors.Black, StrokeThickness = 1, FillColor = OxyColors.Orange
            };

            AddSegmentedBucketItems(s3, allHeaters.Where(arg => arg.Manufacturer == Manufacturer.BradfordWhite));

            var s4 = new BarSeries {
                Title = "GE", StrokeColor = OxyColors.Black, StrokeThickness = 1, FillColor = OxyColors.Blue
            };

            AddSegmentedBucketItems(s4, allHeaters.Where(arg => arg.Manufacturer == Manufacturer.GE));

            var s5 = new BarSeries {
                Title = "Rheem", StrokeColor = OxyColors.Black, StrokeThickness = 1, FillColor = OxyColors.Red
            };

            AddSegmentedBucketItems(s5, allHeaters.Where(arg => arg.Manufacturer == Manufacturer.Rheem));

            var categoryAxis = new CategoryAxis {
                Position = AxisPosition.Left
            };

            categoryAxis.Labels.Add("0-10");
            categoryAxis.Labels.Add("11-15");
            categoryAxis.Labels.Add("16-20");
            categoryAxis.Labels.Add("20 +");
            categoryAxis.Title = "Years in service";

            var valueAxis = new LinearAxis {
                Position = AxisPosition.Bottom, MinimumPadding = 0, MaximumPadding = 0.06, AbsoluteMinimum = 0, Title = "Count"
            };

            model.Series.Add(s1);
            model.Series.Add(s2);
            model.Series.Add(s3);
            model.Series.Add(s4);
            model.Series.Add(s5);

            model.Axes.Add(categoryAxis);
            model.Axes.Add(valueAxis);

            Content = new PlotView
            {
                Model             = model,
                VerticalOptions   = LayoutOptions.Fill,
                HorizontalOptions = LayoutOptions.Fill,
            };
        }