private ActionResult ConfirmAndNextArchivePreservationConfiguration(ArchiveWizardStepBaseViewModel model) { short i = 1; IDictionary <Guid, short> orderedPrimaryKeyAttributes = new Dictionary <Guid, short>(); foreach (string primaryKeyAttribute in model.SelectedPrimaryKeyAttributes) { orderedPrimaryKeyAttributes.Add(Guid.Parse(primaryKeyAttribute), i); i++; } ModifyArchivePreservationConfigurationRequestModel requestModel = new ModifyArchivePreservationConfigurationRequestModel() { IdArchive = model.IdArchive, PathPreservation = model.PathPreservation, MainDateAttribute = Guid.Parse(model.MainDateAttribute), OrderedPrimaryKeyAttributes = orderedPrimaryKeyAttributes }; ModifyArchivePreservationConfigurationInteractor interactor = new ModifyArchivePreservationConfigurationInteractor(_loggerService); interactor.Process(requestModel); ArchiveConfigurationWizardViewModel returnModel = new ArchiveConfigurationWizardViewModel() { IdArchive = model.IdArchive, FlowActiveIndex = 2 }; return(View("ArchiveConfigurationWizard", returnModel)); }
public ActionResult ArchiveConfigurationWizard(ArchiveWizardStepBaseViewModel model) { return(ActionResultHelper.TryCatchWithLogger(() => { Func <ArchiveWizardStepBaseViewModel, ActionResult> func = null; switch (model.ActiveStep) { case 1: { ModelState.Remove(nameof(ArchiveWizardStepBaseViewModel.SelectedPreservationAttributes)); func = (m) => ConfirmAndNextArchivePreservationConfiguration(m); } break; case 2: { ModelState.Remove(nameof(ArchiveWizardStepBaseViewModel.MainDateAttribute)); ModelState.Remove(nameof(ArchiveWizardStepBaseViewModel.PathPreservation)); ModelState.Remove(nameof(ArchiveWizardStepBaseViewModel.SelectedPrimaryKeyAttributes)); func = (m) => ConfirmAndNextArchivePreservationAttributesConfiguration(m); } break; case 3: { ModelState.Clear(); ArchiveConfigurationWizardViewModel returnModel = new ArchiveConfigurationWizardViewModel() { IdArchive = model.IdArchive, FlowActiveIndex = 4, IsCompleteWithErrors = model.IsCompleteWithErrors.Value }; return View(returnModel); } case 4: { return RedirectToAction("PreservationArchivesConfigurable", "Archive"); } default: throw new Exception($"Step {model.ActiveStep} not valid"); } if (!ModelState.IsValid) { ArchiveConfigurationWizardViewModel resultModel = new ArchiveConfigurationWizardViewModel() { IdArchive = model.IdArchive, FlowActiveIndex = model.ActiveStep }; return View(resultModel); } return func(model); }, _loggerService)); }
public ActionResult ArchivePreservationConfigurationSummary(Guid id, bool isCompleteWithErrors) { return(ActionResultHelper.TryCatchWithLogger(() => { DocumentArchive archive = ArchiveService.GetArchive(id); ICollection <DocumentAttribute> attributes = AttributeService.GetAttributesFromArchive(id); ArchiveWizardStepBaseViewModel model = new ArchiveWizardStepBaseViewModel() { IdArchive = id, ArchiveName = archive.Name, PathPreservation = archive.PathPreservation, MainDateAttribute = attributes.SingleOrDefault(s => s.IsMainDate == true).DisplayName, SelectedPreservationAttributes = attributes.Where(x => x.ConservationPosition > 0).OrderBy(o => o.ConservationPosition).Select(s => s.DisplayName).ToList(), SelectedPrimaryKeyAttributes = attributes.Where(x => x.KeyOrder > 0).OrderBy(o => o.KeyOrder).Select(s => s.DisplayName).ToList(), IsCompleted = true, IsCompleteWithErrors = isCompleteWithErrors }; return PartialView("_ArchivePreservationConfigurationSummary", model); }, _loggerService)); }