Beispiel #1
0
        public override async void OnNavigatedTo(INavigationParameters parameters)
        {
            if (parameters.GetValue <bool>("AddItem"))
            {
                var temp = parameters.GetValue <RegionClock>("NewItem");
                temp.Tapped = Tapped;
                List <View> NewChildren = new List <View>();
                foreach (var regionClock in Children)
                {
                    NewChildren.Add(regionClock);
                }
                NewChildren.Add(temp);
                Children = NewChildren;
            }
            else if (parameters.GetValue <bool>("LoadFromDataBase"))
            {
                List <View> DataBaseClocks = new List <View>();
                var         CurrentUserId  = App.Current.Properties.Keys.LastOrDefault();
                var         Data           = await Model.ClockRepo.Get <RegionClockData>(x => x.UserID == CurrentUserId);

                foreach (var RegionClockData in Data)
                {
                    DataBaseClocks.Add(new RegionClock(RegionClockData)
                    {
                        Tapped = Tapped
                    });
                }

                Children = DataBaseClocks;
            }
            else if (parameters.GetValue <bool>("UpdateItemDataBase"))
            {
                var temp = parameters.GetValue <RegionClock>("OldItem");
                if (temp != null)
                {
                    var             Index = Children.FindIndex(p => p == temp) + 1;
                    RegionClockData Data  = new RegionClockData()
                    {
                        ID     = Index,
                        UserID = App.Current.Properties.Keys.LastOrDefault(),

                        HandColorRed   = temp.HandColor.R,
                        HandColorGreen = temp.HandColor.G,
                        HandColorBlue  = temp.HandColor.B,

                        TickMarksColorRed   = temp.TickMarksColor.R,
                        TickMarksColorGreen = temp.TickMarksColor.G,
                        TickMarksColorBlue  = temp.TickMarksColor.B,
                        CountryText         = temp.CountryText,
                        TimeOffset          = temp.TimeOffset
                    };

                    await Model.ClockRepo.Update(Data);
                }
            }
        }
        public RegionClock(RegionClockData data)
        {
            GestureRecognizers.Add(Tap);

            Innit();
            CountryText    = data.CountryText;
            country.Text   = CountryText;
            TimeOffset     = data.TimeOffset;
            HandColor      = new Color(data.HandColorRed, data.HandColorGreen, data.HandColorBlue);
            TickMarksColor = new Color(data.TickMarksColorRed, data.TickMarksColorGreen, data.TickMarksColorBlue);
        }
        public async void SaveToDataBase()
        {
            RegionClockData Data = new RegionClockData();

            Data.CountryText    = country;
            Data.TimeOffset     = timeOffset;
            Data.HandColorRed   = _HandColor.R;
            Data.HandColorGreen = _HandColor.G;
            Data.HandColorBlue  = _HandColor.B;

            Data.TickMarksColorRed   = _TickMarksColor.R;
            Data.TickMarksColorGreen = _TickMarksColor.G;
            Data.TickMarksColorBlue  = _TickMarksColor.B;
            Data.UserID = App.Current.Properties.Keys.LastOrDefault();
            await ClockRepo.Insert(Data);

            IsSaved = true;
        }