public CreateAcounteViewModel(INavigationService serviceNavigation)
        {
            _serviceNavigation = serviceNavigation;
            _service           = new CreateAccountService();
            Message            = new FlowObservableCollection <MessageRegistrationModel>();
            User    = new UserModel();
            loading = new PopUpLoadingMessageView();

            IsEntry         = "false";
            IsButtonTerm    = "false";
            IsButtonConfirm = "false";

            _ = InitialMessage();

            Message.CollectionChanged += (sender, e) =>
            {
                Page     currentPage = Application.Current.MainPage.Navigation.NavigationStack.LastOrDefault();
                ListView listView    = currentPage.FindByName <ListView>("MessagesListView");
                var      target      = Message[Message.Count - 1];

                if (Device.RuntimePlatform == Device.iOS)
                {
                    listView.ScrollTo(target, ScrollToPosition.MakeVisible, true);
                }
                else if (Device.RuntimePlatform == Device.Android)
                {
                    listView.ScrollTo(target, ScrollToPosition.Start, true);
                }
            };
        }
        public void Test()
        {
            // Startup the Services
            var createUserService        = new CreateUserService();
            var createAccountService     = new CreateAccountService();
            var linkAccountToUserService = new AccountToUser();

            // Request a User
            var userRequestedEvent = new UserRequested();

            userRequestedEvent.UserName = "******";
            UserRequested.Publish(userRequestedEvent);

            // Request an Account
            var accountRequestedEvent = new AccountRequested();

            accountRequestedEvent.AccountName = "Moneypants";
            accountRequestedEvent.UserId      = User.Projections[0].Id;
            AccountRequested.Publish(accountRequestedEvent);

            // Assert Account Exists
            var accountCount = Account.Projections.Count;

            Assert.Equal(1, accountCount);

            // Assert User Exists
            var userCount = Account.Projections.Count;

            Assert.Equal(1, userCount);

            //Assert Account is Linked to User
            var account = Account.Projections[0];
            var user    = User.Projections[0];

            Assert.Equal(account.UserId, user.Id);
            Assert.Equal(user.AccountIds[0], account.Id);
        }