예제 #1
0
        public new static bool Delete
        (
            SYS_ModuloSiteMap entity
            , CoreLibrary.Data.Common.TalkDBTransaction banco
        )
        {
            try
            {
                SYS_ModuloSiteMapDAO moduloSiteMapDAO = new SYS_ModuloSiteMapDAO {
                    _Banco = banco
                };
                moduloSiteMapDAO.Delete(entity);

                return(true);
            }
            catch
            {
                throw;
            }
        }
예제 #2
0
        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();
                }
            }
        }