/// <summary>
        /// Insere ou altera um objeto no banco de dados.
        /// </summary>
        /// <param name="cidade">O(A) cidade.</param>
        /// <param name="op">A operação.</param>
        /// <returns>O objeto após a persistência.</returns>
        public MyMediatRExample.OR.Cidade InserirAlterar(MyMediatRExample.OR.Cidade cidade, Regisoft.Operacao op)
        {
            cidadeDAO.ValidaNotNull(cidade);
            Cidade _ix_cidade_uf_descricao = cidadeDAO.SelecionarPor(new string[] { "IdUf", "Descricao" }, new object[] { cidade.IdUf, cidade.Descricao });

            if ((op == Operacao.Incluir && _ix_cidade_uf_descricao != null) || (op == Operacao.Alterar && _ix_cidade_uf_descricao != null && _ix_cidade_uf_descricao.IdCidade != cidade.IdCidade))
            {
                throw new ExceptionRS("Violação do índice: IX_CIDADE_UF_DESCRICAO");
            }

            cidadeDAO.BeginTransaction();
            try
            {
                if (op == Regisoft.Operacao.Alterar)
                {
                    cidade = cidadeDAO.CopiarParaPersistente(cidade.IdCidade.Value, cidade);
                }
                cidade = cidadeDAO.InserirAlterar(cidade, op);
                cidadeDAO.CommitTransaction();
            }
            catch
            {
                cidadeDAO.RollbackTransaction();
                throw;
            }
            return(cidade);
        }
 /// <summary>
 /// Exclui o objeto do banco de dados.
 /// </summary>
 /// <param name="cidade">O(A) cidade.</param>
 public void Excluir(MyMediatRExample.OR.Cidade cidade)
 {
     cidadeDAO.BeginTransaction();
     try
     {
         cidadeDAO.Excluir(cidade);
         cidadeDAO.CommitTransaction();
     }
     catch
     {
         cidadeDAO.RollbackTransaction();
         throw new ExceptionRS("Impossivel excluir. Registro em uso.");
     }
 }