示例#1
0
        public AppStartPage()
        {
            NavigationPage.SetHasNavigationBar(this, false);
            var mainAbsoluteLayout = new AbsoluteLayout();
            var mainStackLayout    = new ExStackLayout()
            {
                BackgroundColor   = Color.AliceBlue,
                VerticalOptions   = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Center
            };
            var appNameLabel = new ExLabel()
            {
                Text              = "Kişisel Takip",
                FontSize          = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
                VerticalOptions   = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Center,
                TextColor         = Color.DarkRed
            };

            mainAbsoluteLayout.Children.Add(appNameLabel);
            //mainStackLayout.Children.Add(new ExEntry()
            //{
            //    Text = "asdsadasdsadsa"
            //});
            AbsoluteLayout.SetLayoutFlags(mainStackLayout, AbsoluteLayoutFlags.PositionProportional);
            AbsoluteLayout.SetLayoutBounds(mainStackLayout, new Rectangle(0.5, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));

            Content = mainAbsoluteLayout;
        }
        public ActivityStatusPage()
        {
            try
            {
                datePicker.DateSelected += async(sender, e) =>
                {
                    Device.BeginInvokeOnMainThread((async() => { await CreateDisplay(e.NewDate); }));
                };
                var mainGrid = new ExGrid();
                exPickersValue.Add(0, "Yapılmadı");
                exPickersValue.Add(1, "Yapıldı");
                var scrollView = new ScrollView();
                var bodyGrid   = new ExGrid()
                {
                    Padding = new Thickness(15, 15, 15, 15)
                };
                this.Title = "Günlük Aktivite İlerlemelerim";
                var activityIndicatorLabel = new ExLabel
                {
                    Text      = "Günlük aktivite durumları getiriliyor...",
                    TextColor = Color.Black
                };
                var activityIndicatorExFrame = new ExFrame()
                {
                    CornerRadius      = 10,
                    VerticalOptions   = LayoutOptions.CenterAndExpand,
                    HorizontalOptions = LayoutOptions.Center,
                    BackgroundColor   = Color.LightGray
                };

                var activityIndicator = new ActivityIndicator()
                {
                    Color = Color.DarkRed
                };
                activityIndicator.SetBinding(ActivityIndicator.IsRunningProperty, new Binding("IsBusy", source: this));
                var activityIndicatorStackLayout = new ExStackLayout()
                {
                    VerticalOptions   = LayoutOptions.Center,
                    HorizontalOptions = LayoutOptions.Center
                };
                activityIndicatorStackLayout.Children.Add(activityIndicatorLabel);
                activityIndicatorStackLayout.Children.Add(activityIndicator);
                activityIndicatorExFrame.Content = activityIndicatorStackLayout;
                activityIndicatorExFrame.SetBinding(Frame.IsVisibleProperty, new Binding("IsBusy", source: this));
                bodyGrid.Children.Add(mainExStackLayout);
                scrollView.Content = bodyGrid;
                mainGrid.Children.Add(activityIndicatorExFrame);
                mainGrid.Children.Add(scrollView);
                Content = mainGrid;
                Device.BeginInvokeOnMainThread((async() =>
                {
                    await CreateDisplay(DateTime.Today);
                }));
            }
            catch (Exception e)
            {
                DisplayAlert("Hata", e.Message, "Tamam");
            }
        }
