public static ProfileViewModel Create(IRepository repository, IFirmService firmService, string userId, string site)
{
Check.Require(repository != null, "Repository must be supplied");
Check.Require(firmService != null, "firmService is required.");
var user = repository.OfType<User>().Queryable.Where(a => a.LoweredUserName == userId.ToLower()).FirstOrDefault();
Check.Require(user != null, "user is required.");
var person = user.Person;
Check.Require(person != null, "person is required.");
var seminarPerson = person.GetLatestRegistration(site);
var viewModel = new ProfileViewModel()
{
Firm = seminarPerson.Firm,
SeminarPerson = seminarPerson,
Person = person
};
return viewModel;
}