public StaffDetailViewModel(StaffTableViewModel viewModel, IStaff staffStore, IPageService pageService)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            _pageService = pageService;
            _staffStore  = staffStore;

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

            Staff = new Staff
            {
                id          = viewModel.Id,
                staffID     = viewModel.StaffID,
                firstName   = viewModel.FirstName,
                lastName    = viewModel.LastName,
                email       = viewModel.Email,
                city        = viewModel.City,
                postCode    = viewModel.PostCode,
                accountType = viewModel.AccountType,
                active      = viewModel.Active,
                dayOfBirth  = viewModel.DayOfBirth,
                gender      = viewModel.Gender,
                idNumber    = viewModel.IdNumber,
                password    = viewModel.Password,
                phoneNumber = viewModel.PhoneNumber,
                street      = viewModel.Street
            };
        }
예제 #2
0
        private async Task DeleteStaffs(StaffTableViewModel staff)
        {
            var a = "";

            if (await _pageService.DisplayAlert("Warning", $"Are you sure you want to delete{staff.StaffID}?", "Yes", "No"))
            {
                Staffs.Remove(staff);
                var userStaff = await _staffStore.GetStaffs(staff.Id);

                await _staffStore.DeleteStaff(userStaff);
            }
        }
예제 #3
0
        private async Task SelectStaffs(StaffTableViewModel staff)
        {
            if (staff == null)
            {
                return;
            }

            SelectedStaff = null;

            var viewModel = new StaffDetailViewModel(staff, _staffStore, _pageService);

            viewModel.StaffUpdated += (source, updateStaff) =>
            {
                staff.Id = updateStaff.id;
            };

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