public void TestAdd1() { var lst = new List <ToDo>(); lst.Add(new ToDo() { Id = 1, Text = "ccc", DueDate = new DateTime(2017, 5, 3), CreatedAt = new DateTime(2017, 4, 1), Completed = false }); lst.Add(new ToDo() { Id = 2, Text = "bbb", DueDate = new DateTime(2017, 5, 1), CreatedAt = new DateTime(2017, 4, 2), Completed = true }); lst.Add(new ToDo() { Id = 3, Text = "aaa", DueDate = new DateTime(2017, 5, 2), CreatedAt = new DateTime(2017, 4, 3), Completed = false }); var items = new ToDoFiltableCollection(lst); // 作成日順にソートする items.SetFilter(true, 0); Assert.AreEqual(3, items.Count); Assert.AreEqual("aaa", items[0].Text); // 新しい項目を追加する items.Add(new ToDo() { Id = 100, Text = "new", DueDate = null, CreatedAt = new DateTime(2017, 5, 1), Completed = false }); // 追加した項目が先頭になる Assert.AreEqual(4, items.Count); Assert.AreEqual("new", items[0].Text); }
public void TestInit() { var items = new ToDoFiltableCollection(); Assert.AreEqual(0, items.Count); items.Add(new ToDo() { Id = 1, Text = "ccc", DueDate = new DateTime(2017, 5, 1), CreatedAt = new DateTime(2017, 4, 3) }); Assert.AreEqual(1, items.Count); items.Add(new ToDo() { Id = 2, Text = "bbb", DueDate = new DateTime(2017, 5, 2), CreatedAt = new DateTime(2017, 4, 2) }); Assert.AreEqual(2, items.Count); items.Add(new ToDo() { Id = 3, Text = "aaa", DueDate = new DateTime(2017, 5, 3), CreatedAt = new DateTime(2017, 4, 1) }); Assert.AreEqual(3, items.Count); var lst = new List <ToDo>(); lst.Add(new ToDo() { Id = 1, Text = "ccc", DueDate = new DateTime(2017, 5, 1), CreatedAt = new DateTime(2017, 4, 3) }); lst.Add(new ToDo() { Id = 2, Text = "bbb", DueDate = new DateTime(2017, 5, 2), CreatedAt = new DateTime(2017, 4, 2) }); lst.Add(new ToDo() { Id = 3, Text = "aaa", DueDate = new DateTime(2017, 5, 3), CreatedAt = new DateTime(2017, 4, 1) }); items = new ToDoFiltableCollection(lst); Assert.AreEqual(3, items.Count); }
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); switch (requestCode) { case 1: // 項目を選択時 if (resultCode == Result.Ok) { var v = data.GetStringExtra("data"); var item = Newtonsoft.Json.JsonConvert.DeserializeObject <ToDo>(v); // データを更新する items.Update(item.Id, item); // アダプターを更新 adapter.NotifyDataSetChanged(); // 内部ストレージに保存 this.Save(); } break; case 2: // 新規作成時 if (resultCode == Result.Ok) { var v = data.GetStringExtra("data"); var item = Newtonsoft.Json.JsonConvert.DeserializeObject <ToDo>(v); // データを更新する item.Id = items.Count + 1; items.Add(item); // アダプターを更新 adapter.NotifyDataSetChanged(); // 内部ストレージに保存 this.Save(); } break; case 3: // 設定画面からの戻り if (resultCode == Result.Ok) { setting.DispCompleted = data.GetBooleanExtra("DispCompleted", true); setting.SortOrder = data.GetIntExtra("SortOrder", 0); items.SetFilter(setting.DispCompleted, setting.SortOrder); // アダプターを更新 adapter.NotifyDataSetChanged(); } break; default: break; } }