예제 #1
0
        public NotesCreatorViewModel(INavigationService _navigation,
                                     IDatabase _database, ILogging _logging,
                                     INotesManager notesManager,
                                     IDialogue _dialogue,
                                     ILoader loader
                                     ) : base(_navigation, _database, _logging, _dialogue)
        {
            //Managers
            _notesManager = notesManager;

            //Services
            _loader = loader;

            IConfirm = new RelayExtension(Confirm, CanConfirm);
            IGoBack  = new RelayExtension(GoBack, CanGoBack);

            Title = "Add a Note";

            //Bind the Editable data to the views
            if (!string.IsNullOrWhiteSpace(Constants.Note_ID))
            {
                var note = _notesManager.Get_NoteByID <Notes>(Constants.Note_ID);
                if (note != null)
                {
                    Subject = note.Subject;
                    Note    = note.Description;
                }
            }
        }
예제 #2
0
        public LoginViewModel(INavigationService _navigation, IDatabase _database,
                              ILogging _logging, IAccountManager _accountManager, IDialogue _dialogue,
                              IMusicManager _musicManager, IContactManager _contactManager, IContactStore _contactStore, IMusicReader _musicStore) : base(_navigation, _database, _logging, _dialogue)
        {
            //Managers
            accountManager = _accountManager;
            musicManager   = _musicManager;
            contactManager = _contactManager;

            //Dependency Services
            contactStore = _contactStore;
            musicStore   = _musicStore;

            //Commands
            ILogin    = new RelayExtension(Login, CanLogin);
            IRegister = new RelayExtension(Register, CanRegister);

            //Social Auth
            IFacebook = new RelayExtension(Facebook, CanFacebook);
            ITwitter  = new RelayExtension(Twitter, CanTwitter);
            ILinkedIn = new RelayExtension(LinkedIn, CanLinkedIn);
            IGoogle   = new RelayExtension(Google, CanGoogle);

            //Request Permissions for services
            CrossPermissions.Current.RequestPermissionsAsync(new Permission[] { Permission.Camera, Permission.Contacts, Permission.Photos });

            //Load Credentials if Remember Me is clicked
            var credentialsStore = Xamarin.Auth.AccountStore.Create();
            var AccountDetails   = credentialsStore.FindAccountsForService(Credentials_Service);

            if (AccountDetails.ToList().Count != 0)
            {
                if (AccountDetails.First().Properties.Any(w => w.Key == "RememberMe"))
                {
                    if (!string.IsNullOrWhiteSpace(AccountDetails.First().Properties.SingleOrDefault(w => w.Key == "RememberMe").Value))
                    {
                        if (AccountDetails.First().Properties.SingleOrDefault(w => w.Key == "RememberMe").Value.Equals("true"))
                        {
                            RememberMe = true;
                            Username   = AccountDetails.First().Username;
                            Password   = "******";
                        }
                    }
                }
            }
        }
        public PasswordCreatorViewModel(INavigationService _navigation, IDatabase _database, ILogging _logging, IDialogue _dialogue,
                                        IPasswordManager _passwordManager
                                        ) : base(_navigation, _database, _logging, _dialogue)
        {
            this._passwordManager = _passwordManager;

            IConfirm = new RelayExtension(Confirm, CanConfirm);
            IGoBack  = new RelayExtension(GoBack, CanGoBack);

            Title = "Add a Password";

            //Bind the Editable data to the views
            if (!string.IsNullOrWhiteSpace(Constants.Passwords_ID))
            {
                var password = _passwordManager.Get_PasswordByID <Passwords>(Constants.Passwords_ID);
                if (password != null)
                {
                    Password    = password.Password;
                    Description = password.Description;
                }
            }
        }
예제 #4
0
        public RegisterViewModel(INavigationService _navigation, IDatabase _database,
                                 ILogging _logging, IAccountManager _accountManager, IDialogue _dialogue) : base(_navigation, _database, _logging, _dialogue)
        {
            accountManager = _accountManager;

            //Commands
            IRegister = new RelayExtension(Register, CanRegister);
            IAvatar   = new RelayExtension(OpenAvatar, CanOpenAvatar);
            IGoBack   = new Relays.RelayExtension(GoBack, CanGoBack);

            Instructions = "Generating Account";

            //Initial Avatar Photo
            if (Device.RuntimePlatform != Device.UWP)
            {
                Avatar = _AvatarContact;
            }
            else
            {
                Avatar = _WinAvatarContact;
            }
        }