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; } }
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; } }