Agribusiness.Web.Models.NotificationTrackingViewModel.Create C# (CSharp) Method

Create() public static method

public static Create ( IRepository repository, string siteId, NotificationTracking notificationTracking = null, Person person = null, MailingList mailingList = null ) : NotificationTrackingViewModel
repository IRepository
siteId string
notificationTracking NotificationTracking
person Person
mailingList MailingList
return NotificationTrackingViewModel
        public static NotificationTrackingViewModel Create(IRepository repository, string siteId, NotificationTracking notificationTracking = null, Person person = null, MailingList mailingList = null)
        {
            Check.Require(repository != null, "Repository is required.");

            var seminar = SiteService.GetLatestSeminar(siteId);

            var viewModel = new NotificationTrackingViewModel(){
                                    NotificationTracking = notificationTracking ?? new NotificationTracking(),
                                    NotificationMethods = repository.OfType<NotificationMethod>().GetAll(),
                                    NotificationTypes = repository.OfType<NotificationType>().GetAll(),
                                    People = new List<Person>(),
                                    AllPeople = SiteService.GetLatestSeminar(siteId).SeminarPeople.Select(a => a.Person).ToList(),//seminarService.GetCurrent().SeminarPeople.Select(a=>a.Person).ToList(),
                                    SitePeople = SiteService.LoadSite(siteId).People,
                                    Seminar = seminar,
                                    MailingLists = seminar.MailingLists,
                                    MailingList = mailingList
                                };

            if (person != null) viewModel.People.Add(person);

            return viewModel;
        }
NotificationTrackingViewModel