private async Task DeleteCredits(CreditTableViewModel credit)
        {
            var a = "";

            if (await _pageService.DisplayAlert("Warning", $"Are you sure you want to delete{credit.CreditID}?", "Yes", "No"))
            {
                Credits.Remove(credit);
                var userCredit = await _creditStore.GetCredits(credit.Id);

                await _creditStore.DeleteCredit(userCredit);
            }
        }
        public CreditDetailViewModel(CreditTableViewModel viewModel, ICredit creditStore, IPageService pageService)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            _pageService = pageService;
            _creditStore = creditStore;

            SaveCommand = new Command(async() => await Save());

            Credit = new Credit
            {
                id            = viewModel.Id,
                creditID      = viewModel.CreditID,
                classesWeekly = viewModel.ClassesWeekly
            };
        }
        private async Task SelectCredits(CreditTableViewModel credit)
        {
            if (credit == null)
            {
                return;
            }

            SelectedCredit = null;

            var viewModel = new CreditDetailViewModel(credit, _creditStore, _pageService);

            viewModel.CreditUpdated += (source, updateCredit) =>
            {
                credit.Id            = updateCredit.id;
                credit.CreditID      = updateCredit.creditID;
                credit.ClassesWeekly = updateCredit.classesWeekly;
            };

            await _pageService.PushModalAsync(new CreditDetailPage(viewModel));
        }