コード例 #1
0
        public App()
        {
            InitializeComponent();

            // Для виклику методу GetDatabasePath на різних ОС
            // DependencyService потрібний для платформо-залежних реалізацій
            string dbPath = DependencyService.Get <IPath>().GetDatabasePath(DBFILENAME);

            using (var db = new EntityTodoDatabase(dbPath))
            {
                // Виконати дії, якщо БД не існує
                db.Database.EnsureCreated(); // ~create or ignore
                if (db.Notations.Count() == 0)
                {
                    db.Notations.Add(new Notation {
                        NotationName = "Buba", NotationType = "Note", DateOfCreation = DateTime.Now, NotationText = "asdfasdfsadfasfsdf"
                    });               // ~insert
                    db.SaveChanges(); // ~commit
                }
            }

            // MainPage = new MasterDetailPageNavigation.MainPage();
            // var nav = new NavigationPage(new MainPage());
            var nav = new MainPage();

            // nav.BarBackgroundColor = (Color)App.Current.Resources["primaryIndianRed"];
            // nav.BarTextColor = Color.White;
            MainPage = nav;
        }
コード例 #2
0
        private async void SaveNote(object sender, EventArgs e)
        {
            var mark = (Mark)BindingContext;

            if (!String.IsNullOrEmpty(mark.MarkTitle) && !String.IsNullOrEmpty(mark.MarkType))
            {
                using (EntityTodoDatabase db = new EntityTodoDatabase(dbPath))
                {
                    if (mark.MarkId == 0)
                    {
                        db.Marks.Add(mark);
                    }
                    else
                    {
                        db.Marks.Update(mark);
                    }
                    db.SaveChanges();
                }
                await this.Navigation.PopAsync();
            }
            else
            {
                await DisplayAlert("Попередження", "Вкажіть ім'я та тип", "Ок");
            }
        }
コード例 #3
0
        /*private void pickerDateSelected(object sender, DateChangedEventArgs e)
         * {
         *  datePickerPicked = e.NewDate;
         * }
         *
         * private void pickerTimeSelected(object sender, PropertyChangedEventArgs args)
         * {
         *  var timePicked = args.Time;
         *  timePickerPicked = timePicked;
         * }*/

        private async void SaveNote(object sender, EventArgs e)
        {
            DateTime datePickerPicked = DeadlineDate.Date;
            TimeSpan timePickerPicked = DeadlineTime.Time;

            var notation = (Notation)BindingContext;

            notation.Deadline = new DateTime(datePickerPicked.Year, datePickerPicked.Month, datePickerPicked.Day, timePickerPicked.Hours, timePickerPicked.Minutes, 0);

            if (!String.IsNullOrEmpty(notation.NotationName) && !String.IsNullOrEmpty(notation.NotationType))
            {
                using (EntityTodoDatabase db = new EntityTodoDatabase(dbPath))
                {
                    if (notation.NotationId == 0)
                    {
                        db.Notations.Add(notation);
                    }
                    else
                    {
                        db.Notations.Update(notation);
                    }
                    db.SaveChanges();
                }
                await this.Navigation.PopAsync();
            }
            else
            {
                await DisplayAlert("Попередження", "Вкажіть ім'я та тип", "Ок");
            }
        }
コード例 #4
0
        protected override void OnAppearing()
        {
            string dbPath = DependencyService.Get <IPath>().GetDatabasePath(App.DBFILENAME);

            using (EntityTodoDatabase db = new EntityTodoDatabase(dbPath))
            {
                friendsList.ItemsSource = db.Notations.OrderByDescending(x => x.DateOfCreation).ToList();
            }
            base.OnAppearing();
        }
コード例 #5
0
        protected override void OnAppearing()
        {
            string dbPath = DependencyService.Get <IPath>().GetDatabasePath(App.DBFILENAME);

            using (EntityTodoDatabase db = new EntityTodoDatabase(dbPath))
            {
                marksList.ItemsSource = db.Marks.ToList();
            }

            base.OnAppearing();
        }
コード例 #6
0
        private async void DeleteNote(object sender, EventArgs e)
        {
            var mark = (Mark)BindingContext;

            try
            {
                using (EntityTodoDatabase db = new EntityTodoDatabase(dbPath))
                {
                    db.Marks.Remove(mark);
                    db.SaveChanges();
                }
                await this.Navigation.PopAsync();
            }
            catch
            {
                bool answer = await DisplayAlert("Попередження", "Видалення не можливе (задачі або події не існує)", "Продовжити", "Вийти");

                if (!answer)
                {
                    await this.Navigation.PopAsync();
                }
            }
        }