public ActionResult Index()
        {
            return(ActionResultHelper.TryCatchWithLogger(() =>
            {
                PreservationVerifyIndexModel model = new PreservationVerifyIndexModel();
                CustomerCompanyViewModel customerCompany = Session["idCompany"] as CustomerCompanyViewModel;

                if (WCFUtility.GetSettingValue("DBAdminLoginConnection") == "false")
                {
                    DocumentCondition conditions = new DocumentCondition();

                    List <DocumentSortCondition> sortConditions = new List <DocumentSortCondition>();
                    conditions.DocumentAttributeConditions = new System.ComponentModel.BindingList <DocumentCondition>();
                    conditions.DocumentAttributeConditions.Add(new DocumentCondition()
                    {
                        Name = "IsLegal", Value = 1, Operator = Library.Common.Enums.DocumentConditionFilterOperator.IsEqualTo, Condition = Library.Common.Enums.DocumentConditionFilterCondition.And
                    });
                    sortConditions.Add(new DocumentSortCondition {
                        Name = "Name", Dir = "ASC"
                    });

                    model.archives = ArchiveService.GetArchives(0, int.MaxValue, conditions, sortConditions, out int total, customerCompany.CompanyId).ToList();
                }
                else
                {
                    model.archives = UserArchive.GetUserArchivesPaged(User.Identity.Name, 0, int.MaxValue, out int total, customerCompany.CompanyId);
                }

                return View(model);
            }, _loggerService));
        }
        public ActionResult ExecuteVerify(PreservationVerifyIndexModel postedModel)
        {
            return(ActionResultHelper.TryCatchWithLogger(() =>
            {
                PreservationVerifyExecuteModel model = new PreservationVerifyExecuteModel
                {
                    fromDate = postedModel.fromDate,
                    toDate = postedModel.toDate
                };

                //crea l'elenco dei job di verifica 1 per conservazione chiusa
                List <PreservationVerifyJob> jobs = new List <PreservationVerifyJob>();
                foreach (Guid idArchive in postedModel.selectedArchives.Select(s => Guid.Parse(s)))
                {
                    //conservazioni chiuse per archivio
                    DocumentArchive archive = ArchiveService.GetArchive(idArchive);
                    IList <Preservation> preservations = _preservationService.ArchivePreservationClosedInDate(idArchive, postedModel.fromDate, postedModel.toDate.AddDays(1).AddSeconds(-1));
                    if (preservations.Count > 0)
                    {
                        jobs.AddRange(preservations.Select(p => new PreservationVerifyJob
                        {
                            idArchive = idArchive.ToString(),
                            idPreservation = p.IdPreservation.ToString(),
                            archiveName = archive.Name
                        }));
                    }
                    else
                    {
                        jobs.Add(new PreservationVerifyJob
                        {
                            idArchive = idArchive.ToString(),
                            idPreservation = Guid.Empty.ToString(),
                            archiveName = archive.Name
                        });
                    }
                }

                model.jobs = jobs.ToArray();
                return View(model);
            }, _loggerService));
        }