예제 #1
0
 public bool insertIntoTableBannedId(BannedId bannedId)
 {
     using (var connection = new SQLiteConnection(System.IO.Path.Combine(folder, dbTable)))
     {
         connection.Insert(bannedId);
         return(true);
     }
 }
예제 #2
0
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            DataBase.db = DataBase.getDataBase();
            DataBase.db.createDataBase();
            DataBase.db.createDataBaseExp();
            DataBase.db.createDataBaseBannedId();
            string folder = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);

            Log.Info("DB_PATH", folder);


            var view = convertView ?? activity.LayoutInflater.Inflate(Resource.Layout.list_view_dataTemplate, parent, false);

            var txtName     = view.FindViewById <TextView>(Resource.Id.textView1);
            var txtPriority = view.FindViewById <TextView>(Resource.Id.textView2);
            var txtCategory = view.FindViewById <TextView>(Resource.Id.textView3);
            var txtDateTime = view.FindViewById <TextView>(Resource.Id.textView4);
            //var txtDone = view.FindViewById<TextView>(Resource.Id.textView5);
            var    checkBox = view.FindViewById <CheckBox>(Resource.Id.chkBox);
            string getStatus;

            //Ставим пустой слушатель на проверочнуюкоробку
            checkBox.SetOnCheckedChangeListener(null);
            checkBox.Checked = lstSource[position].Done;
            var selected_Element = DataBase.db.get_Element(lstSource[position].Id)[0];

            checkBox.Click += delegate
            {
                Console.WriteLine("нажата галка");
                if (checkBox.Checked == true)
                {
                    lstSource[position].Done = true;
                    Console.WriteLine("Name from list" + lstSource[position].Name);
                    selected_Element.Done = true;
                    DataBase.db.updateTableTask(selected_Element);

                    var someData = DataBase.db.selectTableTask();

                    BannedId bannedId = new BannedId()
                    {
                        Id = lstSource[position].Id
                    };
                    var checkId = DataBase.db.findBannedId(lstSource[position].Id);
                    Console.WriteLine("checkId = " + checkId.Count());

                    // ветка если БД еще не создана
                    if (someData.Count() == 0)
                    {
                        Console.WriteLine("заходим в ветку бд не создана");
                        Exp exp = new Exp()
                        {
                            Name         = "Достижения",
                            EducationExp = 0,
                            MainExp      = 0,
                            FinansiExp   = 0,
                            OtherExp     = 0,
                        };
                        DataBase.db.insertExp(exp);


                        someData = DataBase.db.selectTableTask();
                        //если в БД с забаненными id ничего нет то добавляем текущий id в нее и начисляем опыт
                        if (checkId.Count() == 0)
                        {
                            //var t = System.Threading.Tasks.Task.Factory.StartNew(() => {
                            DataBase.db.insertIntoTableBannedId(bannedId);
                            DataBase.db.updateTableExp(lstSource[position].Category, lstSource[position].Id);
                            //});
                            //t.Wait();
                            //t.Dispose();
                            _activityByListViewAdapter._fragment3.LoadExpData();
                            _activityByListViewAdapter._fragment3.LoadAchevementsData();
                        }
                    }
                    // ветка если БД уже существует
                    else
                    {
                        Console.WriteLine("заходм в ветку где бд создана");
                        if (checkId.Count() == 0)
                        {
                            //var t = System.Threading.Tasks.Task.Factory.StartNew(() => {
                            DataBase.db.insertIntoTableBannedId(bannedId);
                            DataBase.db.updateTableExp(lstSource[position].Category, lstSource[position].Id);
                            //});
                            //t.Wait();
                            //t.Dispose();
                            _activityByListViewAdapter._fragment3.LoadExpData();

                            _activityByListViewAdapter._fragment3.LoadAchevementsData();
                        }
                    }
                }
                else
                {
                    lstSource[position].Done = false;
                    selected_Element.Done    = false;
                    var t = System.Threading.Tasks.Task.Factory.StartNew(() =>
                    {
                        DataBase.db.updateTableTask(selected_Element);
                    });
                    t.Wait();
                    t.Dispose();

                    _activityByListViewAdapter._fragment2.LoadData();
                }

                //Обновляем звездочки в достижениях
            };


            if (lstSource[position].Done == true)
            {
                getStatus = "Выполнено";
            }
            else
            {
                getStatus = "Не выполнено";
            }

            txtName.Text     = lstSource[position].Name;
            txtPriority.Text = "Приоритет: " + lstSource[position].Priority;
            txtCategory.Text = "Категория: " + lstSource[position].Category;
            txtDateTime.Text = lstSource[position].Time.ToShortTimeString() + ", " + lstSource[position].Date.ToShortDateString();
            return(view);
        }