Exemple #1
0
		public ResultDocumentiDTO GetDocumentiByFilter(DocumentoFilter filter, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var service = windsorRep.GetContainer(userinfo.Azienda).Resolve<IRicercaDocumentiService>();
				var lista = service.GetDocumentiByFilter(filter);
				var listaDto = new List<DocumentoDTO>(lista.Documenti.Count);
				var rep = new DocumentoRepository(userinfo, windsorRep);
				foreach (var doc in lista.Documenti)
				{
					try
					{
						listaDto.Add(rep.GetByDomainEntity(doc));
					}
					catch (Exception ex)
					{
						_log.ErrorFormat("Errore durante la lettura dei documenti per filtro - {0} - id:{1}", ex, Utility.GetMethodDescription(), doc.ID);
						throw;
					}
				}

				windsorRep.Commit();

                return new ResultDocumentiDTO(listaDto, lista.TotaleDocumenti);
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore durante la lettura dei documenti per filtro - {0} - condominio:{1}", ex, Utility.GetMethodDescription(), filter.CodiceCondominio);
				windsorRep.Rollback();
				throw;
			}
		}