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

            if ((op == Operacao.Incluir && _ix_uf_sigla != null) || (op == Operacao.Alterar && _ix_uf_sigla != null && _ix_uf_sigla.IdUf != uf.IdUf))
            {
                throw new ExceptionRS("Violação do índice: IX_UF_SIGLA");
            }

            ufDAO.BeginTransaction();
            try
            {
                if (op == Regisoft.Operacao.Alterar)
                {
                    uf = ufDAO.CopiarParaPersistente(uf.IdUf.Value, uf);
                }
                uf = ufDAO.InserirAlterar(uf, op);
                ufDAO.CommitTransaction();
            }
            catch
            {
                ufDAO.RollbackTransaction();
                throw;
            }
            return(uf);
        }
        /// <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);
        }