public DataCollectionReadOnlyViewModel()
 {
     Manager = new Party();
     UrdmsUsers = new List<UrdmsUserViewModel>();
     NonUrdmsUsers = new List<NonUrdmsUserViewModel>();
     FieldsOfResearch = new List<ClassificationBase>();
     SocioEconomicObjectives = new List<ClassificationBase>();
 }
        public void SetUp()
        {
            _project = Builder<Project>.CreateNew()
                .With(o => o.DataManagementPlan = Builder<DataManagementPlan>.CreateNew()
                                                      .With(
                                                          q =>
                                                          q.BackupPolicy =
                                                          Builder<BackupPolicy>.CreateNew().Build())
                                                      .And(
                                                          q =>
                                                          q.DataDocumentation =
                                                          Builder<DataDocumentation>.CreateNew().Build())
                                                      .And(
                                                          q =>
                                                          q.DataRelationshipDetail =
                                                          Builder<DataRelationshipDetail>.CreateNew().Build())
                                                      .And(
                                                          q =>
                                                          q.DataRetention =
                                                          Builder<DataRetention>.CreateNew().Build())
                                                      .And(
                                                          q =>
                                                          q.DataSharing =
                                                          Builder<DataSharing>.CreateNew().Build())
                                                      .And(
                                                          q =>
                                                          q.DataStorage =
                                                          Builder<DataStorage>.CreateNew().Build())
                                                      .And(q => q.Ethic = Builder<Ethic>.CreateNew().Build())
                                                      .And(
                                                          q =>
                                                          q.ExistingDataDetail =
                                                          Builder<ExistingDataDetail>.CreateNew().Build())
                                                      .And(
                                                          q =>
                                                          q.Confidentiality =
                                                          Builder<Confidentiality>.CreateNew().Build())
                                                      .And(
                                                          q =>
                                                          q.NewDataDetail =
                                                          Builder<NewDataDetail>.CreateNew().Build())
                                                      .Build())
                .Build();

            _project.SocioEconomicObjectives.AddRange(
                Builder<ProjectSocioEconomicObjective>.CreateListOfSize(4).All().With(
                    q => q.SocioEconomicObjective = Builder<SocioEconomicObjective>.CreateNew().Build()).Build());
            _project.FieldsOfResearch.AddRange(
                Builder<ProjectFieldOfResearch>.CreateListOfSize(5).All().With(
                    q => q.FieldOfResearch = Builder<FieldOfResearch>.CreateNew().Build()).Build());
            _project.Funders.AddRange(
                Builder<ProjectFunder>.CreateListOfSize(1).All().With(
                    q => q.Funder = Pick<Funder>.RandomItemFrom(new[] {Funder.ARC, Funder.NMHRC})).Build());
            _project.Parties.AddRange(Builder<ProjectParty>.CreateListOfSize(6)
                                          .TheFirst(3)
                                          .With(q => q.Party = Builder<Party>.CreateNew()
                                                                   .With(r => r.UserId = null)
                                                                   .Build())
                                          .And(q => q.Relationship = ProjectRelationship.ExternalResearcher)
                                          .And(q => q.Role = AccessRole.Visitors)
                                          .TheNext(2)
                                          .With(q => q.Role = AccessRole.Members)
                                          .And(q => q.Party = Builder<Party>.CreateNew()
                                                                   .With(r => r.UserId = null)
                                                                   .Build())
                                          .And(q => q.Relationship = ProjectRelationship.Investigator)
                                          .TheNext(1)
                                          .With(q => q.Party = Builder<Party>.CreateNew()
                                                                   .With(r => r.UserId = "123456A")
                                                                   .Build())
                                          .And(q => q.Role = AccessRole.Owners)

                                          .And(q => q.Relationship = ProjectRelationship.PrincipalInvestigator)
                                          .Build());

            for (var i = 1; i < 7; i++)
                _project.Parties[i - 1].Party.Id = i;

            _funder = _project.Funders.First();
            _principalInvestigator = _project.Parties.Single(o => o.Role == AccessRole.Owners).Party;

            var users = _project.Parties.Where(pp => pp.Party.Id != _principalInvestigator.Id).ToList();

            _urdmsUsers =
                users.Where(o => !string.IsNullOrWhiteSpace(o.Party.UserId)).Select(o => o.Party).ToList();
            _nonUrdmsUsers =
                users.Where(o => string.IsNullOrWhiteSpace(o.Party.UserId)).Select(o => o.Party).ToList();
            
        }