示例#3
0
        public Exercise(string ResimUrl = "", string LabelText = "")
        {
            Margin = new Thickness(15);

            var Image_ = new ImageUpload(ResimUrl);
            var Label_ = new ExLabel()
            {
                Text                    = LabelText,
                FontSize                = Device.GetNamedSize(NamedSize.Medium, typeof(ExLabel)),
                FontAttributes          = FontAttributes.Bold,
                HorizontalTextAlignment = TextAlignment.Center,
                TextColor               = Color.FromHex("#e9eae7"),
            };

            Content = new StackLayout {
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                VerticalOptions   = LayoutOptions.CenterAndExpand,
                Children          =
                {
                    Image_,
                    Label_,
                }
            };
        }
        public ActivityPage()
        {
            Title = "Tüm Aktivitelerim";
            var mainListView           = new ExListView();
            var activityIndicatorLabel = new ExLabel()
            {
                Text      = "Aktiviteleriniz getiriliyor...",
                TextColor = Color.Black
            };
            var activityIndicator = new ActivityIndicator()
            {
                Color = Color.DarkRed
            };

            activityIndicator.SetBinding(ActivityIndicator.IsRunningProperty, new Binding("IsBusy", source: this));
            var frame = new ExFrame()
            {
                CornerRadius      = 10,
                VerticalOptions   = LayoutOptions.CenterAndExpand,
                HorizontalOptions = LayoutOptions.Center,
                BackgroundColor   = Color.LightGray
            };
            var activityIndicatorStackLayout = new ExStackLayout()
            {
                VerticalOptions   = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Center,
                //  Padding = new Thickness(20, 20, 20, 20),
            };

            activityIndicatorStackLayout.Children.Add(activityIndicatorLabel);
            activityIndicatorStackLayout.Children.Add(activityIndicator);
            frame.SetBinding(Frame.IsVisibleProperty, new Binding("IsBusy", source: this));
            frame.Content = activityIndicatorStackLayout;


            mainListView.ItemSelected += async(sender, e) =>
            {
                var selected = (Activity)e.SelectedItem;
                var listView = (ExListView)sender;
                if (selected != null)
                {
                    await Navigation.PushAsync(new ActivityAddAndUpdatePage(selected));

                    listView.SelectedItem = null;
                }
            };
            mainListView.ItemTemplate = App.ActivityPageDataTemplate;
            mainListView.SetBinding(ListView.ItemsSourceProperty, new Binding("activityList", source: typeof(App)));
            var mainGrid = new ExGrid();
            var bodyGrid = new ExGrid();

            bodyGrid.Children.Add(mainListView);
            mainGrid.Children.Add(bodyGrid);
            mainGrid.Children.Add(frame);
            Content = mainGrid;



            var newActivityToolbarItem = new ToolbarItem("Yeni", null, delegate { }, ToolbarItemOrder.Primary, 0);

            newActivityToolbarItem.Clicked += async(sender, e) =>
            {
                await Navigation.PushAsync(new ActivityAddAndUpdatePage(null), true);
            };
            this.ToolbarItems.Add(newActivityToolbarItem);
            var refreshListToolbarItem = new ToolbarItem("Yenile", null, delegate { }, ToolbarItemOrder.Primary, 1);

            this.ToolbarItems.Add(refreshListToolbarItem);
            refreshListToolbarItem.Clicked += async(sender, e) =>
            {
                Device.BeginInvokeOnMainThread((async() =>
                {
                    await ListData(mainListView);
                }));
            };

            Task.Factory.StartNew(async() => { await ListData(mainListView); });
        }
        public ActivityAddAndUpdatePage(Activity activity = null)
        {
            foreach (var activityType in (Enums.ActivityTypes[])Enum.GetValues(typeof(Enums.ActivityTypes)))
            {
                activityTypesDictionary.Add(activityType, Enums.GetEnumDescription(activityType));
            }
            var mainGrid = new ExGrid()
            {
                VerticalOptions   = LayoutOptions.FillAndExpand,
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                Padding           = new Thickness(20, 0, 20, 0)
            };
            //mainGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) });
            //mainGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) });
            //mainGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) });
            //mainGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Auto) });
            TableSection tableSection = null;
            TableRoot    tableRoot    = null;

            if (activity == null)
            {
                tableSection = new TableSection("Aktivite Ekle");
                tableRoot    = new TableRoot("Aktivite Ekle");
            }
            else
            {
                tableSection = new TableSection("Aktivite Güncelle");
                tableRoot    = new TableRoot("Aktivite Güncelle");
            }
            var activityNameEntry = new ExEntry()
            {
                Placeholder = "Aktivite Adı",
            };
            var activityNameEntryViewCell = new ViewCell();

            if (activity != null)
            {
                var activityNameLabel = new ExLabel()
                {
                    Text      = "Aktivite Adı:",
                    TextColor = Color.Blue,
                    HorizontalTextAlignment = TextAlignment.Center
                };
                activityNameEntryViewCell.View = new ExStackLayout()
                {
                    Children =
                    {
                        activityNameLabel,
                        activityNameEntry
                    }
                };
            }
            else
            {
                activityNameEntryViewCell.View = activityNameEntry;
            }
            tableSection.Add(activityNameEntryViewCell);



            var activityTypesPicker = new ExPicker()
            {
                Title       = "Aktivite Türünü Seçiniz",
                TextColor   = Color.Black,
                ItemsSource = activityTypesDictionary.Values.ToList()
            };
            var activityTypesPickerViewCell = new ViewCell();

            if (activity != null)
            {
                var activityTypesPickerLabel = new ExLabel()
                {
                    Text      = "Aktivite Türü:",
                    TextColor = Color.Blue,
                    HorizontalTextAlignment = TextAlignment.Center
                };
                activityTypesPickerViewCell.View = new ExStackLayout()
                {
                    Children =
                    {
                        activityTypesPickerLabel,
                        activityTypesPicker
                    }
                };
            }
            else
            {
                activityTypesPickerViewCell.View = activityTypesPicker;
            }
            tableSection.Add(activityTypesPickerViewCell);


            var activityIsActivePicker = new ExPicker()
            {
                Title       = "Aktivite Aktiflik Durumu",
                TextColor   = Color.Black,
                ItemsSource = isActiveStatusDictionary.Values.ToList()
            };

            if (activity != null)
            {
                var activityIsActivePickerLabel = new ExLabel()
                {
                    Text      = "Aktivite Aktiflik Durumu:",
                    TextColor = Color.Blue,
                    HorizontalTextAlignment = TextAlignment.Center
                };

                isActiveStatusDictionary.Add(false, "Aktif Değil");
                isActiveStatusDictionary.Add(true, "Aktif");
                activityIsActivePicker.ItemsSource  = isActiveStatusDictionary.Values.ToList();
                activityIsActivePicker.SelectedItem = isActiveStatusDictionary
                                                      .FirstOrDefault(p => p.Key == activity.IsActive).Value;
                var activityIsActivePickerViewCell = new ViewCell
                {
                    View = new ExStackLayout()
                    {
                        Children =
                        {
                            activityIsActivePickerLabel,
                            activityIsActivePicker
                        }
                    }
                };
                tableSection.Add(activityIsActivePickerViewCell);
                activityNameEntry.Text           = activity.ActivityName;
                activityTypesPicker.SelectedItem = Enums.GetEnumDescription(activity.ActivityTypes);
            }
            var saveButton = new Exbutton()
            {
                Text              = "Kaydet",
                BackgroundColor   = Color.FromHex("#449D44"),
                TextColor         = Color.White,
                CornerRadius      = 10,
                HorizontalOptions = LayoutOptions.FillAndExpand
            };
            var saveButtonViewCell = new ViewCell
            {
                View = saveButton
            };

            tableSection.Add(saveButtonViewCell);

            tableRoot.Add(tableSection);
            var tableView = new TableView(tableRoot)
            {
                Intent        = TableIntent.Form,
                HasUnevenRows = true,
                RowHeight     = -1,
                HeightRequest = -2
            };

            mainGrid.Children.Add(tableView);

            saveButton.Clicked += async(sender, e) =>
            {
                if (activityNameEntry.Text.Length != 0)
                {
                    if (activity == null)
                    {
                        if (!_manager.IsThereActivity(activityNameEntry.Text, null))
                        {
                            var newActivity = new Activity()
                            {
                                ActivityName         = activityNameEntry.Text,
                                ActivityRegisterDate = DateTime.Today,
                                IsActive             = true
                            };
                            newActivity.ActivityTypes =
                                activityTypesDictionary.FirstOrDefault(p =>
                                                                       p.Value == activityTypesPicker.SelectedItem.ToString()).Key;
                            if (_manager.InsertActivity(newActivity) > 0)
                            {
                                App.activityList = _manager.GetAllActivity();
                                await DisplayAlert("Başarı", "Aktivite ekleme işlemi başarılı bir şekilde sonuçlandı.",
                                                   "Tamam");

                                await Navigation.PopAsync(true);
                            }
                            else
                            {
                                await DisplayAlert("Hata", "Ekleme işlemi sırasında hata oluştu.", "Tamam");
                            }
                        }
                        else
                        {
                            await DisplayAlert("Hata", "Girilen aktivite adı zaten başka bir aktivite için kullanılıyor.", "Tamam");
                        }
                    }
                    else
                    {
                        if (!_manager.IsThereActivity(activityNameEntry.Text, activity.ActivityId))
                        {
                            var regulatedActivity = new Activity()
                            {
                                ActivityTypes = activityTypesDictionary.FirstOrDefault(p =>
                                                                                       p.Value == activityTypesPicker.SelectedItem.ToString()).Key,
                                ActivityName         = activityNameEntry.Text,
                                ActivityId           = activity.ActivityId,
                                ActivityRegisterDate = activity.ActivityRegisterDate,
                                IsActive             = isActiveStatusDictionary.FirstOrDefault(p => p.Value == activityIsActivePicker.SelectedItem.ToString()).Key
                            };

                            if (regulatedActivity.ActivityTypes == activity.ActivityTypes &&
                                regulatedActivity.IsActive == activity.IsActive &&
                                regulatedActivity.ActivityName.Equals(activity.ActivityName))
                            {
                                App.activityList = _manager.GetAllActivity();
                                await DisplayAlert("Başarı", "Aktivite güncelleme işlemi tamamlandı.", "Tamam");

                                await Navigation.PopAsync(true);
                            }
                            else
                            {
                                if (regulatedActivity.ActivityTypes != activity.ActivityTypes)
                                {
                                    var returned = await DisplayAlert("Dikkat",
                                                                      "Aktivitenin türünü değiştirdiniz. Devam ederseniz bu aktivitenin geçmişe yönelik tüm" +
                                                                      "verileri sıfırlanacaktır. Devam etmek istiyor musunuz?", "Devam", "İptal");

                                    if (returned == true)
                                    {
                                        var listActivityStatuses =
                                            _manager.GetAllActivityStatusesById(activity.ActivityId);
                                        foreach (var activityState in listActivityStatuses)
                                        {
                                            _manager.UpdateActivityStatus(activityState.ActivityStatusId, 0);
                                        }

                                        if (_manager.UpdateActivity(regulatedActivity) > 0)
                                        {
                                            App.activityList = _manager.GetAllActivity();
                                            await DisplayAlert("Başarı", "Aktivite güncelleme işlemi tamamlandı.", "Tamam");

                                            await Navigation.PopAsync(true);
                                        }
                                        else
                                        {
                                            await DisplayAlert("Hata", "Güncelleme işlemi sırasında hata oluştu.", "Tamam");
                                        }
                                    }
                                    else
                                    {
                                        await DisplayAlert("Uyarı",
                                                           "Aktivite güncelleme işlemi kendi isteğiniz ile iptal edildi.", "Tamam");
                                    }
                                }
                                else
                                {
                                    if (_manager.UpdateActivity(regulatedActivity) > 0)
                                    {
                                        App.activityList = _manager.GetAllActivity();
                                        await DisplayAlert("Başarı", "Aktivite güncelleme işlemi tamamlandı.", "Tamam");

                                        await Navigation.PopAsync(true);
                                    }
                                    else
                                    {
                                        await DisplayAlert("Hata", "Güncelleme işlemi sırasında hata oluştu.", "Tamam");
                                    }
                                }
                            }
                        }
                        else
                        {
                            await DisplayAlert("Hata", "Girilen aktivite adı zaten başka bir aktivite için kullanılıyor.", "Tamam");
                        }
                    }
                }
                else
                {
                    await DisplayAlert("Hata", "Aktivite Adı girilmesi zorunludur.", "Tamam");
                }
            };



            Content = mainGrid;
        }
        public ReportPage()
        {
            this.Title = "Rapor";
            foreach (var activityType in (Enums.ActivityTypes[])Enum.GetValues(typeof(Enums.ActivityTypes)))
            {
                activityTypesDictionary.Add(activityType, Enums.GetEnumDescription(activityType));
            }
            var activityIndicator = new ActivityIndicator()
            {
                Color = Color.DarkRed
            };

            activityIndicator.SetBinding(ActivityIndicator.IsRunningProperty, new Binding("IsBusy", source: this));
            var frame = new ExFrame()
            {
                CornerRadius      = 10,
                VerticalOptions   = LayoutOptions.CenterAndExpand,
                HorizontalOptions = LayoutOptions.Center,
                BackgroundColor   = Color.LightGray
            };
            var activityIndicatorStackLayout = new ExStackLayout()
            {
                VerticalOptions   = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Center,
                //  Padding = new Thickness(20, 20, 20, 20),
            };

            activityIndicatorStackLayout.Children.Add(activityIndicatorLabel);
            activityIndicatorStackLayout.Children.Add(activityIndicator);
            frame.SetBinding(Frame.IsVisibleProperty, new Binding("IsBusy", source: this));
            frame.Content = activityIndicatorStackLayout;
            var scrollView = new ScrollView();



            var activityNameLabel = new ExLabel()
            {
                Text = "Aktivite Adı",
                VerticalTextAlignment   = TextAlignment.Center,
                HorizontalTextAlignment = TextAlignment.Center
            };
            var totalNumberOfActivity = new ExLabel()
            {
                Text = "Toplam Yapılma",
                VerticalTextAlignment   = TextAlignment.Center,
                HorizontalTextAlignment = TextAlignment.Center
            };
            var numberOfActivitiesThisYear = new ExLabel()
            {
                Text = "Bu Yıl",
                VerticalTextAlignment   = TextAlignment.Center,
                HorizontalTextAlignment = TextAlignment.Center
            };
            var numberOfActivitiesThisMonth = new ExLabel()
            {
                Text = "Bu Ay",
                VerticalTextAlignment   = TextAlignment.Center,
                HorizontalTextAlignment = TextAlignment.Center
            };
            var numberOfActivitiesThisWeek = new ExLabel()
            {
                Text = "Bu Hafta",
                VerticalTextAlignment   = TextAlignment.Center,
                HorizontalTextAlignment = TextAlignment.Center
            };

            bodyGrid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(1, GridUnitType.Auto)
            });
            bodyGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            });
            bodyGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            });
            bodyGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            });
            bodyGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            });
            bodyGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            });
            bodyGrid.Children.Add(activityNameLabel, 0, 0);
            bodyGrid.Children.Add(totalNumberOfActivity, 1, 0);
            bodyGrid.Children.Add(numberOfActivitiesThisYear, 2, 0);
            bodyGrid.Children.Add(numberOfActivitiesThisMonth, 3, 0);
            bodyGrid.Children.Add(numberOfActivitiesThisWeek, 4, 0);

            backupButton.Clicked += async(sender, e) =>
            {
                Device.BeginInvokeOnMainThread((async() =>
                {
                    backupButton.IsEnabled = false;
                    restoreFromBackupButton.IsEnabled = false;
                    //  App.exNavigationPage.AllButtonDisabled();
                    await CreateBackup();
                    backupButton.IsEnabled = true;
                    restoreFromBackupButton.IsEnabled = true;
                    //  App.exNavigationPage.AllButtonEnable();
                }));
            };
            restoreFromBackupButton.Clicked += async(sender, e) =>
            {
                var storageStatus = await CrossPermissions.Current.CheckPermissionStatusAsync(Plugin.Permissions.Abstractions.Permission.Storage);

                if (storageStatus != PermissionStatus.Granted)
                {
                    var results = await CrossPermissions.Current.RequestPermissionsAsync(new[] { Plugin.Permissions.Abstractions.Permission.Storage });

                    storageStatus = results[Plugin.Permissions.Abstractions.Permission.Storage];
                }

                if (storageStatus == PermissionStatus.Granted)
                {
                    var file = await CrossFilePicker.Current.PickFile(new string[]
                    {
                        ".pzr",
                        ".xlsx"
                    });

                    Device.BeginInvokeOnMainThread((async() =>
                    {
                        backupButton.IsEnabled = false;
                        restoreFromBackupButton.IsEnabled = false;
                        //   App.exNavigationPage.AllButtonDisabled();
                        await RestoreFromBackup(file);
                        backupButton.IsEnabled = true;
                        restoreFromBackupButton.IsEnabled = true;
                        // await CreateDisplay();
                        //  App.exNavigationPage.AllButtonEnable();
                    }));
                }
                else
                {
                    await DisplayAlert("Hata", "Dosya erişimine izin vermeniz gerekmektedir.", "Tamam");
                }
            };
            scrollView.Content = bodyGrid;
            mainGrid.Children.Add(frame);
            mainGrid.Children.Add(scrollView);
            Content = mainGrid;
            Device.BeginInvokeOnMainThread((async() => { await CreateDisplay(); }));
        }
        private async Task CreateDisplay()
        {
            activityIndicatorLabel.Text = "Rapor Oluşturuluyor...";
            //bodyGrid.Children.Clear();
            backupButton.IsEnabled            = false;
            restoreFromBackupButton.IsEnabled = false;
            this.IsBusy = true;
            await Task.Delay(1000);

            var allActivities = _manager.GetAllActivity().OrderBy(p => p.ActivityName);
            var rowNumber     = 1;
            var dayOfWeek     = (int)DateTime.Now.DayOfWeek;

            foreach (var activity in allActivities)
            {
                bodyGrid.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(1, GridUnitType.Auto)
                });
                var allActivityStatus = _manager.GetAllActivityStatusesById(activity.ActivityId);
                var activityNameLabel = new ExLabel()
                {
                    Text = activity.ActivityName,
                    VerticalTextAlignment   = TextAlignment.Center,
                    HorizontalTextAlignment = TextAlignment.Center
                };
                var totalNumberOfActivityLabel = new ExLabel()
                {
                    Text = allActivityStatus.Sum(p => p.ActivityValue).ToString(),
                    VerticalTextAlignment   = TextAlignment.Center,
                    HorizontalTextAlignment = TextAlignment.Center
                };
                var numberOfActivitiesThisYearLabel = new ExLabel()
                {
                    Text = allActivityStatus.Where(p => p.Date.Year == DateTime.Today.Year).Sum(p => p.ActivityValue).ToString(),
                    VerticalTextAlignment   = TextAlignment.Center,
                    HorizontalTextAlignment = TextAlignment.Center
                };
                var numberOfActivitiesThisMonthLabel = new ExLabel()
                {
                    Text = allActivityStatus.Where(p => p.Date.Year == DateTime.Today.Year && p.Date.Month == DateTime.Today.Month).Sum(p => p.ActivityValue).ToString(),
                    VerticalTextAlignment   = TextAlignment.Center,
                    HorizontalTextAlignment = TextAlignment.Center
                };

                var numberOfActivitiesThisWeekLabel = new ExLabel()
                {
                    Text = allActivityStatus.Where(p => p.Date > DateTime.Today.AddDays(-dayOfWeek)).Sum(p => p.ActivityValue).ToString(),
                    VerticalTextAlignment   = TextAlignment.Center,
                    HorizontalTextAlignment = TextAlignment.Center
                };
                if (rowNumber % 2 == 1)
                {
                    activityNameLabel.BackgroundColor                = Color.LightGray;
                    totalNumberOfActivityLabel.BackgroundColor       = Color.LightGray;
                    numberOfActivitiesThisYearLabel.BackgroundColor  = Color.LightGray;
                    numberOfActivitiesThisMonthLabel.BackgroundColor = Color.LightGray;
                    numberOfActivitiesThisWeekLabel.BackgroundColor  = Color.LightGray;
                }
                bodyGrid.Children.Add(activityNameLabel, 0, rowNumber);
                bodyGrid.Children.Add(totalNumberOfActivityLabel, 1, rowNumber);
                bodyGrid.Children.Add(numberOfActivitiesThisYearLabel, 2, rowNumber);
                bodyGrid.Children.Add(numberOfActivitiesThisMonthLabel, 3, rowNumber);
                bodyGrid.Children.Add(numberOfActivitiesThisWeekLabel, 4, rowNumber);
                rowNumber++;
                await Task.Delay(300);
            }


            bodyGrid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(1, GridUnitType.Auto)
            });
            bodyGrid.Children.Add(backupButton, 0, rowNumber);
            Grid.SetColumnSpan(backupButton, 5);
            //  bodyGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Auto) });
            rowNumber++;
            await Task.Delay(300);

            bodyGrid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(1, GridUnitType.Auto)
            });
            bodyGrid.Children.Add(restoreFromBackupButton, 0, rowNumber);
            Grid.SetColumnSpan(restoreFromBackupButton, 5);
            // bodyGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Auto) });
            await Task.Delay(1380);

            backupButton.IsEnabled            = true;
            restoreFromBackupButton.IsEnabled = true;
            this.IsBusy = false;
        }
        public ExNavigationPage()
        {
            this.Title = "Menü";

            #region title


            var titleLabel = new ExLabel
            {
                Text              = "Menü",
                TextColor         = Color.White,
                VerticalOptions   = LayoutOptions.CenterAndExpand,
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                FontSize          = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
                FontAttributes    = FontAttributes.Bold,
                FontFamily        = "Lobster-Regular"
            };

            //var titleGrid = new ExGrid()
            //{
            //    VerticalOptions = LayoutOptions.StartAndExpand,
            //    HorizontalOptions = LayoutOptions.CenterAndExpand,
            //    BackgroundColor = Color.CornflowerBlue
            //};
            //titleGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(100)});
            //titleGrid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star)});

            //titleGrid.Children.Add(titleLabel, 0, 0);
            var titleStackLayout = new ExStackLayout()
            {
                VerticalOptions   = LayoutOptions.Start,
                HorizontalOptions = LayoutOptions.Fill,
                Padding           = new Thickness(0, 30, 0, 30),
                // BackgroundColor = Color.CornflowerBlue,
                BackgroundColor = Color.DarkRed,
                HeightRequest   = 40
            };
            titleStackLayout.Children.Add(titleLabel);


            #endregion


            #region buttons
            activityButton.Clicked += async(sender, e) =>
            {
                App.exMasterPage.ActivityPageShow();
            };

            activityStatusButton.Clicked += async(sender, e) =>
            {
                //await new ExMasterPage().Detail.Navigation.PushAsync(new ActivityStatusPage());
                App.exMasterPage.ActivityStatusPageShow();
            };

            reportButton.Clicked += async(sender, e) =>
            {
                App.exMasterPage.ReportPageShow();
            };
            var buttonStackLayout = new ExStackLayout()
            {
                Padding           = new Thickness(15, 15, 15, 0),
                VerticalOptions   = LayoutOptions.StartAndExpand,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                // BackgroundColor = Color.Black,
                Spacing = 7
            };
            buttonStackLayout.Children.Add(activityButton);
            buttonStackLayout.Children.Add(activityStatusButton);
            buttonStackLayout.Children.Add(reportButton);
            #endregion



            #region mainStackLayout

            var mainStackLayout = new ExStackLayout
            {
                //  BackgroundColor = Color.Red,
                Orientation = StackOrientation.Vertical
            };
            mainStackLayout.Children.Add(titleStackLayout);
            mainStackLayout.Children.Add(buttonStackLayout);

            #endregion


            Content = mainStackLayout;
        }
