public ConfiguracaoServidorEmailDTO GetConfiguracaoServidorEmail() { try { ConfiguracaoServidorEmail configuracaoServidorEmail; var lista = _configuracaoServidorEmailRepository.GetAll().ToList(); if (lista.Count == 0) { configuracaoServidorEmail = ConfiguracaoServidorEmailFactory.CreateConfiguracaoServidorEmail(false, null, null, null, null, false, null); SalvarConfiguracaoServidorEmail(configuracaoServidorEmail); } else if (lista.Count == 1) { configuracaoServidorEmail = lista.Single(); } else { throw new Exception("Existe mais de uma ConfiguracaoServidorEmail quando deveria existir só uma."); } var adapter = TypeAdapterFactory.CreateAdapter(); return(adapter.Adapt <ConfiguracaoServidorEmail, ConfiguracaoServidorEmailDTO>(configuracaoServidorEmail)); } catch (Exception ex) { throw ManipuladorDeExcecao.TrateExcecao(ex); } }
public void UpdateConfiguracaoServidorEmail(ConfiguracaoServidorEmailDTO configuracaoServidorEmailDTO) { try { if (configuracaoServidorEmailDTO == null) { throw new ArgumentNullException("configuracaoServidorEmailDTO."); } ConfiguracaoServidorEmail persistido; var lista = _configuracaoServidorEmailRepository.GetAll().ToList(); if (lista.Count == 0) { GetConfiguracaoServidorEmail(); persistido = _configuracaoServidorEmailRepository.GetAll().Single(); } else if (lista.Count == 1) { persistido = lista.Single(); } else { throw new Exception("Existe mais de uma ConfiguracaoServidorEmail quando deveria existir só uma."); } string senha = persistido.Senha; if (!string.IsNullOrWhiteSpace(configuracaoServidorEmailDTO.Senha)) { senha = configuracaoServidorEmailDTO.Senha; } var corrente = ConfiguracaoServidorEmailFactory.CreateConfiguracaoServidorEmail( configuracaoServidorEmailDTO.UtilizarEnvioDeEmail, configuracaoServidorEmailDTO.Conta, senha, configuracaoServidorEmailDTO.Smtp, configuracaoServidorEmailDTO.Porta, configuracaoServidorEmailDTO.Ssl, configuracaoServidorEmailDTO.PastaRaiz); corrente.Id = persistido.Id; AlterarConfiguracaoServidorEmail(persistido, corrente); } catch (Exception ex) { throw ManipuladorDeExcecao.TrateExcecao(ex); } }