/// <summary>
        /// Creates the user view model, including populating the lookups
        /// </summary>
        public static UserViewModel Create(IUserBLL userBLL, IRepository repository)
        {
            var viewModel = new UserViewModel
                                {
                                    Supervisors = userBLL.GetSupervisors().OrderBy(a => a.LastName).ToList(),
                                    Projects = userBLL.GetAllProjectsByUser(repository.OfType<Project>()).OrderBy(a => a.Name).ToList(),
                                    FundTypes = userBLL.GetAvailableFundTypes(repository.OfType<FundType>()).OrderBy(a => a.Name).ToList(),
                                    AvailableRoles = userBLL.GetVisibleRoles(),
                                    Subordinates = new List<User>()
                                };

            return viewModel;
        }