示例#9
0
 public TextString()
 {
     var aa = new ExLabel {
         Text = ""
     };
 }
        public async Task CreateDisplay(DateTime?date)
        {
            try
            {
                this.IsBusy = true;
                if (date > DateTime.Today)
                {
                    await DisplayAlert("Hata", "Bugünün tarihinden ileri bir tarih giremezsiniz.", "Tamam");

                    date = DateTime.Today;
                }
                var queryDate = new DateTime(date.Value.Year, date.Value.Month, date.Value.Day);
                mainExStackLayout.IsVisible = false;
                mainExStackLayout.Children.Clear();
                this.datePicker.Date            = queryDate;
                this.datePicker.Format          = "dd/MM/yyyy";
                this.datePicker.VerticalOptions = LayoutOptions.Center;
                this.datePicker.MaximumDate     = DateTime.Today;

                //var datePicker = new ExDatePicker()
                //{
                //    Date = queryDate,
                //    Format = "dd/MM/yyyy",
                //    VerticalOptions = LayoutOptions.Center,
                //    MaximumDate = DateTime.Today
                //};
                var dateLabel = new ExLabel()
                {
                    Text      = "Günü Seçiniz:",
                    TextColor = Color.Blue,
                    Margin    = new Thickness(10, 0, 0, 0),
                    // HorizontalTextAlignment = TextAlignment.Center,
                    VerticalTextAlignment = TextAlignment.Center
                };
                mainExStackLayout.Children.Add(dateLabel);
                mainExStackLayout.Children.Add(datePicker);

                mainExStackLayout.Children.Add(datePicker);
                var allActivities = _manager.GetAllActivity(date, true);
                foreach (var activity in allActivities)
                {
                    if (!_manager.IsThereActivityStatus(activity.ActivityId, queryDate))
                    {
                        _manager.InsertActivityStatus(activity.ActivityId, queryDate);
                    }
                }

                var allActivitiesNoFilter = _manager.GetAllActivity();
                var allActivityStatus     = _manager.GetAllActivityStatuses(queryDate);
                var activityStatusList    = allActivityStatus.Select(p => new ActivityStatusViewModel()
                {
                    ActivityName = allActivitiesNoFilter.FirstOrDefault(a => a.ActivityId == p.ActivityId) != null ?
                                   allActivitiesNoFilter.FirstOrDefault(a => a.ActivityId == p.ActivityId).ActivityName
                        : "",
                    ActivityValue    = p.ActivityValue,
                    ActivityStatusId = p.ActivityStatusId,
                    ActivityTypes    = allActivitiesNoFilter.FirstOrDefault(a => a.ActivityId == p.ActivityId) != null ?
                                       allActivitiesNoFilter.FirstOrDefault(a => a.ActivityId == p.ActivityId).ActivityTypes :
                                       Enums.ActivityTypes.YapildiYapilmadi
                }).ToList();
                exPickers = new ExPicker[activityStatusList.Count(p => p.ActivityTypes == Enums.ActivityTypes.YapildiYapilmadi)];
                exEntries = new ExNumericEntry[activityStatusList.Count(p => p.ActivityTypes != Enums.ActivityTypes.YapildiYapilmadi)];
                var exPickersCounter    = 0;
                var exEntryCellsCounter = 0;
                var lst = new List <ViewCell>();
                if (activityStatusList.Count > 0)
                {
                    var tabIndex = 0;
                    foreach (var activity in activityStatusList)
                    {
                        if (activity.ActivityTypes == Enums.ActivityTypes.Sayi)
                        {
                            exEntries[exEntryCellsCounter] = new ExNumericEntry()
                            {
                                Keyboard                = Keyboard.Text,
                                Placeholder             = activity.ActivityValue.ToString(),
                                ReturnCommandParameter  = activity.ActivityStatusId,
                                TabIndex                = tabIndex,
                                HorizontalTextAlignment = TextAlignment.Center,
                            };
                            mainExStackLayout.Children.Add(new ExLabel()
                            {
                                Text      = activity.ActivityName,
                                TextColor = Color.Blue,
                                Margin    = new Thickness(10, 0, 0, 0),
                                //  HorizontalTextAlignment = TextAlignment.Center,
                                VerticalTextAlignment = TextAlignment.Center,
                            });
                            mainExStackLayout.Children.Add(exEntries[exEntryCellsCounter]);
                            exEntryCellsCounter++;
                        }
                        else
                        {
                            exPickers[exPickersCounter] = new ExPicker()
                            {
                                ItemsSource  = exPickersValue.Values.ToList(),
                                SelectedItem = exPickersValue.FirstOrDefault(p => p.Key == int.Parse(activity.ActivityValue.ToString())).Value,
                                Title        = "Durum Seçiniz",
                                ClassId      = activity.ActivityStatusId.ToString(),
                                TabIndex     = tabIndex
                            };
                            mainExStackLayout.Children.Add(new ExLabel()
                            {
                                Text      = activity.ActivityName,
                                TextColor = Color.Blue,
                                Margin    = new Thickness(10, 0, 0, 0),
                                // HorizontalTextAlignment = TextAlignment.Center,
                                VerticalTextAlignment = TextAlignment.Center
                            });
                            mainExStackLayout.Children.Add(exPickers[exPickersCounter]);
                            exPickersCounter++;
                        }

                        tabIndex++;
                    }
                }
                var saveButton = new Exbutton()
                {
                    Text            = "Kaydet",
                    BackgroundColor = Color.FromHex("#449D44"),
                    TextColor       = Color.White,
                    CornerRadius    = 10,
                    VerticalOptions = LayoutOptions.Center
                };
                saveButton.Clicked += async(sender, e) =>
                {
                    foreach (var exEntry in exEntries)
                    {
                        if (exEntry.Text != null)
                        {
                            double value;
                            if (double.TryParse(exEntry.Text, NumberStyles.Float,
                                                CultureInfo.InvariantCulture, out value))
                            {
                                _manager.UpdateActivityStatus(int.Parse(exEntry.ReturnCommandParameter.ToString()), value);
                            }
                        }
                        //  DisplayAlert("Deneme", $"{Convert.ToDouble(exEntry.Text)} {exEntry.ReturnCommandParameter}", "a");
                    }

                    foreach (var exPicker in exPickers)
                    {
                        _manager.UpdateActivityStatus(int.Parse(exPicker.ClassId.ToString()),
                                                      exPickersValue.FirstOrDefault(p => p.Value == exPicker.SelectedItem).Key);
                        //DisplayAlert("Deneme", $"{exPicker.SelectedItem} {exPicker.ClassId}", "a");
                    }

                    await DisplayAlert("Başarı", "Kayıt işlemi başarı ile tamamlandı.", "Tamam");
                };
                mainExStackLayout.Children.Add(saveButton);
                await Task.Delay(1000);

                mainExStackLayout.IsVisible = true;
                await Task.Delay(1380);

                this.IsBusy = false;
            }
            catch (Exception e)
            {
                DisplayAlert("Hata", e.Message, "Tamam");
            }
        }