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