示例#1
0
        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;
        }
示例#2
0
        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;
        }
示例#3
0
        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;
        }
示例#4
0
		public IList<OrdineGiornoAssembleaDTO> GetOrdineGiornoByAssemblea(int idAssemblea, UserInfo userinfo)
		{
			var windsorRep = new WindsorConfigRepository();
			try
			{
				windsorRep.BeginTransaction(userinfo);
                var rep = new AssembleaOrdineGiornoRepository(userinfo, windsorRep);
                var item = rep.GetByAssemblea(idAssemblea);
				windsorRep.Commit();
				return item;
			}
			catch (Exception ex)
			{
                _log.ErrorFormat("Errore nel caricamento dell'ordine del giorno della assemblea - {0} - idAssemblea:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), idAssemblea, userinfo.Azienda);
				windsorRep.Rollback();
				throw;
			}
		}