예제 #1
0
        private void LoadDatabaseExecute()
        {
            var loadQuery         = new LoadDataForListViewQuery();
            var databaseInfoQuery = new GetCurrentDatabaseConnectionQuery();

            _queryDispatcher.Dispatch <LoadDataForListViewQuery, Result <List <Worker> > >(loadQuery)
            .Tap(result =>
            {
                var personModels = _mapper.Map <List <PersonModel> >(result);
                foreach (var personModel in personModels)
                {
                    Persons.Add(_personViewModelFunc(personModel));
                }
                IsChecked = true;
                ItemCount = Persons.Count;
            })
            .Tap(() =>
            {
                _queryDispatcher.Dispatch <GetCurrentDatabaseConnectionQuery, Result <string> >(databaseInfoQuery)
                .Tap(data => DatabaseConnectionPath = data);
            })
            .Tap(result => { _messageDialogFunc().ShowUserMessage(GetType().Name, $" Loaded {result.Count} items"); })
            .OnFailure(details =>
                       _messageDialogFunc().ShowErrorMessage(GetType().Name, "Error while loading database", details));
        }
 public Result <string> Handle(GetCurrentDatabaseConnectionQuery query)
 {
     try
     {
         var data = _unitOfWork.Connection;
         return(Result.Ok(data));
     }
     catch (Exception e)
     {
         return(Result.Fail <string>(e.Message));
     }
 }
 public Task <Result <string> > HandleAsync(GetCurrentDatabaseConnectionQuery query)
 {
     throw new NotImplementedException();
 }