private async Task LoadCompany()
        {
            try
            {
                Company = await _adminService.ReadCompanyByIdAsync(_globalModel.CurrentUser.CompanyId);

                var projects = await _adminService.ReadProjectsForCompanyAsync(Company);

                Projects.Clear();
                Projects.AddRange(projects);

                var users = await _adminService.ReadAllUsersForCompanyAsync(Company.CompanyId);

                Users.Clear();
                Users.AddRange(users);

                _canCreateNewProject = await _adminService.CanCreateNewProject(Company.CompanyId);

                NewProject.RaiseCanExecuteChanged();
            }
            catch (TimeoutException timeoutEx)
            {
                _eventAggregator.GetEvent <TimeoutErrorEvent>().Publish(timeoutEx);
            }

            IsCompanyEditorVisible = false;
            IsProjectEditorVisible = false;
            IsUserEditorVisible    = false;
        }
        private async System.Threading.Tasks.Task SelectProjectRefs()
        {
            if (SelectedProject != null)
            {
                try
                {
                    List <ProjectUser> projectUserList = await adminService.ReadAllProjectUsersInProjectAsync(SelectedProject);

                    ProjectUsers.Clear();
                    projectUserList.ForEach(ProjectUsers.Add);

                    List <User> users = await adminService.ReadAllUsersForCompanyAsync(globalModel.CurrentUser.CompanyId);

                    AllCompanyUsers.Clear();
                    users.ForEach(u =>
                    {
                        if (projectUserList.All(pu => pu.UserId != u.UserId))
                        {
                            AllCompanyUsers.Add(u);
                        }
                    });

                    IsProjectSelected = true;
                }
                catch (TimeoutException timeoutEx)
                {
                    _eventAggregator.GetEvent <TimeoutErrorEvent>().Publish(timeoutEx);
                }
            }
            else
            {
                IsProjectSelected = false;
            }
        }
        public async System.Threading.Tasks.Task UpdateUser()
        {
            Assert.AreNotEqual(Guid.Empty, company.CompanyId);

            User user = new User();

            user.EMail          = "*****@*****.**";
            user.IsCompanyAdmin = true;
            user.CompanyId      = company.CompanyId;
            user.FirstName      = "Miro";
            user.FamilyName     = "Furda";

            await service.CreateUserAsync(user);

            Assert.IsNotNull(user.UserId);

            user.FamilyName = "Neungamat";
            await service.UpdateUserAsync(user);

            List <User> users = await service.ReadAllUsersForCompanyAsync(company.CompanyId);

            Assert.AreEqual(1, users.Count());
            Assert.AreEqual(user.FamilyName, users[0].FamilyName);
        }