public List<ConvocazioneAssembleaDTO> GetConvocabiliByGruppi(IList<GruppoStabileDTO> scale, TipoAssemblea tipo, DateTime data) { List<int> idScaleSelezionate = new List<int>(); foreach (GruppoStabileDTO scala in scale) idScaleSelezionate.Add(scala.ID); List<ConvocazioneAssembleaDTO> result = base.GetServiceClient().GetConvocabiliByGruppi(idScaleSelezionate, tipo, data, GetUserInfo()); base.CloseService(); return result; }
public DettaglioAssemblea(CondominioDTO condominio, EsercizioDTO esercizio, TipoAssemblea tipo) : base(false) { _condominio = condominio; _esercizio = esercizio; _tipo = tipo; InitializeComponent(); if (!DesignMode) inizializza(); }
public IList<SoggettoCondominio> GetConvocabili(int idCondominio, TipoAssemblea tipo, DateTime data) //int idEsercizio) { try { var stabili = _daoFactory.GetPalazzinaDao().GetByCondominio(idCondominio); var idGruppi = new List<int>(); foreach (var stabile in stabili) { idGruppi.AddRange(stabile.GruppiStabile.Select(gruppo => gruppo.ID).ToList()); } //var hql = "FROM SoggettoCondominio SOGG WHERE (SOGG.ModalitaConvocazione!=:nonConvocare or SOGG.ModalitaConvocazione is null) AND SOGG.UnitaImmobiliare.GruppoStabileRiferimento.ID IN (:idGruppi)"; var hql = "FROM SoggettoCondominio SOGG WHERE (SOGG.PercentualeRiferimento>=0) AND SOGG.UnitaImmobiliare.GruppoStabileRiferimento.ID IN (:idGruppi) AND (SOGG.DataFine is null OR SOGG.DataFine >= :data) AND (SOGG.DataInizio is null OR SOGG.DataInizio < :data) "; var parameters = new List<QueryParam>(2) { //new QueryParam("data", esercizio.DataChiusura.GetValueOrDefault()), new QueryParam("data", data), new QueryParam("idGruppi", idGruppi) //new QueryParam("nonConvocare", Conversione.ToHQLParameter(TipoModalitaConvocazione.NonConvocare)) }; switch (tipo) { case TipoAssemblea.Ordinaria: hql += " AND (SOGG.class = Proprietario OR SOGG.DirittoReale = :usufruttuario) "; parameters.Add(new QueryParam("usufruttuario", Conversione.ToHQLParameter(DirittoReale.Usufrutto))); break; case TipoAssemblea.Straordinaria: hql += " AND SOGG.class = Proprietario "; break; case TipoAssemblea.Riscaldamento: hql += " AND (SOGG.class = Conduttore) "; break; } return _daoFactory.GetSoggettoCondominioDao().GetByQuery(hql, parameters.ToArray()); } catch (Exception ex) { _log.ErrorFormat("Errore nel recuperare i convocati per condominio - {0} - condominio {1} - tipo: {2}", ex, Utility.GetMethodDescription(), idCondominio, tipo); throw; } }
public List<ConvocazioneAssembleaDTO> GetConvocabili(CondominioDTO condominio, TipoAssemblea tipo, DateTime data) { List<ConvocazioneAssembleaDTO> result = base.GetServiceClient().GetConvocabili(condominio.ID, tipo, data, GetUserInfo()); base.CloseService(); return result; }
public IList<SoggettoCondominio> GetConvocabiliByGruppi(IList<int> idGruppi, TipoAssemblea tipo, DateTime data) { try { //var esercizio = _daoFactory.GetEsercizioDao().Find(idEsercizio, false); //var hql = "FROM SoggettoCondominio SOGG WHERE (SOGG.ModalitaConvocazione!=:nonConvocare or SOGG.ModalitaConvocazione is null) AND SOGG.UnitaImmobiliare.GruppoStabileRiferimento.ID IN (:idGruppi) AND (SOGG.DataFine is null OR SOGG.DataFine >= :data) AND (SOGG.DataInizio is null OR SOGG.DataInizio < :data) "; var hql = "FROM SoggettoCondominio SOGG WHERE (SOGG.PercentualeRiferimento>=0) AND SOGG.UnitaImmobiliare.GruppoStabileRiferimento.ID IN (:idGruppi) AND (SOGG.DataFine is null OR SOGG.DataFine >= :data) AND (SOGG.DataInizio is null OR SOGG.DataInizio < :data) "; var parameters = new List<QueryParam>(2) { //new QueryParam("data", esercizio.DataChiusura.GetValueOrDefault()), new QueryParam("data", data), new QueryParam("idGruppi", idGruppi) //new QueryParam("nonConvocare", Conversione.ToHQLParameter(TipoModalitaConvocazione.NonConvocare)) }; switch(tipo) { case TipoAssemblea.Ordinaria: hql += " AND (SOGG.class = Proprietario OR SOGG.DirittoReale = :usufruttuario) "; parameters.Add(new QueryParam("usufruttuario", Conversione.ToHQLParameter(DirittoReale.Usufrutto))); break; case TipoAssemblea.Straordinaria: hql += " AND SOGG.class = Proprietario "; break; case TipoAssemblea.Riscaldamento: hql += " AND (SOGG.class = Conduttore) "; break; } return _daoFactory.GetSoggettoCondominioDao().GetByQuery(hql, parameters.ToArray()); //Esercizio oEsercizio = _daoFactory.GetEsercizioDao().Find(idEsercizio, false); //Conto oConto = ((List<Conto>)_daoFactory.GetContoDao().GetByCondominio(oEsercizio.CondominioRiferimento.ID)).Find(conto => conto.IsMillesimiProprieta); //return _daoFactory.GetSoggettoCondominioDao().GetByQuery(hql, parameters.ToArray()).Select(convocato => convertToDto(convocato, oConto, 0)).ToList(); //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 soggetti=_daoFactory.GetSoggettoCondominioDao().GetByQuery(hql, parameters.ToArray()); //var oPersone = new Dictionary<Persona,SoggettoCondominio>(); //foreach (var soggetto in soggetti) //{ // if (!oPersone.ContainsKey(soggetto.Persona)) oPersone.Add(soggetto.Persona, soggetto); //} //return oPersone.Values.ToList(); } catch (Exception ex) { _log.ErrorFormat("Errore nel recuperare i convocati per assemblea - {0} - tipo:{1} - data:{2}", ex, Utility.GetMethodDescription(), tipo, data); throw; } }
public IList<OrdineGiornoAssembleaDTO> GetDefaultOrdineGiornoAssemblea(TipoAssemblea tipo, CondominioDTO condominio) { var ordineGiorno = new List<OrdineGiornoAssembleaDTO>(); var iProg = 1; foreach (var ordinegiornodefault in _daoFactory.GetOrdineGiornoAssembleaDefaultDao().GetByTipoAssemblea(condominio.ID, tipo)) { var oOrdineGiorno = new OrdineGiornoAssembleaDTO { Stato = "I", Progressivo = iProg, IdTipoOrdineDelGiorno = ordinegiornodefault.TipoOrdineDelGiorno.ID, Descrizione = ordinegiornodefault.Descrizione }; if (ordinegiornodefault.ContoMillesimiRiferimento == null) { try { oOrdineGiorno.IdContoMillesimiRiferimento = ((List<Conto>)_daoFactory.GetContoDao().GetByCondominio(condominio.ID)).Find(conto => conto.IsMillesimiProprieta).ID; } catch (Exception ex) { _log.ErrorFormat("Errore nella lettura del conto millesimi di riferimento - {0} - tipo:{1} - condominio:{2}", ex, Utility.GetMethodDescription(), tipo, condominio.ID); throw; } } else { oOrdineGiorno.IdContoMillesimiRiferimento = ordinegiornodefault.ContoMillesimiRiferimento.ID; } ordineGiorno.Add(oOrdineGiorno); iProg += 1; } return ordineGiorno; //List<OrdineGiornoAssembleaDTO> ordineGiorno = new List<OrdineGiornoAssembleaDTO>(); //if (tipo == TipoAssemblea.Ordinaria) //{ // int iProg = 1; // foreach (var tipoOrdineGiorno in _daoFactory.GetTipoOrdineDelGiornoDao().GetTipiOrdineDelGiornoPerAssembleaOrdinaria()) // { // OrdineGiornoAssembleaDTO oOrdineGiorno = new OrdineGiornoAssembleaDTO(); // oOrdineGiorno.Stato = "I"; // oOrdineGiorno.Progressivo = iProg; // oOrdineGiorno.IdTipoOrdineDelGiorno = tipoOrdineGiorno.ID; // oOrdineGiorno.Descrizione = tipoOrdineGiorno.DescrizioneAssemblea; // try // { // //oOrdineGiorno.IdContoMillesimiRiferimento = ((List<ContoDTO>)_daoFactory.GetContoDao().GetContiEconomiciByCondominio(condominio.ID)).Find(conto => conto.IsMillesimiProprieta).ID; // //nel client viene usata la GetProprietaByEsercizio...qua non trovo cosa usare ma dovendo trovare un conto certo tra tutti... // oOrdineGiorno.IdContoMillesimiRiferimento = ((List<Conto>)_daoFactory.GetContoDao().GetByCondominio(condominio.ID)).Find(conto => conto.IsMillesimiProprieta).ID; // } // catch (Exception) // { // //nulla... // } // ordineGiorno.Add(oOrdineGiorno); // iProg += 1; // } //} //return ordineGiorno; }
public string ConfermaDefaultOrdineGiornoAssemblea(TipoAssemblea tipo, CondominioDTO condominio,IList<OrdineGiornoAssembleaDTO> ordineGiorno) { try { string message = string.Empty; _daoFactory.GetOrdineGiornoAssembleaDefaultDao().DeleteByTipoAssemblea(condominio.ID, tipo); foreach (var voceordinegiorno in ordineGiorno) { var voceOrdineGiornoDefault = new OrdineGiornoAssembleaDefault {Descrizione = voceordinegiorno.Descrizione, Progressivo = voceordinegiorno.Progressivo, Tipo = tipo, CondominioRiferimento = _daoFactory.GetCondominioDao().Find(condominio.ID, false)}; if (voceordinegiorno.IdContoMillesimiRiferimento!=null) voceOrdineGiornoDefault.ContoMillesimiRiferimento =_daoFactory.GetContoDao().Find(voceordinegiorno.IdContoMillesimiRiferimento.Value,false); if (voceordinegiorno.IdTipoOrdineDelGiorno!=null) voceOrdineGiornoDefault.TipoOrdineDelGiorno = _daoFactory.GetTipoOrdineDelGiornoDao().Find(voceordinegiorno.IdTipoOrdineDelGiorno.Value,false); _daoFactory.GetOrdineGiornoAssembleaDefaultDao().SaveOrUpdate(voceOrdineGiornoDefault); } return message; } catch (Exception ex) { _log.ErrorFormat("Errore nella conferma dell'ordine del giorno di default per assemblea - {0} - condominio :{1}", ex, Utility.GetMethodDescription(), tipo, condominio); throw; } }
public string AccodaADefaultOrdineGiornoAssemblea(TipoAssemblea tipo, CondominioDTO condominio, OrdineGiornoAssembleaDTO voceOrdineGiorno) { try { string message = string.Empty; var ultimoProgressivo = GetDefaultOrdineGiornoAssemblea(tipo, condominio).Max(voce=>voce.Progressivo); ultimoProgressivo += 1; var voceOrdineGiornoDefault = new OrdineGiornoAssembleaDefault {Descrizione = voceOrdineGiorno.Descrizione, Progressivo = ultimoProgressivo, Tipo = tipo, CondominioRiferimento = _daoFactory.GetCondominioDao().Find(condominio.ID, false) }; if (voceOrdineGiorno.IdContoMillesimiRiferimento != null) voceOrdineGiornoDefault.ContoMillesimiRiferimento = _daoFactory.GetContoDao().Find(voceOrdineGiorno.IdContoMillesimiRiferimento.Value, false); if (voceOrdineGiorno.IdTipoOrdineDelGiorno != null) voceOrdineGiornoDefault.TipoOrdineDelGiorno = _daoFactory.GetTipoOrdineDelGiornoDao().Find(voceOrdineGiorno.IdTipoOrdineDelGiorno.Value, false); _daoFactory.GetOrdineGiornoAssembleaDefaultDao().SaveOrUpdate(voceOrdineGiornoDefault); return message; } catch (Exception ex) { _log.ErrorFormat("Errore nell'accodamento della voce all'ordine del giorno di default per assemblea - {0} - condominio :{1} ordine del giorno: {2}", ex, Utility.GetMethodDescription(), tipo, condominio, voceOrdineGiorno); throw; } }
/// <summary> /// Crea un Conto valido /// </summary> public Assemblea(Esercizio esercizio, TipoAssemblea tipo) { Esercizio = esercizio; Tipo = tipo; }
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; } }
public IList<OrdineGiornoAssembleaDTO> GetDefaultOrdineGiornoAssemblea(TipoAssemblea tipo, CondominioDTO condominio, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var assembleaService = windsorRep.GetContainer(userinfo.Azienda).Resolve<IAssembleaService>(); var item = assembleaService.GetDefaultOrdineGiornoAssemblea(tipo,condominio); windsorRep.Commit(); return item; } catch (Exception ex) { _log.ErrorFormat("Errore nel caricamento dell'ordine del giorno predefinito - {0} - tipo:{1} - condominio:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), tipo, condominio, userinfo.Azienda); windsorRep.Rollback(); throw; } }