예제 #1
0
        public Boolean Gravar(DTOCidade dtoCidadeQueVaiSerPersistido)
        {
            if (dtoCidadeQueVaiSerPersistido == null)
               return false;

               Estado estado = this._repositorioEstado.Obter(dtoCidadeQueVaiSerPersistido.Estado.ID);

               Cidade cidadeQueVaiSerPersistida;
               Cidade cidadeEncontradaNoBD = this._repositorio.ObterCidadePorNomeEEstado(new CidadePorNomeEEstado(dtoCidadeQueVaiSerPersistido.Nome, estado));
               ValidadorCidade validador = new ValidadorCidade(cidadeEncontradaNoBD);

               if (dtoCidadeQueVaiSerPersistido.IsNovo())
               {
               cidadeQueVaiSerPersistida = new Cidade(estado, dtoCidadeQueVaiSerPersistido.Nome);
               validador.ValidarNovaCidade(cidadeQueVaiSerPersistida);
               }
               else
               {
               cidadeQueVaiSerPersistida = this._repositorio.Obter(dtoCidadeQueVaiSerPersistido.ID);
               cidadeQueVaiSerPersistida.Nome = dtoCidadeQueVaiSerPersistido.Nome;
               cidadeQueVaiSerPersistida.Estado = this._repositorioEstado.Obter(dtoCidadeQueVaiSerPersistido.Estado.ID);
               validador.ValidarCidadeEmAlteracao(cidadeQueVaiSerPersistida);
               }

               this._repositorio.Salvar(cidadeQueVaiSerPersistida);
               dtoCidadeQueVaiSerPersistido.ID = cidadeQueVaiSerPersistida.Id;
               return true;
        }
 public void Nao_Posso_Validar_Uma_Cidade_Em_Alteracao_Com_Mesmo_Nome_E_Mesma_UF_De_Outra_Cidade_Ja_Existente()
 {
     Cidade cidadeEmAlteracao = CidadeStub.GetInstance(1, "SANTO ANTÔNIO DA PLATINA", this._parana);
     ValidadorCidade validador = new ValidadorCidade(this._cidadeEncontradaNoBancoDeDados);
     validador.ValidarCidadeEmAlteracao(cidadeEmAlteracao);
 }