public bool Salvar(TipoDocumentoDTO dto) { if (!EhPermitidoSalvar()) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(false); } if (dto == null) { throw new ArgumentNullException("dto"); } bool novoItem = false; var tipoDocumento = tipoDocumentoRepository.ObterPeloId(dto.Id); if (tipoDocumento == null) { tipoDocumento = new TipoDocumento(); novoItem = true; } tipoDocumento.Sigla = dto.Sigla; tipoDocumento.Descricao = dto.Descricao; if (Validator.IsValid(tipoDocumento, out validationErrors)) { if (novoItem) { tipoDocumentoRepository.Inserir(tipoDocumento); } else { tipoDocumentoRepository.Alterar(tipoDocumento); } tipoDocumentoRepository.UnitOfWork.Commit(); messageQueue.Add(Resource.Sigim.SuccessMessages.SalvoComSucesso, TypeMessage.Success); return(true); } else { messageQueue.AddRange(validationErrors, TypeMessage.Error); } return(false); }