public UserRoleModel GenerateCreateViewModel(int id)
        {
            var user = UserRepository.Items.SingleOrDefault(u => u.Id == id);

            if (user == null)
            {
                throw new EntityNotFoundException("User does not exist.");
            }
            UserRoleModel viewModel = new UserRoleModel();

            viewModel.CopyFrom(user);
            PopulateViewModel(viewModel);
            return(viewModel);
        }
        public UserRoleModel GenerateEditViewModel(int id)
        {
            var user = UserRepository.Items
                       .Include("UserRoles.Role")
                       .Include("UserRoles.Schools")
                       .Include("UserRoles.Providers")
                       .SingleOrDefault(u => u.Id == id);

            if (user == null)
            {
                throw new EntityNotFoundException("User does not exist.");
            }
            UserRoleModel viewModel = new UserRoleModel();

            viewModel.CopyFrom(user);
            viewModel.UserRoleIds   = user.UserRoles.Select(u => u.Id);
            viewModel.SelectedRoles = user.UserRoles.Select(u => u.Role);
            PopulateViewModel(viewModel);
            return(viewModel);
        }