async void LoadCourses() { List <Course> courses = null; if (CurBranch != null) { courses = await Course.DB.RowsAsync.Where(c => c.BranchID == BranchID).OrderBy(c => c.Name).ToListAsync(); } else { courses = await Course.DB.RowsAsync.OrderBy(c => c.Name).ToListAsync(); } var adapterItems = new List <MainMenuItemIcon>(); foreach (var item in courses) { await item.LoadModules(); await item.LoadAttachment(); await item.LoadBranch(); var iconItem = new MainMenuItemIcon { ID = item.ID, Title = item.Name, IsEnabled = true }; var attachment = item.Attachment; if (attachment != null) { iconItem.Base64String = attachment.Data; } adapterItems.Add(iconItem); } pAdapter = new MainMenuIconAdapter(adapterItems.ToArray()); pAdapter.ItemClick += (o, e) => { var course = adapterItems[e.Position]; if (SelectMode) { var resIntent = new Intent(); resIntent.PutExtra("CourseID", course.ID); SetResult(Result.Ok, resIntent); Finish(); OverridePendingTransition(Resource.Animation.side_in_right, Resource.Animation.side_out_left); } else { var intent = new Intent(this, typeof(ModulesActivity)); intent.PutExtra("CourseID", course.ID); StartActivity(intent); OverridePendingTransition(Resource.Animation.side_in_right, Resource.Animation.side_out_left); } }; Recycler.SetAdapter(pAdapter); pAdapter.NotifyDataSetChanged(); }
void PopulatMainMenuAsync() { var itemTint = Android.Graphics.Color.Green.ToArgb(); var branches = Branch.DB.Rows.OrderBy(c => c.Name).ToList(); MainMenuItemIcons = new List <MainMenuItemIcon>(); if (branches.Count > 0) { foreach (var item in branches) { if (MainMenuItemIcons.Any(c => c.ID == item.ID)) { continue; } var iconItem = new MainMenuItemIcon { ID = item.ID, Title = item.Name, IsEnabled = true }; if (item.IconID.HasValue) { var attachment = Attachment.DB.Rows.FirstOrDefault(c => c.ID == item.IconID); if (attachment != null) { iconItem.Base64String = attachment.Data; } } MainMenuItemIcons.Add(iconItem); } } if (!MainMenuItemIcons.Any(c => c.ID == 0)) { MainMenuItemIcons.Add(new MainMenuItemIcon { ID = 0, Title = "Notice board", IsEnabled = true }); } if (!MainMenuItemIcons.Any(c => c.ID == -1)) { MainMenuItemIcons.Add(new MainMenuItemIcon { ID = -1, Title = "Weather", IsEnabled = true }); } Adapter = new MainMenuIconAdapter(MainMenuItemIcons.ToArray()); Adapter.ItemClick += (o, e) => { var item = MainMenuItemIcons[e.Position]; if (branches.Count > 0) { foreach (var branch in branches) { if (item.ID == branch.ID) { var intent = new Intent(this, typeof(AllCoursesActivity)); intent.PutExtra("BranchID", branch.ID); StartActivity(intent); OverridePendingTransition(Resource.Animation.side_in_right, Resource.Animation.side_out_left); } } } if (item.ID == 0) { StartActivity(typeof(Noticeboard.NoticeboardsActivity)); OverridePendingTransition(Resource.Animation.side_in_right, Resource.Animation.side_out_left); } if (item.ID == -1) { StartActivity(typeof(Weather.MainWeatherActivity)); OverridePendingTransition(Resource.Animation.side_in_right, Resource.Animation.side_out_left); } //else if (item.Label == "EXAMINATIONS") //{ // StartActivity(typeof(Examinations.ExaminationsActivity)); // OverridePendingTransition(Resource.Animation.side_in_right, Resource.Animation.side_out_left); //} }; GridViewMain.SetAdapter(Adapter); Adapter.NotifyDataSetChanged(); }