示例#1
0
        public ExchangeProfileViewModel(ProfileRegister register,
                                        ExchangeProfileDataStore.Factory storeFactory,
                                        ExchangeAuthenticationService authenticationService,
                                        AutoMapper.IMapper mapper)
            : base(register)
        {
            _storeFactory = storeFactory;
            _client       = new GraphServiceClient(
                "https://graph.microsoft.com/v1.0",
                new DelegateAuthenticationProvider(async(request) =>
            {
                try
                {
                    var result = await authenticationService.AcquireTokenSilentAsync(EmailAddress);
                    var token  = result.AccessToken;
                    request.Headers.Authorization = new AuthenticationHeaderValue("bearer", token);
                }
                catch (Exception ex)
                {
                    IsAuthenticated = false;
                    this.Log().Error(ex, $"Failed to silently authenticate {EmailAddress}.");
                }
            }));
            _mailService = new ExchangeMailService(register, _storeFactory, _client, mapper);

            var queryFactory = new RelayProfileDataQueryFactory(register.DataFilePath, path => storeFactory.Invoke(path, false));

            MailBox = new MailBoxViewModel(queryFactory, _mailService);
        }
 public void CheckLoginInformationAndNavigate()
 {
     try
     {
         CheckForNullOrWhiteSpace(Username, Password);
         if (LoginTypes[SelectedIndexLoginType] == "Kunde")
         {
             Pro           = ProfileRegister.FindDicProfile(Username, Password);
             KundeLogin    = KundeRegister.FindKunde(Pro.Username, Pro.Password);
             LoginUsername = Pro.Username;
             NavigateToMainSystem();
         }
         if (LoginTypes[SelectedIndexLoginType] == "Admin")
         {
             AdminRegister.FindAdmin(Username, Password);
             NavigateToAdminPage();
         }
     }
     catch (ArgumentException ex)
     {
         Dialog.Show(ex.Message);
     }
     catch (NullReferenceException ex)
     {
         Dialog.Show(ex.Message);
     }
 }
示例#3
0
        public async Task <ProfileViewModelBase> CreateViewModelAsync(ProfileRegister register)
        {
            var profile = new ExchangeProfileViewModel(register, _storeFactory, _authenticationService, _mapper);
            await profile.RestoreAsync();

            return(profile);
        }
 public FakeProfileViewModel(ProfileRegister register, Profile state,
                             FakeProfileDataQueryFactory queryFactory,
                             FakeMailService mailService)
     : base(register)
 {
     MailBox     = new MailBoxViewModel(queryFactory, mailService);
     DisplayName = state.DisplayName;
 }
        public async Task UnregisterAsync(ProfileRegister profile)
        {
            using var store = new ProfileRegistry(_storePath);
            store.Profiles.Remove(profile);
            await store.SaveChangesAsync();

            _sourceProfiles.Remove(profile);
        }
示例#6
0
 public ExchangeMailService(ProfileRegister register,
                            ExchangeProfileDataStore.Factory storeFactory,
                            MSGraph.GraphServiceClient client,
                            AM.IMapper mapper)
 {
     _register     = register;
     _storeFactory = storeFactory;
     _client       = client;
     _mapper       = mapper;
 }
 public void AddCustomerWithProfile()
 {
     try
     {
         ProfileRegister.AddDicProfile(Username, Password);
         KundeRegister.AddKunde(Username, Password, Adress, Email, Name, Tlf);
         CheckRepeatPassword(Password, RepeatPassword);
         Dialog.Show("Profil er tilføjet");
     }
     catch (ArgumentException ex)
     {
         Dialog.Show(ex.Message);
     }
     ProfilePersistency.SaveProfilesAsJsonAsync(ProfileRegister.DicProfile);
     KundePersistency.SaveKunderAsJsonAsync(KundeRegister.Kunder);
 }
 public FakeProfileProvider(string providerId, string emailAddress, string displayName,
                            FakeProfileDataQueryFactory queryFactory, FakeMailService mailService)
 {
     _register = new ProfileRegister()
     {
         Id           = emailAddress,
         EmailAddress = emailAddress,
         DataFilePath = null,
         ProviderId   = providerId,
     };
     _viewModel = new FakeProfileViewModel(_register, new Profile()
     {
         DisplayName  = displayName,
         EmailAddress = emailAddress,
         ProviderId   = providerId,
     }, queryFactory, mailService);
     _viewModel.Restore();
 }
        public BookingSystem()
        {
            Sommerhuse        = new ObservableCollection <Sommerhus>();
            PersoneriCombobox = new ObservableCollection <int>();
            VærelserICombobox = new ObservableCollection <int>();



            //InitSommerhus();

            ProfileRegister = new ProfileRegister();
            KundeRegister   = new KundeRegister();
            AdminRegister   = new AdminRegister();
            BookingRegister = new BookingRegister();
            FavoritRegister = new FavoritRegister();

            LoadKunder();
            LoadProfiles();
            LoadSommerhuse();
            LoadBookings();
            LoadFavorits();


            _navigationService     = new NavigationService();
            NavToMainSystemCommand = new RelayCommand(CheckLoginInformationAndNavigate);

            AddProfileWithCustomerCommand = new RelayCommand(AddCustomerWithProfile);
            NavToOretProfilCommand        = new RelayCommand(() =>
            {
                _navigationService.Navigate(typeof(OpretProfil));
            });
            SendEmailCommand = new RelayCommand(() =>
            {
                Dialog.Show("Logininformationer er sendt til din email");
            });
            NavToOpretSommerhus = new RelayCommand(() =>
            {
                _navigationService.Navigate(typeof(OpretSommerhus));
            });
            NavToListSommerhus = new RelayCommand(() =>
            {
                try
                {
                    CheckComboboxValue(SelectedAntalPersoner, SelectedAntalVærelser);
                    CheckTime(FraDato, TilDato);
                    MatchAfSommerhus();
                    _navigationService.Navigate(typeof(SommerhusListe));
                }
                catch (ArgumentException ex)
                {
                    Dialog.Show(ex.Message);
                }
            });
            LogudCommand = new RelayCommand(() =>
            {
                _navigationService.Navigate(typeof(Login));
            });
            DeleteKundeCommand = new RelayCommand(DeleteKundeFromListe);

            AddSommerhusCommand = new RelayCommand(AddSommerhus);


            ShowPageOmOsCommand      = new RelayCommand(ShowOmOs);
            ShowPageKontaktOsCommand = new RelayCommand(ShowKontaktOs);
            BookingCommand           = new RelayCommand(TryToBook);
            NavToMinProfilCommand    = new RelayCommand(() =>
            {
                MatchFavorites();
                _navigationService.Navigate(typeof(MinProfil));
            });
            AddFavoritCommand = new RelayCommand(AddToFavorites);
        }
 public Task UnregisterAsync(ProfileRegister profile)
 {
     _sourceProfiles.Remove(profile);
     return(Task.CompletedTask);
 }
 public Task RegisterAsync(ProfileRegister profile)
 {
     _sourceProfiles.Add(profile);
     return(Task.CompletedTask);
 }
 public Task UnregisterAsync(ProfileRegister profile)
 {
     return(Task.CompletedTask);
 }
 public ProfileViewModelBase(ProfileRegister register)
 {
     _register = register;
 }
 public Task <ProfileViewModelBase> CreateViewModelAsync(ProfileRegister register)
 {
     return(Task.FromResult <ProfileViewModelBase>(_viewModel));
 }