private PreservationTaskViewModel ArchivePreservationModel(Guid id) { var service = new PreservationService(); var archive = ArchiveService.GetArchive(id); var schedule = service.GetPreservationScheduleWithinArchive(id); var SelectedScheduleIndex = -1; var schedulePeriod = GetArchivePeriods(id); var tasks = service.GetPreservationTasks(new System.ComponentModel.BindingList <DocumentArchive> { new DocumentArchive(id) }, 0, 2); DateTime nextPreservationDate = DateTime.Now; PreservationSchedule objSched = null; if (schedule != null) { objSched = schedulePeriod.Where(x => x.IdPreservationSchedule == schedule.IdPreservationSchedule).FirstOrDefault(); if (objSched != null) { SelectedScheduleIndex = schedulePeriod.IndexOf(objSched); } } if (tasks.Tasks.Count > 0) { nextPreservationDate = tasks.Tasks.First().EndDocumentDate.Value.AddDays(1); } var viewModel = new PreservationTaskViewModel { IdArchive = id, ArchiveName = archive.Name, SelectedScheduleIndex = SelectedScheduleIndex, PeriodSchedulers = schedulePeriod, NextPreservationTaskStartDocumentDate = nextPreservationDate }; return(viewModel); }