コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
 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));
 }