public new static bool Delete ( END_Cidade entity ) { END_CidadeDAO dal = new END_CidadeDAO(); dal._Banco.Open(IsolationLevel.ReadCommitted); try { //Verifica se a cidade pode ser deletada if (dal.Select_Integridade(entity.cid_id) > 0) { throw new Exception("Não é possível excluir a cidade pois possui outros registros ligados a ela."); } //Decrementa um na integridade do pais END_PaisDAO paiDAL = new END_PaisDAO { _Banco = dal._Banco }; paiDAL.Update_DecrementaIntegridade(entity.pai_id); //Decrementa um na integridade do estado (se existir) if (entity.unf_id != Guid.Empty) { END_UnidadeFederativaDAO unfDAL = new END_UnidadeFederativaDAO { _Banco = dal._Banco }; unfDAL.Update_DecrementaIntegridade(entity.unf_id); } //Deleta logicamente a cidade dal.Delete(entity); return(true); } catch (Exception err) { dal._Banco.Close(err); throw; } finally { dal._Banco.Close(); } }
public static bool Save ( END_UnidadeFederativa entity , Guid pai_idAntigo , CoreLibrary.Data.Common.TalkDBTransaction banco ) { END_UnidadeFederativaDAO dal = new END_UnidadeFederativaDAO(); if (banco == null) { dal._Banco.Open(IsolationLevel.ReadCommitted); } else { dal._Banco = banco; } try { if (entity.Validate()) { if (VerificaUnidadeFederativaExistentePais(entity)) { throw new DuplicateNameException("Já existe uma unidade federativa cadastrada com este nome nesse país."); } if (entity.IsNew) { //Incrementa um na integridade do pais END_PaisDAO paiDAL = new END_PaisDAO { _Banco = dal._Banco }; paiDAL.Update_IncrementaIntegridade(entity.pai_id); } else { if (pai_idAntigo != entity.pai_id) { END_PaisDAO paiDAL = new END_PaisDAO { _Banco = dal._Banco }; //Decrementa um na integridade do pais anterior paiDAL.Update_DecrementaIntegridade(pai_idAntigo); //Incrementa um na integridade do pais atual paiDAL.Update_IncrementaIntegridade(entity.pai_id); } } dal.Salvar(entity); } else { throw new CoreLibrary.Validation.Exceptions.ValidationException(entity.PropertiesErrorList[0].Message); } return(true); } catch (Exception err) { if (banco == null) { dal._Banco.Close(err); } throw; } finally { if (banco == null) { dal._Banco.Close(); } } }
public static bool Save ( END_Cidade entity , Guid pai_idAntigo , Guid unf_idAntigo , CoreLibrary.Data.Common.TalkDBTransaction banco ) { END_CidadeDAO dal = new END_CidadeDAO(); if (banco == null) { dal._Banco.Open(IsolationLevel.ReadCommitted); } else { dal._Banco = banco; } try { if (entity.Validate()) { if (new Guid(SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.PAIS_PADRAO_BRASIL)) == entity.pai_id) { if (entity.unf_id == Guid.Empty) { throw new ArgumentException("Estado é obrigatório para este país."); } if (VerificaCidadeExistentePaisEstado(entity)) { throw new DuplicateNameException("Já existe uma cidade cadastrada com este nome nesse país e estado."); } } else { if (VerificaCidadeExistentePais(entity)) { throw new DuplicateNameException("Já existe uma cidade cadastrada com este nome nesse país."); } } if (entity.IsNew) { //Incrementa um na integridade do pais END_PaisDAO paiDAL = new END_PaisDAO { _Banco = dal._Banco }; paiDAL.Update_IncrementaIntegridade(entity.pai_id); //Incrementa um na integridade do estado (se existir) if (entity.unf_id != Guid.Empty) { END_UnidadeFederativaDAO unfDAL = new END_UnidadeFederativaDAO { _Banco = dal._Banco }; unfDAL.Update_IncrementaIntegridade(entity.unf_id); } } else { if (pai_idAntigo != entity.pai_id) { END_PaisDAO paiDAL = new END_PaisDAO { _Banco = dal._Banco }; //Decrementa um na integridade do pais anterior paiDAL.Update_DecrementaIntegridade(pai_idAntigo); //Incrementa um na integridade do pais atual paiDAL.Update_IncrementaIntegridade(entity.pai_id); } if (unf_idAntigo != entity.unf_id) { END_UnidadeFederativaDAO unfDAL = new END_UnidadeFederativaDAO { _Banco = dal._Banco }; //Decrementa um na integridade do estado anterior (se existia) if (unf_idAntigo != Guid.Empty) { unfDAL.Update_DecrementaIntegridade(unf_idAntigo); } //Incrementa um na integridade do estado atual (se existir) if (entity.unf_id != Guid.Empty) { unfDAL.Update_IncrementaIntegridade(entity.unf_id); } } } dal.Salvar(entity); } else { throw new CoreLibrary.Validation.Exceptions.ValidationException(entity.PropertiesErrorList[0].Message); } return(true); } catch (Exception err) { if (banco == null) { dal._Banco.Close(err); } throw; } finally { if (banco == null) { dal._Banco.Close(); } } }