コード例 #1
0
        /// <summary>
        /// Crea uno Stabile valido
        /// </summary>
        public ConvocazioneAssemblea(Assemblea assemblea, SoggettoCondominio convocato)
        {
            Assemblea = assemblea;
            Convocato = convocato;

            if (Assemblea != null)
                Assemblea.Convocati.Add(this);
        }
コード例 #2
0
        /// <summary>
        /// Crea un punto di Ordine del Giorno valido
        /// </summary>
        public OrdineGiornoAssemblea(Assemblea assemblea, string descrizione, int progressivo)
        {
            Assemblea = assemblea;
            Descrizione = descrizione;
            //MillesimiRiferimento = millesimiRiferimento;
            Progressivo = progressivo;

            if (Assemblea != null)
                Assemblea.PuntoOrdineGiorno.Add(this);
        }
コード例 #3
0
ファイル: AssembleaRepository.cs プロジェクト: gipasoft/Sfera
 public AssembleaDTO GetByDomainEntity(Assemblea item)
 {
     try
     {
         return setDto(item);
     }
     catch (Exception ex)
     {
         _log.ErrorFormat("Errore nel caricamento delle assemblee - {0} - id:{1}", ex, Utility.GetMethodDescription(), item != null ? item.ID.ToString() : "<NULL>");
         throw;
     }
 }
コード例 #4
0
ファイル: AssembleaRepository.cs プロジェクト: gipasoft/Sfera
        private bool insert(AssembleaDTO dto, out Assemblea item)
        {
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {
                var esercizio = daoFactory.GetEsercizioDao().GetById(dto.IdEsercizio, false);

                item = new Assemblea(esercizio, dto.Tipo)
                {
                    DataPrimaConvocazione = dto.DataPrimaConvocazione,
                    DataSecondaConvocazione = dto.DataSecondaConvocazione,
                    Descrizione = dto.Descrizione,
                    Esercizio = daoFactory.GetEsercizioDao().GetById(dto.IdEsercizio, false),
                    LuogoPrimaConvocazione = dto.LuogoPrimaConvocazione,
                    LuogoSecondaConvocazione = dto.LuogoSecondaConvocazione,
                    NoteConvocazione = dto.NoteConvocazione,
                    NoteInterne = dto.NoteInterne,
                    LetteraConvocazione=dto.LetteraConvocazione,
                    VerbalePrimaConvocazione = dto.VerbalePrimaConvocazione,
                    VerbaleSecondaConvocazione = dto.VerbaleSecondaConvocazione,
                    OffLine = dto.OffLine,
                    OffLinePassword = dto.OffLinePassword 
                };

                // --------------------------------------------------------
                //  Ordine del Giorno
                // --------------------------------------------------------
                var rep = new AssembleaOrdineGiornoRepository(_info, _windsorRepository);
                item.PuntoOrdineGiorno.Clear();
                foreach (var puntoOrdineDto in dto.OrdineGiorno)
                {
                    puntoOrdineDto.IdAssemblea = item.ID;
                    int? idOrdineGiorno = puntoOrdineDto.ID;
                    if ((puntoOrdineDto.Stato == "U") || (puntoOrdineDto.Stato == "I"))
                        idOrdineGiorno = rep.ManageDomainEntity(puntoOrdineDto);

                    var ordineGiorno = daoFactory.GetOrdineGiornoAssembleaDao().GetById(idOrdineGiorno.GetValueOrDefault(), false);
                    item.PuntoOrdineGiorno.Add(ordineGiorno);
                    ordineGiorno.Assemblea = item;
                }

                daoFactory.GetAssembleaDao().SaveOrUpdate(item);
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nell'inserimento della assemblea - {0} - id:{1}", ex, Utility.GetMethodDescription(), dto.ID);
                throw;
            }
            return true;
        }
