private bool update(ModelloLetteraTestoDTO dto, out ModelloLetteraTesto item) { bool result = false; item = null; var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { item = daoFactory.GetModelloLetteraTestoDao().Find(dto.ID, false); if (!string.IsNullOrEmpty(dto.Oggetto) && !string.IsNullOrEmpty(dto.Descrizione)) { if (item != null) { // Condizione necessaria per il controllo del fatto che sul DB ho una versione uguale o più vecchia if (dto.Version == item.Version) { item.Descrizione = dto.Descrizione.Truncate(50); item.Importanza = dto.Importanza; item.Oggetto = dto.Oggetto.Truncate(200); item.Testo = dto.TestoHtml; item.Storico = dto.Storico; item.Applicazione = !string.IsNullOrEmpty(dto.Applicazione) ? daoFactory.GetFunzioneApplicazioneDao().Find(dto.Applicazione, false) : null; var tipo = (TipoModelloLetteraTestoEnum)Enum.Parse(typeof(TipoModelloLetteraTestoEnum), dto.Tipo); item.Tipo = tipo; result = true; } else { _log.ErrorFormat("Errore nel salvataggio dei modelli di lettera di sollecito: id:{0} - il dato sul db è più recente di quello che si vuole salvare", dto.ID); } } } } catch (Exception ex) { _log.ErrorFormat("Errore nel salvataggio dei modelli di lettera di sollecito - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), dto.ID); throw; } return result; }
private bool insert(ModelloLetteraTestoDTO dto, out ModelloLetteraTesto item) { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); try { item = null; if (!string.IsNullOrEmpty(dto.Oggetto) && !string.IsNullOrEmpty(dto.Descrizione)) { Azienda azienda = null; if (dto.IdAzienda > 0) azienda = daoFactory.GetAziendaDao().Find(dto.IdAzienda.GetValueOrDefault(), false); var tipo = (TipoModelloLetteraTestoEnum)Enum.Parse(typeof(TipoModelloLetteraTestoEnum), dto.Tipo); item = new ModelloLetteraTesto(dto.Descrizione.Truncate(50), dto.Importanza, tipo, azienda) { Oggetto = dto.Oggetto.Truncate(200), Testo = dto.TestoHtml, Storico = dto.Storico }; if (!string.IsNullOrEmpty(dto.Applicazione)) item.Applicazione = daoFactory.GetFunzioneApplicazioneDao().Find(dto.Applicazione, false); daoFactory.GetModelloLetteraTestoDao().SaveOrUpdate(item); } } catch (Exception ex) { _log.ErrorFormat("Errore nell'inserimento di un modello di lettera di sollecito - {0} - descrizione:{1}", ex, Library.Utility.GetMethodDescription(), dto.Descrizione); throw; } return true; }
private ModelloLetteraTestoDTO setDto(ModelloLetteraTesto item) { var dto = new ModelloLetteraTestoDTO { Descrizione = item.Descrizione, ID = item.ID, Importanza = item.Importanza, Oggetto = item.Oggetto, TestoHtml = item.Testo, Storico = item.Storico, Tipo = item.Tipo.ToString(), Version = item.Version, IsDeleteAllow = false, IsUpdateAllow = false, Testo = Library.Utility.IsHtml(item.Testo) ? Library.Conversione.HtmlToString(item.Testo) : item.Testo }; if (item.Applicazione != null) dto.Applicazione = item.Applicazione.Codice; if (item.Azienda != null) { dto.IdAzienda = item.Azienda.ID; dto.IsDeleteAllow = true; dto.IsUpdateAllow = true; } return dto; }