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();
        }
Exemple #2
0
        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();
        }