public async Task SetUpProperties() { AllNewSpecs = new List <SpecRevModel>(); AllNewProcessRevModel = new List <ProcessRevisionModel>(); AllSpecIds = new List <int>(); var tempSpecProcessAssign = await SpecProcessAssignDataAccess.GetAllHydratedReviewNeededSpecProcessAssign(); AllSpecProcessAssigns = (tempSpecProcessAssign != null) ? tempSpecProcessAssign.ToList() : null; if (AllSpecProcessAssigns != null) { foreach (var specProcessAssign in AllSpecProcessAssigns) { if (!AllSpecIds.Contains(specProcessAssign.SpecId)) { AllSpecIds.Add(specProcessAssign.SpecId); } } foreach (var assign in AllSpecProcessAssigns) { //Finding out if the spec is under review because of a spec rev up or a process rev up. var theNewestSpecRev = (await SpecDataAccess.GetHydratedCurrentRevOfSpec(assign.SpecId)).SpecRevModels.FirstOrDefault(); if (theNewestSpecRev.InternalRev != assign.SpecRevId) { assign.IsViable = false; if (!AllNewSpecs.Contains(theNewestSpecRev)) { AllNewSpecs.Add(theNewestSpecRev); } } var theNewestProcessRev = await ProcessDataAccess.GetHydratedCurrentProcessRev(assign.ProcessId); if (theNewestProcessRev.ProcessRevId != assign.ProcessRevId) { AllNewProcessRevModel.Add(theNewestProcessRev); } } } }