Esempio n. 1
0
        public IList<ConvocazioneAssembleaDTO> GetConvocabiliByGruppi(IList<int> idGruppi, TipoAssemblea tipo, DateTime data, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var assembleaService = windsorRep.GetContainer(userinfo.Azienda).Resolve<IAssembleaService>();
                var convocati = assembleaService.GetConvocabiliByGruppi(idGruppi, tipo, data);
                var convocatiDto = new List<ConvocazioneAssembleaDTO>(convocati.Count);
                //var convocatiDtoTmp = new Dictionary<int,ConvocazioneAssembleaDTO>(convocati.Count);

                ////raggruppo per persona...
                //var rep = new AssembleaConvocazioneRepository(userinfo, windsorRep);
                //foreach (var convocato in convocati)
                //{
                    
                //    var convocatoDto = rep.GetBySoggettoCondominio(convocato);
                //    if (convocatiDtoTmp.ContainsKey(convocatoDto.IdPersonaConvocato))
                //    {
                //        var convocatoDtoOld = convocatiDtoTmp[convocatoDto.IdPersonaConvocato];
                //        //convocatoDtoOld.Stabile = "Multiplo";
                //        //convocatoDtoOld.GruppoStabile = "Multiplo";
                //        //convocatoDtoOld.UnitaImmobiliare = "Multipla";
                //        convocatoDtoOld.Stabile += " " + convocatoDto.Stabile;
                //        convocatoDtoOld.GruppoStabile += " " + convocatoDto.GruppoStabile;
                //        convocatoDtoOld.UnitaImmobiliare += " " + convocatoDto.UnitaImmobiliare;
                //        convocatoDtoOld.MillesimiProprietaConvocato += convocatoDto.MillesimiProprietaConvocato;
                //    }
                //    else
                //        convocatiDtoTmp.Add(convocatoDto.IdPersonaConvocato,convocatoDto);
                //}
                //convocatiDto.AddRange(convocatiDtoTmp.Values);

                
                var rep = new AssembleaConvocazioneRepository(userinfo, windsorRep);
                convocatiDto.AddRange(convocati.Select(rep.GetBySoggettoCondominio));

			    windsorRep.Commit();
				return convocatiDto;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel reperimento dei convocati per gruppi - {0} - tipo:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), tipo, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}
Esempio n. 2
0
        public IList<ConvocazioneAssembleaDTO> GetConvocabili(int idCondominio, TipoAssemblea tipo, DateTime data, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
				var assembleaService = windsorRep.GetContainer(userinfo.Azienda).Resolve<IAssembleaService>();
                var convocati = assembleaService.GetConvocabili(idCondominio, tipo, data);
                var convocatiDto = new List<ConvocazioneAssembleaDTO>(convocati.Count);
                var rep = new AssembleaConvocazioneRepository(userinfo, windsorRep);
                convocatiDto.AddRange(convocati.Select(rep.GetBySoggettoCondominio));
                windsorRep.Commit();
				return convocatiDto;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel reperimento dei convocati per gruppi - {0} - tipo:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), tipo, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}