コード例 #5
0
ファイル: AssembleaRepository.cs プロジェクト: gipasoft/Sfera
        private bool update(AssembleaDTO dto, out Assemblea item)
        {
            bool result;
            item = null;
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {
                item = daoFactory.GetAssembleaDao().GetById(dto.ID, false);

                // Condizione necessare per il controllo del fatto che sul DB ho una versione uguale o più vecchia
                if (dto.Version == item.Version)
                {
                    item.Tipo = dto.Tipo;
                    item.DataPrimaConvocazione = dto.DataPrimaConvocazione;
                    item.DataSecondaConvocazione = dto.DataSecondaConvocazione;
                    item.Descrizione = dto.Descrizione;
                    item.Esercizio = daoFactory.GetEsercizioDao().GetById(dto.IdEsercizio, false);
                    item.LuogoPrimaConvocazione = dto.LuogoPrimaConvocazione;
                    item.LuogoSecondaConvocazione = dto.LuogoSecondaConvocazione;
                    item.NoteConvocazione = dto.NoteConvocazione;
                    item.NoteInterne = dto.NoteInterne;
                    item.LetteraConvocazione = dto.LetteraConvocazione;
                    item.VerbalePrimaConvocazione = dto.VerbalePrimaConvocazione;
                    item.VerbaleSecondaConvocazione = dto.VerbaleSecondaConvocazione;
                    item.OffLine = dto.OffLine;
                    item.OffLinePassword = dto.OffLinePassword;
                    // --------------------------------------------------------
                    //  Ordine del Giorno
                    // --------------------------------------------------------
                    var rep = new AssembleaOrdineGiornoRepository(_info, _windsorRepository);
                    item.PuntoOrdineGiorno.Clear();
                    foreach (var puntoOrdineDto in dto.OrdineGiorno)
                    {
                        puntoOrdineDto.IdAssemblea = item.ID;
                        int? idOrdineGiorno = puntoOrdineDto.ID;
                        if ((puntoOrdineDto.Stato == "U") || (puntoOrdineDto.Stato == "I"))
                            idOrdineGiorno = rep.ManageDomainEntity(puntoOrdineDto);

                        var ordineGiorno = daoFactory.GetOrdineGiornoAssembleaDao().GetById(idOrdineGiorno.GetValueOrDefault(), false);
                        item.PuntoOrdineGiorno.Add(ordineGiorno);
                        ordineGiorno.Assemblea = item;
                    }
 
                    result = true;
                }
                else
                {
                    // Eccezione: Sul db c'è qualche cosa di più nuovo.

                    _log.ErrorFormat("Errore nel salvataggio della assemblea - DATO PIU' RECENTE - {0} - id:{1}", Utility.GetMethodDescription(), dto.ID);
                    _log.Error("Errore nel salvataggio della assemblea: id:" + dto.ID + " - il dato sul db è più recente di quello che si vuole salvare");
                    result = false;
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel salvataggio della assemblea - {0} - id:{1}", ex, Utility.GetMethodDescription(), dto.ID);
                throw;
            }

            return result;
        }
コード例 #6
0
ファイル: AssembleaRepository.cs プロジェクト: gipasoft/Sfera
        private AssembleaDTO setDto(Assemblea item)
        {
            var dto = new AssembleaDTO
            {
                ID = item.ID,
                DataPrimaConvocazione = item.DataPrimaConvocazione,
                DataSecondaConvocazione = item.DataSecondaConvocazione,
                Descrizione = item.Descrizione,
                LuogoPrimaConvocazione = item.LuogoPrimaConvocazione,
                LuogoSecondaConvocazione = item.LuogoSecondaConvocazione,
                NoteConvocazione = item.NoteConvocazione,
                NoteInterne = item.NoteInterne,
                Tipo = item.Tipo,
                IdEsercizio = item.Esercizio.ID,
                DescrizioneEsercizio = item.Esercizio.DisplayName,
                LetteraConvocazione=item.LetteraConvocazione,
                VerbalePrimaConvocazione = item.VerbalePrimaConvocazione,
                VerbaleSecondaConvocazione = item.VerbaleSecondaConvocazione,
                OffLine=item.OffLine,
                OffLinePassword=item.OffLinePassword,
                Version = item.Version
            };

            if (!string.IsNullOrEmpty(item.Descrizione))
                dto.DisplayName = item.Descrizione + " - ";
            dto.DisplayName += item.Esercizio.DisplayName;

            //--------------------------------------------------------
            // Ordine Giorno
            //--------------------------------------------------------
            var rep = new AssembleaOrdineGiornoRepository(_info, _windsorRepository);
            var ordineGiorno = new List<OrdineGiornoAssembleaDTO>(item.PuntoOrdineGiorno.Count);
            ordineGiorno.AddRange(item.PuntoOrdineGiorno.Select(rep.GetByDomainEntity));

            dto.OrdineGiorno = ordineGiorno;

            return dto;
        }
コード例 #7
0
ファイル: Assemblea.cs プロジェクト: gipasoft/Sfera
        public virtual IUpdatableBusinessEntity Copy()
        {
            Assemblea assemblea = new Assemblea(Esercizio, Tipo);

            return assemblea;
        }