public ActionResult ExportFullPDD(Guid?idArchive, DateTime?fromDate, DateTime?toDate, string dynamicFilters) { return(ActionResultHelper.TryCatchWithLogger(() => { if (!idArchive.HasValue) { _logger.InfoFormat("ExportFullPDD -> nessun id archivio passato per la ricerca"); return Content(string.Empty); } IDictionary <string, string> filters = new Dictionary <string, string>(); if (!string.IsNullOrEmpty(dynamicFilters)) { filters = JsonConvert.DeserializeObject <IDictionary <string, string> >(dynamicFilters); } SearchDocumentsRequestModel requestModel = new SearchDocumentsRequestModel() { IdArchive = idArchive.Value, FromDate = fromDate, ToDate = toDate, DynamicFilters = filters }; SearchDocumentsResponseModel responseModel = _searchDocumentsInteractor.Process(requestModel); return ExportPDD(JsonConvert.SerializeObject(responseModel.Documents.Select(s => s.IdDocument))); }, _loggerService)); }
public ActionResult FindDocuments([DataSourceRequest] DataSourceRequest request, Guid?idArchive, DateTime?fromDate, DateTime?toDate, string dynamicFilters) { return(ActionResultHelper.TryCatchWithLogger(() => { DataSourceResult result = new DataSourceResult(); if (!idArchive.HasValue) { result.Total = 0; result.Data = new List <DistributionPackagesGridViewModel>(); return Json(result, JsonRequestBehavior.AllowGet); } IDictionary <string, string> filters = new Dictionary <string, string>(); if (!string.IsNullOrEmpty(dynamicFilters)) { filters = JsonConvert.DeserializeObject <IDictionary <string, string> >(dynamicFilters); } SearchDocumentsRequestModel requestModel = new SearchDocumentsRequestModel() { IdArchive = idArchive.Value, FromDate = fromDate, ToDate = toDate, DynamicFilters = filters, Skip = (request.Page - 1) * request.PageSize, Top = request.PageSize }; SearchDocumentsResponseModel responseModel = _searchDocumentsInteractor.Process(requestModel); ICollection <DocumentAttribute> attributes = AttributeService.GetAttributesFromArchive(idArchive.Value).OrderBy(x => x.Name).ToList(); result.Total = responseModel.Counter; result.Data = responseModel.Documents.Select(s => new DistributionPackagesGridViewModel() { IdDocument = s.IdDocument, DocumentCreated = s.DateCreated, DocumentName = s.Name, IdPreservation = s.IdPreservation, IsConservated = s.IdPreservation.HasValue, Metadata = attributes.Select(ss => new DistributionPackagesGridMetadataViewModel() { MetadataName = ss.Name, MetadataValue = FormatAttributeValue(s.AttributeValues.FirstOrDefault(x => x.Attribute.IdAttribute == ss.IdAttribute)) }).ToArray() }); return Json(result, JsonRequestBehavior.AllowGet); }, _loggerService)); }